add linux notes
This commit is contained in:
parent
8f8d6981e8
commit
fd3dbc1e63
@ -357,3 +357,54 @@ getcap /usr/local/bin/blackbox_exporter
|
|||||||
```bash
|
```bash
|
||||||
setcap cap_net_raw+ep /usr/local/bin/blackbox_exporter
|
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