From 43431c8c1a3142a5ea4953e76cdf378afe54c2fe Mon Sep 17 00:00:00 2001 From: VLatyshev Date: Mon, 30 Sep 2024 14:37:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B2=20=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B5=20?= =?UTF-8?q?=D0=BE=D0=B1=20=D0=BE=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D1=8B=D1=85?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0=D1=85=20=D0=B2=20?= =?UTF-8?q?=D1=82=D0=B5=D1=80=D0=BC=D0=B8=D0=BD=D0=B0=D0=BB=D0=B5=20Linux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 71 +++++++++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 809ea2c..7b00b1a 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,19 @@ ## Терминал -В Ubntu придется часто использовать терминал. Его можно вызвать сочетанием клавиш `Ctr+Alt+T`. Важно запомнить, что для большинства команд можно вызвать краткую справку: +В Ubuntu придётся часто использовать терминал. Его можно вызвать сочетанием клавиш `Ctr+Alt+T`. Важно запомнить, что для большинства команд можно вызвать краткую справку: ``` -h ``` -Или если не работает первая: +Или, если не работает первая: ``` --help ``` -Некоторые имеют подробный манул: +Некоторые имеют подробный мануал: ``` man @@ -28,9 +28,9 @@ man Если нужно выполнить одну единственную команду, то можно нажать Alt+F2 и ввести ее в поле. -## suddo +## sudo -sudo - это утилита, позволяющая выполнить команды с правами суперпользователя root. Перед именами команд, которые работают с файловой системой вне домашнего каталога, а так же для остановки root-процессов, нужно писать sudo. sudo используется для консольных приложений, в старых версиях убунту была утилита gksu которая позволяла запускать из под рута графические приложения (показывала окно ввода пароля перед запуском). Из Ubuntu 18.04 убрали ее, вместо нее предлагается использовать что-то типа `gedit admin:///etc/hosts`. +sudo - это утилита, позволяющая выполнить команды с правами суперпользователя root. Перед именами команд, которые работают с файловой системой вне домашнего каталога, а так же для остановки root-процессов, нужно писать sudo. sudo используется для консольных приложений, в старых версиях Ubuntu была утилита gksu которая позволяла запускать из под рута графические приложения (показывала окно ввода пароля перед запуском). Из Ubuntu 18.04 убрали ее, вместо нее предлагается использовать что-то типа `gedit admin:///etc/hosts`. Если надоело `sudo` вводить можно авторизоваться под рутом: @@ -54,9 +54,9 @@ export PATH="/path/to/executable:$PATH" ## Перенаправление вывода -### Фйловые дескрипторы +### Файловые дескрипторы -Дескриптор файла - это число, которое ассоциируется с открытым файлом (либо с соединением, так как в Linux все файлы). +Дескриптор файла - это число, которое ассоциируется с открытым файлом либо с соединением. | Значение | Описание | | -- | -- | @@ -73,13 +73,13 @@ echo "foo" | somecommand somecommand <<< "foo" # Вывод ошибки в stderr echo "An error has occurred" >&2 -# Игнорирование ошибок. `/dev/null` - как-бы файл в который записываем все, что не хотим видеть в консоли. +# Игнорирование ошибок. `/dev/null` - как-бы файл, в который записываем все, что не хотим видеть в консоли. somecommand 2> /dev/null -# А можно их записывать в error log. `>>` запись в режиме добавления +# А можно их записывать в error.log. `>>` запись в режиме добавления somecommand 2>> /path/to/error.log ``` -### Ссcылки +### Сcылки * [I/O Redirection](https://www.tldp.org/LDP/abs/html/io-redirection.html) @@ -94,7 +94,7 @@ somecommand 2>> /path/to/error.log | `$_` | Последний аргумент предыдущей команды | | `$USER` | Текущий пользователь | | `$HOME` | Домашний каталог | -| `$PWD` | Рабочий каталог (для скрипта тот же что и для сессии терминала) аналог вызова `pwd` | +| `$PWD` | Рабочий каталог (для скрипта тот же, что и для сессии терминала) аналог вызова `pwd` | | `$RANDOM` | Случайное число | ### Примеры @@ -108,13 +108,13 @@ $ echo $_ test ``` -## Полезные каманды +## Полезные команды | Команда | Описание | | -- | -- | | `!!` | Выполнить предыдущюю команду | | `cd -` | Перейти в предыдущий каталог | -| `xdg-open ` | Открыть файд в программе по-умолчанию | +| `xdg-open ` | Открыть файл в программе по-умолчанию | | `sudo reboot` | Перезагрузка компьютера | | `sudo poweroff` | Выключение компьютера | | `yes \| ` | Ввод и отправка Y при выполнении команды | @@ -130,9 +130,8 @@ test | `chsh -s /bin/zsh` | Изменить командную оболочку | | `./upwork_statistics.py \| sort -k 2 -rn` | Отсортировать выхлоп работы скрипта по второй колонке | | `ls \| peco` | Выбираем стрелочками нужное | -| `basename "/"$(ps -f -p $(cat /proc/$(echo $$)/stat \| cut -d \ -f 4) \| tail -1 \| sed 's/^.* //')` - | Узнать оболочку терминала | - | `dmesg \| less` | Посмотреть сообщения ядра | +| `basename "/"$(ps -f -p $(cat /proc/$(echo $$)/stat \| cut -d \ -f 4) \| tail -1 \| sed 's/^.* //')`| Узнать оболочку терминала | +| `dmesg \| less` | Просмотреть сообщения ядра | ```bash # move all media files in subdirectories into the current directory @@ -148,7 +147,7 @@ adduser david usermod -g www david ``` -### Сессия пльзователя +### Сессия пользователя | Команда | Описание | | -- | -- | @@ -172,7 +171,7 @@ usermod -g www david | `${var%%SubStr*}` | will drop part of string from first occur of `SubStr` to the end | | `echo ${first_string/Suzi/$second_string}` | Замена подстроки в строке | | `${str^^}` | Перевод строки в верхний регистр в Bash 4.0 | -| `echo $str \| tr a-z A-Z` | Тоже в более ранних версиях | +| `echo $str \| tr a-z A-Z` | То же в более ранних версиях | | `echo "${str,,}"` | Перевод строки в нижний регистр в Bash 4.0 | | `echo $str \| tr '[:upper:]' '[:lower:]'` | Тоже в более ранних версиях | | `base64 <<< "Привет, мир!"` | Закодировать строку в base64 | @@ -197,7 +196,7 @@ usermod -g www david | `cat /proc/uptime` | Сек., время работы CPU и время простоя в сумме для каждого ядра | | `sudo lshw -C display` | Информация о видеоадаптерах | | `sudo dmidecode -t baseboard` | Модель материнской платы | -| ` sudo smartctl -A /dev/nvme0` | Проверить состояние SSD | +| `sudo smartctl -A /dev/nvme0` | Проверить состояние SSD | | `df -h --total` | Информация об используемом месте на различных носителях | ### Арифметическии операции @@ -211,17 +210,17 @@ usermod -g www david | Команда | Описание | | -- | -- | | `top` | Мониторинг процессов | -| `top -p PID` | Следим за расходом рксурсов одним процессом | +| `top -p PID` | Следим за расходом ресурсов одним процессом | | `pstree` | Дерево процессов | | `ps aux` | Список всех процессов | | `ps aux \| grep python` | Список всех процессов python | | `kill ` | Остановить процесс по идентификатору | | `killall firefox` | Остановить все процессы с именем firefox | -| `killall -r gunicorn` | Остановить все процессы соотв регулярке | -| `exec -a ` | Запуск процесса под именем | -| `pkill -f ` | Остановка процесса с именем | +| `killall -r gunicorn` | Остановить все соответствующие процессы| +| `exec -a ` | Запуск процесса под именем | +| `pkill -f ` | Остановка процесса с именем | -### Файловая сстема +### Файловая система | Команда | Описание | | -- | -- | @@ -254,7 +253,7 @@ usermod -g www david | `cp ` | копирование файлов/каталогов | | `mv ` | перемещение файлов/каталогов | | `mkdir ` | создание каталогов | -| `nano ` | редактировать файд | +| `nano ` | редактировать файл | | `rm ` | удаление файлов/каталогов | | `rmdir ` | удалить пустой каталог | | `rm -rf ` | Удалить каталог со всем его содержимым | @@ -271,11 +270,11 @@ usermod -g www david | `find . -type f` | Вывести список файлов в директории рекурсивно | | `umount /dev/sd[XN]` | Размонтировть устройство (например, перед форматированием) | | `mkfs /dev/sda1` | Отформатировать раздел | -| `sudo dd if=/dev/sda of=/dev/sdb conv=notrunc,noerror` | Копировать жесткий диск | +| `sudo dd if=/dev/sda of=/dev/sdb conv=notrunc,noerror` | Копировать жёсткий диск | | `script_dir=$(dirname $0)` | Текущий каталог для скрипта | | `grep -Pri <текст_для_поиска> <путь_к_директории>` | Поиск файлов по содержимому | | `zless`, `zcat`, `zgrep` | Аналоги команд с похожими названиями, но работающие с архивами | -| `$ find . -name '*.pdf' \| cpio -pdm ~/Documents/Books` | Копировать файлы с опр. расширением в нужный каталог | +| `$ find . -name '*.pdf' \| cpio -pdm ~/Documents/Books` | Копировать файлы с определённым расширением в нужный каталог | | `df -k .` | Размер и свободное место текущего раздела | | `df -k /dev/mapper/ubuntu--vg-root` | | | `mount` | Все точки монтирования | @@ -288,13 +287,13 @@ usermod -g www david | -- | -- | | `sudo apt-get update` | Обновить список пакетов | | `sudo apt-get upgrade` | Обновить все пакеты | -| `sudo apt-get install -y` | Установить пакет без подтверждления | +| `sudo apt-get install -y` | Установить пакет без подтверждения | | `sudo apt-get remove ` | Удалить пакет | | `sudo apt-get autoremove` | Удалить неиспользуемые пакеты | | `sudo apt-get clean` | Удалить загруженне архивы | -| `apt list --installed` | Список установленныхпакетов | +| `apt list --installed` | Список установленных пакетов | | `sudo dpkg -i <.deb package>` | Установить либо обновить deb-пакет | -| `sudo apt-get install -f` | При ошибке предудыщей выполните эту и повторите | +| `sudo apt-get install -f` | При ошибке предыдущей команды выполните эту и повторите | | `sudo dpkg -p ` | Удалить deb-пакет с сохранением конфигураций | | `sudo dpkg -P ` | Удалить deb-пакет с конфигурациями | | `dpkg -l \| less` | Просмотр списка установленных deb-пакетов | @@ -304,13 +303,13 @@ usermod -g www david Also: **GDebi Package Installer** - программа для установки `.deb` пакетов. -### Сервсы +### Сервисы | Команда | Описание | | -- | -- | | `service --status-all` | Список сервисов | -| `systemctl list-unit-files --type=service \| grep enabled` | Список включенных сервисов | -| `journalctl -xe` | Журнал ошибок сервисов | +| `systemctl list-unit-files --type=service \| grep enabled` | Список включённых сервисов | +| `journalctl -xe` | Журнал ошибок сервисов | ### Сеть @@ -320,7 +319,7 @@ Also: **GDebi Package Installer** - программа для установки | `printf 'GET / HTTP/1.0\r\nHost: google.com\r\n\r\n' \| nc google.com 80` | Отправить сырой TCP-запрос | | `curl -d -H "Content-Type: application/json" -X POST `| Отправить JSON-апрос через POST | | `exec {дескриптор-файла}<>/dev/{протокол}/{адрес-узла}/{номер-порта}` | Открыть TCP/UDP соединение (дескриптор - целое число больше 2) | -| `wget url -O - \| sh` | Выполнить удаленный скрипт | +| `wget url -O - \| sh` | Выполнить удалённый скрипт | | `ssh -D 1080 -N user@server` | Создать socks-туннель (localhost:1080) | Выкачать весь сайт: @@ -339,7 +338,7 @@ wget --mirror \ | -- | -- | | `git config --global user.email email@example.com` | Указать email пользователя | | `git config --global user.name "John Doe"` | Указать имя пользователя | -| `git config --global credential.helper "cache --timeout=2592000"` | Хранить введенные логин и пароль в течении 30 дней | +| `git config --global credential.helper "cache --timeout=2592000"` | Хранить введённые логин и пароль в течении 30 дней | | `git clone https://github.com/requests.git` | Создать локальную копию репозитория | | `git pull` | Обновить локальный репозиторий с сервера | | `git reset --hard` | Please commit your changes or stash them before you merge | @@ -347,7 +346,7 @@ wget --mirror \ | `git reset` | Отменить предыдущую операцию | | `git restet ` | отмена добавления файла | | `git commit -m "message"` | Коммитим измения с целью их публикации| -| `git push` | Загружаем измененнные файлы на сервер | +| `git push` | Загружаем изменённые файлы на сервер | | `git checkout ` | Меняем ветку | | `git checkout -b ` | Создаем новую ветку и переключаемся на нее | | `git rm -r --cached` | Удалить каталог из отслеживания| -- GitLab