Инструменты пользователя

Инструменты сайта


linux:overall:bash:cli

Это старая версия документа!


Оболочка

Born again shell - усовершенствованная оболочка Bourne shell.
Командный процессор, работающий, как правило, в интерактивном режиме в текстовом окне, так же, может читать команды из файла, т.е. написание скриптов.

Формы команд

  • cmd & - выполнить в фоновом режиме.
  • {cmd1; cmd2} - выполнить группой, в текущей оболочке.
  • (cmd1; cmd2) - выполнить группой, в подоболочке.
  • cmd1 | cmd2 - направить выход cmd1 на вход cmd2.
  • cmd1 `cmd2` - выход cmd2 в аргументами в cmd1.
  • cmd1 $(cmd2) - тоже самое, по стандарту POSIX.
  • cmd $(выражение) - арифметический результат выражения, аргументами в cmd.
  • cmd1 && cmd2 - логическое И
  • cmd1 || cmd2 - логическое ИЛИ.
  • !cmd - инверсия кода результата.
 # Выполнить указанные команды в фоне
$ nroff file > file.txt &
 
# Выполнить команда последовательно
$ cd; ls
 
# Переадресация результатов
$ (date; who; pwd) > logfile
 
# Отсортировать, подготовить и вывести результат
$ sort file | pr -3 | lpr
 
# Отобразить эхом сообщение об ошибке
$ grep 'XX file' || echo "XX not found"

Переадресация ввода/вывода

0ВводstdinКлавиатура
1ВыводstdoutЭкран терминала
2Вывод ошибокstderrЭкран терминала
  • cmd > file - перезаписать выводом команды файл.
  • cmd » file - присоединить вывод команды к файлу.
  • cmd < file - исходные данные для команды из файла.
  • cmd 2> file - вывод только ошибок в файл.
  • cmd &> file - вывод данных и ошибок в файл (&> /dev/null - подавление вывода).

Специальные имена файлов

  • /dev/(stdin|stdout|stderr) - дубликаты 0,1,2.
  • /dev/fd/<n> - дескриптор файла <n>
  • /dev/(tcp|udp)/<host>/<port> - оболочка устанавливает соединение, используя полученный дескриптор для В/Вывода

Внутренние команды

Часть из приведенных команд, имеет аналогичные исполняемые файлы в ОС, но это не одно и тоже.

Ввод/вывод

  • echo - выводит выражение или переменную stdout.
  • printf - форматированный вывод
  • read - читает значение из stdin

Файловая система

  • cd - сменить текущий каталог
  • pwd - текущий каталог
  • pushd, popd, dirs - работа с каталогами

Действия над переменными

  • getopts - разбор переменных, переданных из командной строки
  • let - арифметические операции над переменными
  • eval - транслирует список аргументов в команды
  • set - изменяет значение внутренних переменных скрипта
  • unset - удаляет переменную
  • export - сделать переменную доступной дочерним процессам
  • declare, typeset - задают (и накладывают) ограничения на переменные

Управление сценарием

  • source, . (точка) - запуск указанного сценария
  • exit - завершение работы сценария
  • exec - заменяет текущий процесс новым
  • shopt - позволяет изменять ключи оболочки «на лету»

Управление запущенными задачами

  • jobs - список задач, запущенных в оболочке (информация по номеру)
  • fg - вернуть текущее задание из фонового режима (или на указанный номер)
  • bg - перенести текущее задание в фоновый режим
  • wait - ожидает завершение фоновых задач
  • kill - прервать выполнение задания

Горячие клавиши

  • Ctrl + A (E) - перемещает курсор в начало (конец) строки
  • Ctrl + Y - вставить из (своего) буфера
  • Ctrl + U (W) - копирует в буфер всю строку (слово) ДО курсора (k-после курсора)
  • Ctrl + S (P) - приостановить (возобновить) вывод
  • Ctrl + L - очистить экран (clear)
  • Ctrl + R - поиск по ранее введенным командам
linux/overall/bash/cli.1618914395.txt.gz · Последнее изменение: 2021/04/20 10:26 — admin