From be1b7c1d54d45de64130a0db5f719bde5ea3b869 Mon Sep 17 00:00:00 2001 From: arian Date: Fri, 9 Feb 2024 17:53:52 +0100 Subject: [PATCH] added M305 --- content/M305/Linux.md | 173 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 content/M305/Linux.md diff --git a/content/M305/Linux.md b/content/M305/Linux.md new file mode 100644 index 0000000..4860fa4 --- /dev/null +++ b/content/M305/Linux.md @@ -0,0 +1,173 @@ ++++ +title = 'Linux' +date = 2024-02-08T21:38:20+01:00 +draft = true ++++ + +{{< toc >}} + +# Notes and source +Notes based on: (as of 2020) + +**This page is the only English one, as it's the only learning resource we used that is not in German!** + +# Important directories +- `/boot` -> boot files +- `/bin` -> pre-installed executables +- `/dev` -> devices (i.e. hard drive, etc.) +- `/sbin` -> pre-installed executables that require root +- `/etc` -> configuration +- `/home` -> user data +- `/lib` -> shared libraries +- `/media` -> removable media +- `/usr` -> shared data (i.e. wallpapers, fonts, applications, etc.) +- `/var` -> variable data (i.e. logs, etc.) +- `/tmp` -> temporary data (gets wiped at boot) + +# How to install Linux +- Go to official website +- Download ISO +- Flash USB-Drive +- Boot into ISO (boot order or one-time boot menu) +- Install + +# Shell +- Interprets commands +- Run via terminal emulator +- Examples: + - bash + - zsh + - korn shell (ksh) + +# Bash +- Standard shell on most systems +- "Bourne Again SHell" + +# Links +- Soft / hard links +- Soft link = symlink +- Symlink = points to file or directory +- Hard link = points to inode (place on hd/ssd) +- `ln` + + +# Wildcards +- `?` -> any single character +- `*` -> any string of any length +- `[ ]` -> any single character mentioned in the brackets + +# Streams +- 3 streams +- Standard input (STDIN) +- Standard output (STDOUT) +- Standard error (STDERR) + +# Redirection +| Symbol | Redirects to / from | +|--------|-------------------------------------------------------| +| > | redirect stdout to file (create/overwrite) | +| >> | redirect stdout to file (create/append) | +| 2> | redirect stderr to file (create/overwrite) | +| &> | redirect stdout and stderr to file (create/overwrite) | +| < | redirect file to stdin (create/overwrite) | +| << | redirect file to stdin (create/append) | + +# Piping +`command1 | command2` + +- output of command1 used as stdin for command2 + +# Some noteworthy commands +## Sort +`sort file.txt` + +Sorts files alphabetically. See `man sort` for more info + +## Find +`find [path] [expression]` + +Searches directories and sub-directories for files. See `man find` for more info + +## Locate +`locate [pattern]` + +Searches for files (less complicated than find). See `man locate` for more info + +## Word count +`cat file | wc` + +Counts words, lines, etc in files. See `man wc` for more info + +## File +`file file.extension` + +Takes an "educated guess", what type of file `file.extension` is + +## Head / Tail +`cat file | head` and `cat file / tail` + +Show only a select number of lines, starting at the top (head) or at the bottom (tail) + +See `man head` and `man tail` for more info + +## Tar +Is used to compress/extract folders and files. See `man tar` for more info + +# Processes +## Interfacing with processes +- ps +- htop +- kill +- killall + +## Signals +Signals are sent to processes to "tell" them what to do. Most important signals: + +| Signal | Description | +|---------|---------------------------------------| +| SIGKILL | forcefully stop process | +| SIGTERM | stop process and associated processes | +| SIGSTOP | pause process | +| SIGCONT | continue process | + +# Installing applications +- Depends on distro + +| Distro | Package command | +|--------|-----------------| +| Debian | apt | +| RedHat | yum | +| Arch | pacman | +| Gentoo | emerge | + +# User management +Commands: `usermod`, `groupmod` + +## /etc/passwd +`username:password:UID:GID:comment:homedir:login shell` + +# Permissions +- 3 permissions + - `r` -> read + - `w` -> write + - `x` -> execute +- 3 classes + - Owner + - Group + - Rest + +Arranged like this: +``` +| owner | group | other | +| r | w | x | r | w | x | r | w | x | +``` + +# File systems +Handles the way that data is stored. Linux is compatible with a lot of them: + +- ext4 (deprecated: ext3 / ext2 / ext) +- BtrFS +- ReiserFS +- XFS +- ZFS +- FAT