From 39fc764344b07546576f2522c74b15eeba176378 Mon Sep 17 00:00:00 2001 From: TrudeEH Date: Tue, 22 Apr 2025 13:48:43 +0100 Subject: [PATCH] Add tldr bash section and minor fixes --- content/.obsidian/workspace.json | 89 +++++++++++++++--------- content/Pasted image 20250422123058.png | Bin 0 -> 82730 bytes content/TODO.md | 24 ------- content/drafts/bash.md | 47 ++++++++++--- content/drafts/gobject.md | 9 +++ content/drafts/hardware-tools.md | 19 ----- content/notes/compiling.md | 2 +- content/notes/index/index.md | 6 +- content/notes/linux/index.md | 59 ++++++++++++++-- 9 files changed, 158 insertions(+), 97 deletions(-) create mode 100644 content/Pasted image 20250422123058.png delete mode 100644 content/TODO.md create mode 100644 content/drafts/gobject.md delete mode 100644 content/drafts/hardware-tools.md diff --git a/content/.obsidian/workspace.json b/content/.obsidian/workspace.json index 6c55bf5..78926e3 100644 --- a/content/.obsidian/workspace.json +++ b/content/.obsidian/workspace.json @@ -4,12 +4,34 @@ "type": "split", "children": [ { - "id": "900961c3a85bfabb", + "id": "e8837102b8bf49ad", "type": "tabs", + "dimension": 48.44173441734417, "children": [ { "id": "fc8813233e11f75b", "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "drafts/bash.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "bash" + } + } + ] + }, + { + "id": "900961c3a85bfabb", + "type": "tabs", + "dimension": 51.55826558265583, + "children": [ + { + "id": "7f9bd58214dfcb4d", + "type": "leaf", "state": { "type": "markdown", "state": { @@ -22,20 +44,21 @@ } }, { - "id": "2c7f99d6e12af978", + "id": "b1ce9fc55dcb67b6", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "notes/compiling.md", + "file": "notes/linux/index.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "compiling" + "title": "index" } } - ] + ], + "currentTab": 1 } ], "direction": "vertical" @@ -108,7 +131,7 @@ "state": { "type": "backlink", "state": { - "file": "TODO.md", + "file": "notes/linux/index.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", @@ -118,7 +141,7 @@ "unlinkedCollapsed": true }, "icon": "links-coming-in", - "title": "Backlinks for TODO" + "title": "Backlinks for index" } }, { @@ -155,7 +178,7 @@ "state": { "type": "outline", "state": { - "file": "notes/index/index.md", + "file": "notes/linux/index.md", "followCursor": false, "showSearch": false, "searchQuery": "" @@ -170,8 +193,8 @@ "state": { "type": "advanced-tables-toolbar", "state": {}, - "icon": "spreadsheet", - "title": "Advanced Tables" + "icon": "lucide-file", + "title": "Plugin no longer active" } } ], @@ -193,15 +216,33 @@ "table-editor-obsidian:Advanced Tables Toolbar": false } }, - "active": "fc8813233e11f75b", + "active": "b1ce9fc55dcb67b6", "lastOpenFiles": [ - "notes/compiling.md", - "notes/index/index.md", + "Pasted image 20250422121610.png", "notes/linux/index.md", - "drafts/rust.md", - "notes/c-language.md", + "Pasted image 20250422122034.png", + "notes/index/index.md", + "Pasted image 20250422123058.png", + "Pasted image 20250422122140.png", "drafts/bash.md", + "notes/c-language.md", + "drafts/gobject.md", + "drafts/lua.md", + "notes/https-ssl-certs.md", + "notes/http.md", + "notes/html.md", + "notes/git.md", + "notes/gdb.md", + "notes/flask.md", + "notes/encryption.md", "notes/firewall.md", + "notes/compiling.md", + "notes/c-snippets.md", + "search.md", + "drafts/assembly.md", + "TODO.md", + "drafts/hardware-tools.md", + "drafts/rust.md", "notes/how_to_computer/index.md", "posts/linux-starter-guide/index.md", "drafts/linux/plasma6.jpg", @@ -210,30 +251,12 @@ "posts/linux-starter-guide/plasma6.jpg", "notes/linux/debian-software-selection.png", "notes/linux/Pasted image 20250409112858.png", - "notes/git.md", "posts/dotfiles.md", "drafts/linux-encrypt/index.md", - "notes/linux/image7.png", - "notes/linux/image6.png", - "notes/linux/image5.png", - "notes/linux/Pasted image 20250401143509.png", - "drafts/swift.md", - "drafts/nvim.md", - "drafts/macOS.md", - "drafts/lua.md", "drafts/linux-encrypt", "notes/linux", - "drafts/hardware-tools.md", - "drafts/assembly.md", "drafts", - "notes/drafts/bash.md", - "notes/drafts/linux/index.md", - "notes/drafts/rust.md", - "notes/drafts/swift.md", - "notes/drafts/linux-encrypt/index.md", - "notes/gdb.md", "debian-12.10.0-amd64-netinst.iso", - "notes/encryption.md", "notes/index", "notes/cs", "textgenerator/templates/awesomePrompts", diff --git a/content/Pasted image 20250422123058.png b/content/Pasted image 20250422123058.png new file mode 100644 index 0000000000000000000000000000000000000000..86fb3b5dcd3bf64e9952a2a9e3613347860b6577 GIT binary patch literal 82730 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 RuokpwZRv2K{JiJA{{wRnCf@)6 literal 0 HcmV?d00001 diff --git a/content/TODO.md b/content/TODO.md deleted file mode 100644 index 8901b8f..0000000 --- a/content/TODO.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -draft: true ---- - -## Notes - -### New Notes - -In draft folder? (checkbox) -- [x] Linux Architecture / Linux -- [x] Assembly -- [x] Rust -- [x] Swift -- [x] Lua -- [ ] JS -- [ ] CSS -- [x] macOS -- [ ] FreeBSD -- [x] Neovim, vim bindings, text editor -- [x] Hardware Debug/Repair Tools (maybe integrate JCionx page?) -- [ ] Android and custom ROMs -- [ ] netcat - -### Enhancements diff --git a/content/drafts/bash.md b/content/drafts/bash.md index 4f94520..22fe8b4 100644 --- a/content/drafts/bash.md +++ b/content/drafts/bash.md @@ -8,6 +8,34 @@ author: TrudeEH showToc: true --- +## Run a Bash Script + +Example `script.sh`: + +```bash +#! /bin/bash + +echo "Bash Script" +``` + +Execute the script: + +```bash +chmod u+x script.sh # Give the script execution permission (to its owner) +./script.sh # Run the script +``` + +## Documentation + +You will learn more about these commands later + +```bash +whatis command # Short description of the command +tldr command # Examples of how to use the command +man command # Full documentation for the command +man bash # Bash documentation; Includes most built-in commands +``` + ## Strings - `""` Defines a string which supports substitutions (`$` and `\`, for example). @@ -37,7 +65,7 @@ If the first word of a command is a reserved word, bash handles the command, oth |`if`|`then`|`elif`|`else`|`fi`|`time`| |`for`|`in`|`until`|`while`|`do`|`done`| |`case`|`esac`|`coproc`|`select`|`function`| -|`{`|`}`|`[[`|`]]`|`!`| +|`{`|`}`|`[`](`)`|`!`| ## List of Commands @@ -159,7 +187,7 @@ Enter a number: The arithmetic expression is evaluated according to the rules described below (see [Shell Arithmetic]() TODO link to shell arithmetic). -### `[[...]]` +### `[...](...)` Return a status of 0 or 1 depending on the evaluation of the conditional expression expression. Expressions are composed of the primaries described below in [Bash Conditional Expressions](https://www.gnu.org/software/bash/manual/bash.html#Bash-Conditional-Expressions). @@ -474,7 +502,7 @@ To learn more about some command, run `help command`. - `BASH_EXECUTION_STRING` Command argument passed via the `-c` invocation option. - `BASH_LINENO` Array of line numbers where functions in `FUNCNAME` were invoked. - `BASH_LOADABLES_PATH` Search path for dynamically loadable builtins (`enable -f`). -- `BASH_REMATCH` Array holding results from regex matching (`=~`) in `[[...]]`. +- `BASH_REMATCH` Array holding results from regex matching (`=~`) in `[...](...)`. - `BASH_SOURCE` Array of source filenames where functions in `FUNCNAME` are defined. - `BASH_SUBSHELL` Incremented for each subshell level; initial value is 0. - `BASH_VERSINFO` Readonly array detailing the Bash version components. @@ -610,7 +638,7 @@ esac ## Conditional Expressions -Conditional Expressions are used by the `[[]]`, `[]` and `test` commands. +Conditional Expressions are used by the `[bash](.md)`, `[]` and `test` commands. - `-a file` True if file exists. - `-b file` True if file exists and is a block special file. @@ -673,14 +701,15 @@ Arithmetic is performed using `(())`, `let` and `declare -i`. ## Arrays -### Indexed arrays +### Indexed Arrays ```bash -declare -a name -name[]=value +declare -a array1 + +array2=(1 2 "four" 8 16) # Multiple types are supported ``` -### Associative arrays +### Associative Arrays ```bash declare -A name @@ -688,4 +717,4 @@ name=(value1 value2 ...) ``` 6.7 Arrays -https://www.gnu.org/software/bash/manual/bash.html#Bash-Features \ No newline at end of file +https://www.gnu.org/software/bash/manual/bash.html#Bash-Features diff --git a/content/drafts/gobject.md b/content/drafts/gobject.md new file mode 100644 index 0000000..689c725 --- /dev/null +++ b/content/drafts/gobject.md @@ -0,0 +1,9 @@ +--- +title: Object-Oriented C [GObject] +description: +summary: +draft: true +tags: +author: TrudeEH +showToc: true +--- diff --git a/content/drafts/hardware-tools.md b/content/drafts/hardware-tools.md deleted file mode 100644 index 3453817..0000000 --- a/content/drafts/hardware-tools.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "hardware-tools" -description: -draft: true -tags: -author: TrudeEH -showToc: true ---- - - -Scrcpy - -scrcpy —otg - -scrcpy - -ADB - -adb kill-server diff --git a/content/notes/compiling.md b/content/notes/compiling.md index 85b0b35..1cd6235 100644 --- a/content/notes/compiling.md +++ b/content/notes/compiling.md @@ -1,5 +1,5 @@ --- -title: Compiling [MAKE / GCC] +title: C Compiling description: draft: false tags: diff --git a/content/notes/index/index.md b/content/notes/index/index.md index d147afd..62e3144 100644 --- a/content/notes/index/index.md +++ b/content/notes/index/index.md @@ -19,18 +19,14 @@ weight: "1" - GUI Apps - Object-Oriented C `GObject` - `Coming Soon!` - GUI Toolkit `GTK4` - `Coming Soon!` -- Shell Scripting `BASH` - `Coming Soon!` - Networking - [HTTP](../http/) `CURL` + - [HTML](../html/) - [Encryption](../encryption/) `GPG` `Cryptsetup` - [HTTPS and SSL Certificates](../https-ssl-certs/) `Certbot` - [SSH](../ssh/) - [Firewall](../firewall/) `UFW` - [Instant Messaging](../irc/) `IRC` -- Web Development - - [HTML](../html/) - - CSS - `Coming Soon!` - - JS - `Coming Soon!` - [Python](../python/) - [Flask](../flask/) - [Databases](../databases/) `SQL` diff --git a/content/notes/linux/index.md b/content/notes/linux/index.md index 7c3270b..d9cd6df 100644 --- a/content/notes/linux/index.md +++ b/content/notes/linux/index.md @@ -161,6 +161,8 @@ syscall This snippet implements a syscall that prints text to `stdout`, usually a terminal window. A C program generally uses libraries, which then implement system calls to perform actions. +> To monitor system calls, use the `strace` utility. + ### Processes A process is an instance of a running program: When a program is executed, the kernel assigns a **PID** (Process ID) to it, defines a **state** (wether it is running, stopped, etc), defines which process spawned the program, and assigns it **memory space** (or address space): Virtual memory, preventing the program from accessing the memory assigned to other processes. @@ -206,6 +208,51 @@ The GPU still has a device file, which is used by the Kernel's DRM and Mesa, but The kernel by itself isn't intractable, so a shell is needed for the user to be able to execute programs and run commands. Bash is not only a prompt, but also an interpreter for its own programming language, which can be used to write scripts and automate tasks. +### Commands + +Bash performs actions through commands. A shell command consists of the command itself, followed by its arguments. + +```bash +command "arg1" "arg2" +``` + +If the first word of a command is a reserved word, bash handles the command, otherwise, it searches for an executable on the system's `$PATH`, a list of directories where a binary could be located. + +### Bash Scripts + +Example `script.sh`: + +```bash +#! /bin/bash + +echo "Bash Script" +``` + +Execute the script: + +```bash +chmod u+x script.sh # Give the script execution permission (to its owner) +./script.sh # Run the script +``` + +### Learning + +There are some commands available to search for documentation: + +```bash +tldr command # Examples of how to use the command (external tool) +help command # Short documentation for the command +man command # Full documentation for the command +man bash # Bash documentation; Includes most built-in commands +``` + +> To get started, use `help` by itself, which provides a list of the built-in commands available in bash. + +For example, suppose you want to learn how to write an `if` statement in `bash`: + +![Pasted image 20250422123058](../../Pasted%20image%2020250422123058.png) +As suggested by `tldr`, to see all possible conditions, use the `man test` command. + ### Compiling Dependencies: @@ -239,8 +286,6 @@ sudo apt install ../bash*.deb Bash includes a set of *builtins*: Command-line utilities that come within bash itself. However, these are very limited, and to actually make the computer useful, more programs are needed. -> To learn more about a specific program, use: `man program_name`. - ### Coreutils *Coreutils* are a collection of small command-line utilities, which are essential for text, file and shell manipulation. @@ -684,6 +729,8 @@ Root directories might vary slightly between distributions (and other UNIX syste └── spool (Spool directories) ``` +> Run `man hier` for more details. + ## Package Manager (`apt`) Without a package manager, the only way to install new programs would be to manually compile them from source. Although it is possible to install software this way, having a central software repository facilitates installing new software, managing updates, and configuring each package for the distribution it is running on. @@ -831,11 +878,11 @@ man section utility # Read the manual page for utility in section. Both the following commands search for man pages containing `search_term` in their short description. ```bash -man -k search_term -apropos search_term +apropos search_term # Search for a manual page +apropos --and s1 s2 # Search using multiple search terms ``` -Use `man -k .` to list all known pages. +Use `apropos .` to list all known pages. ### TL;DR @@ -903,7 +950,7 @@ The default applications provided by the desktop can use one of two toolkits: GT #### Install a Desktop Environment -Debian's installer offers the possibility to install a desktop environment, which comes with a collection of programs and tooling selected by the Debian team. Although these are good options, the default selection is meant to be ready "out of the box", for any use-case. These *metapackages* include an office suite, games, language support, and many other programs, some of which you might not need. To set up a more minimal installation, one can skip installing a desktop environment and only select the `standard system utilities`: +Debian's installer offers the possibility to install a desktop environment, which comes with a collection of programs and tooling selected by the Debian team. Although these are good options, the default selection is meant to be ready "out of the box", for any use-case. These *metapackages* include an office suite, games, language support, and many other programs, some of which you might not need. To set up a more minimal installation, skip installing a desktop environment and only select the `standard system utilities`: ![debian-software-selection](debian-software-selection.png) Then, after the installation finishes, install your preferred desktop environment. For GNOME, as an example, run: