Терминал мануал
В этой мануале мы рассмотрим основные возможности для работы с терминалом в Linux. Знание этих возможностей, поможет вам чувствовать себя более уверенным при работе с командой строкой.
Процесс загрузки
- /etc/profile -настройки системных переменных
- ~/.bash_profile -настройка пользовательских переменных
- ~/.bashrc -выполнение пользовательских команд
Горячие клавиши
- CTRL + стрелки – перемещение по словам
- CTRL + W– удаление слова слева от курсора
- CTRL + R– поиск по истории команд
- ALT + .– подставить последний аргумент
- CTRL + X + E– ввод команды через текстовый редактор
- CTRL + Z– отправить текущей команде сигнал SIGSTOP
Полезные команды
- !! – повторить предыдущую команду
- watch – повторять команду с интервалом
- fg – вернуть процесс на передний план
- bg – продолжить выполнение на заднем плане
- jobs – посмотреть остановленные процессы
Потоки данных
stdout – поток вывода – &1echo "Test" > file
stderr – поток ошибок – &2echo "Test" 2> file
ls /root 2> file
ls /root > file 2>&1
stdin – поток вводаecho 'print("Hello world")' | python3
> - перезаписывает
>> - добавляет
Работа с текстом
grep – утилита для построчного поиска текста по паттерну- zcat /proc/config.gz | grep -i BTRFS | grep -v "^#"
- zcat /proc/config.gz | grep -i "^CONFIG_BTRFS"
- zgrep "^CONFIG_BTRFS" /proc/config.gz
- cat /etc/ssh/ssh_config | grep -v "^$\|^#"
- cat /etc/ssh/ssh_config | grep .
- zcat /proc/config.gz | grep "CONFIG.*POSIX_ACL"
awk – скриптовый язык обработки текста- ps aux | grep telegram-desktop
- ps aux | grep telegram-desktop | grep -v grep
- ps aux | grep telegram-desktop | grep -v grep | awk '{print $2}'
- cat /etc/passwd | awk -F: '{print $1}'
- cat /var/log/syslog | grep "Dec 15 20:21:*" | awk '{print $1,$2,$3,$5}'
sed – потоковый текстовый редактор- sed -i "s/HashKnownHosts yes/HashKnownHosts no/" /etc/ssh/ssh_config
- sed -i "s/Привет мир/Hello World" test*
- cat test1 | sed "s/world/мир"
Vim
Режимы работы Vim
Режим команд (Command mode) - используется для выполнения команд. При запуске Vim, вы находитесь в этом режиме.
Режим вставки (Insert mode) - используется для ввода текста. Для перехода в этот режим, нажмите клавишу “i”.
Режим замены (Replace mode) - используется для замены существующего текста. Для перехода в этот режим, нажмите клавишу “R”.
Режим визуального выделения (Visual mode) - используется для выделения текста для копирования, вырезания или изменения. Для перехода в этот режим, нажмите клавишу “v”.
Навигация
h - переместить курсор влево
j - переместить курсор вниз
k - переместить курсор вверх
l - переместить курсор вправо
w - переместить курсор на начало следующего слова
b - переместить курсор на начало предыдущего слова
e - переместить курсор на конец текущего слова
0 - переместить курсор в начало строки
$ - переместить курсор в конец строки
gg - переместить курсор в начало файла
G - переместить курсор в конец файла
Редактирование текста
i - вставить текст перед курсором
a - вставить текст после курсора
o - вставить новую строку после текущей строки и перейти в режим вставки
dd - вырезать текущую строку
yy - скопировать текущую строку
p - вставить скопированный или вырезанный текст после курсора
u - отменить последнее действие
Ctrl + r - повторить отмененное действие
Сохранение и выход из редактора
:w - сохранить файл
:q - выйти из Vim
:wq - сохранить файл и выйти
Клавиша Esc переключает Vim в нормальный режим. Если в этом режиме нажать : (проверьте, что установлена английская раскладка и снят CapsLock, затем одновременно нажмите Shift и ;), то символ : появится в нижней части экрана, и редактор перейдёт в режим командной строки. Это гарантирует, что вы сейчас именно вводите команду, а не редактируете файл. Помните, что регистр вводимых команд важен.
Виртуальные терминалы
- screen - менеджер виртуальных терминалов
- tmux - терминальный мультиплексор
Tmux
Tmux опции
Что касается опций, то в большинстве вам придется использовать только две - это -t (target) - которая указывает цель, к которой будет применяться команда, например, идентификатор сессии или подключенного клиента, а также -s (session) - который обычно используется для обозначения источника, над которым будет выполняться действие.
Команды tmux для управления сессиями, которые вы можете использовать:attach-session (либо attach) - подключиться к уже
существующей сессии. В параметре необходимо передать
опцию -t и идентификатор сессии;
detach-session (либо detach) - отключить всех клиентов (или
переданного с помощью опции -t) от сессии, переданной в
опции -s;
has-session - проверить существует ли сессия, аналогично, надо
передать идентификатор сессии;
kill-server - остановить все запущенные сессии;
kill-session - завершить сессию переданную в параметре -t;
list-clients - посмотреть клиентов, подключенных к сессии -t;
list-sessions (либо ls) - вывести список всех запущенных сессий;
new-session - создать новую сессию, можно передать имя сессии
в опции -s и стартовую директорию в опции -c;
rename-session - переименовать сессию, нужно передать
идентификатор сессии и новое имя;
По умолчанию для активации сочетания клавиш нужно нажать Ctrl+B, отпустить, а потом нажать нужную клавишу. Вот основные сочетания клавиш tmux, которые вам понадобятся:Ctrl+b c - создать новое окно;
Ctrl+b w - выбрать окно из списка;
Ctrl+b 0-9 - открыть окно по его номеру;
Ctrl+b , - переименовать текущее окно;
Ctrl+b % - разделить текущую панель по горизонтали;
Ctrl+b \" - разделить текущую панель по вертикали;
Ctrl+b стрелка - перейти на панель, находящуюся в стороне, куда указывает стрелка;
Ctrl+b Ctrl+стрелка - изменить размер текущей панели;
Ctrl+b o - перейти на следующую панель;
Ctrl+b ; - переключаться между текущей и предыдущей панелью;
Ctrl+b x - закрыть текущую панель;
Ctrl+b [ - войти в режим копирования (подробнее ниже);
Ctrl+b ] - вставить из внутреннего буфера обмена tmux;
Ctrl+b d - отключится от текущей сессии;
Ctrl+b : - открыть командную строку.
Ctrl+b d (Подробней) После отключения все запущенные в сессии программы продолжат работать и вы всегда сможете снова подключиться и посмотреть их вывод. Это удобно при подключении по SSH, которое всегда может разорваться.
Также можно создать сессию командой new-session и задать ей удобное имя: tmux new-session -s testname
Разделение окна панели:
- Чтобы выполнить разделение по горизонтали нажмите Ctrl+b отпустите, а затем нажмите Shift + “
- Аналогично можно разделить панель по вертикали, нажав Ctrl+b, а затем Shift+%
- Размер активной панели можно менять нажав Ctrl+b, а потом Ctrl и стрелка (удерживаем Ctrl чтобы была возможность несколько раз отредактировать размер окна)