add linux notes
This commit is contained in:
parent
8f8d6981e8
commit
fd3dbc1e63
@ -357,3 +357,54 @@ getcap /usr/local/bin/blackbox_exporter
|
||||
```bash
|
||||
setcap cap_net_raw+ep /usr/local/bin/blackbox_exporter
|
||||
```
|
||||
|
||||
### Процесс загрузки ОС
|
||||
|
||||
Кратко
|
||||
|
||||
- Сначала UEFI инициализирует железо (память, CPU, устройства) и запускает загрузчик из EFI-раздела.
|
||||
- Загрузчик (например, GRUB) загружает ядро Linux и initramfs, передаёт ядру параметры командной строки.
|
||||
- Ядро запускается, инициализирует память, CPU, драйверы, затем монтирует initramfs как временную файловую систему.
|
||||
- Initramfs выполняет скрипты, необходимые для обнаружения и монтирования основной root ФС, расшифровки и подключения томов.
|
||||
- Initramfs передаёт управление настоящему init-процессу (чаще всего systemd).
|
||||
- Systemd инициализирует всё окружение (сети, файловые системы, службы) через таргеты и сервисы.
|
||||
- Запускается пользовательское пространство — getty или display manager, затем пользователь входит и загружаются .bashrc, systemd user-юниты и прочее.
|
||||
|
||||
### Символы в Bash
|
||||
|
||||
- `;` - завершение команды
|
||||
- `&` - фоновый запуск
|
||||
- `&&` - и выполнить, если предыдущее успешно
|
||||
- `\n` - новая строка, внутри кавычек (`echo -e "line1\nline2"`)
|
||||
- `одинарные кавычки` - никак не интерпретируются, литеральное значение
|
||||
- `двойные кавычки` - интерпретация переменной
|
||||
|
||||
---
|
||||
|
||||
- `$(...)` - синтаксис подстановки команды
|
||||
- `$VAR`, `${VAR:-default}` - значение переменной с модификатором
|
||||
- `$$` - PID текущего скрипта
|
||||
- `$?` - код выхода последней команды
|
||||
- `$#` - кол-во аргументов скрипта
|
||||
- `$@`, `$*` - все аргументы скрипта
|
||||
- `$n` - n-ый аргумент скрипта
|
||||
|
||||
---
|
||||
|
||||
- `[[]]` - расширенный аналог `[]`
|
||||
- `(())` - для арифмитических выражений
|
||||
- `-eq, -ne, -gt, -lt` - числовые сравнения
|
||||
- `==, !=` - строковые сравнения
|
||||
- `&>` - stdout и stderr в файл
|
||||
|
||||
---
|
||||
|
||||
- `{}` - команды выполняются в текущем shell
|
||||
- `()` - команды выполняются в subshell
|
||||
|
||||
---
|
||||
|
||||
- `*` - любая последовательность (rm *.log)
|
||||
- `?` - один любой символ (ls file?.txt)
|
||||
- `[abc]` - один символ из набора (ls file[12].txt)
|
||||
- `[!abc]` - один символ не из набора (ls file[!3].txt)
|
Loading…
x
Reference in New Issue
Block a user