unix.linux
.pdfПеренаправление ввода/вывода
●«a > somefile» - перенаправить стандартный вывод команды «а» в файл somefile. Файл будет создан либо перезаписан
●«a >> somefile» - перенаправить стандартный вывод команды «а» в файл somefile. Файл будет создан либо дозаписан
●«a < somefile» - передать содержимое файла somefile на стандартный ввод команды «a»
Перенаправление стандартных файловых дескрипторов вывода
●command {<fdN><oper><path>}
●fdN — 1,2 (стандартные выводы)
●oper — «>», «>>»
●path — путь до файла либо &<fdN>
●Пример:
●./cmd 1>/var/log/cmd.log 2>>&1
●Дескриптор стандартного вывода («1») можно опускать
Конвейеризация
●cmd_a --a-args | cmd_b --b-args
●Передаёт стандартный вывод cmd_a на стандартный ввод cmd_b
●Механизм передачи текста — неименованный канал (pipe)
●Ключ «-», переданный программе, означает, что надо получить данное со стандартного ввода:
●echo ''abcdef'' | cat -
Навигация и ввод текста в интерпретаторе
●Навигация по введённому тексту стандартна (стрелки вправо и влево, Home, End)
●Стрелка вверх — переход на предыдущую позицию в истории команд
●Стрелка вниз — переход на следующую позицию в истории команд
Основные сокращения
●~ — домашний каталог
●{a,b} — повторить то же выражение, но заменить в указанном месте a на b. Пример:
●mv myfile{c,cpp}
●mv myfile{,.bak}
●mv {cat,dog}
●mv abc{e,}de
Служебные символы
●* - любая последовательность символов
●\<символ> - экранирование
●''<последовательность символов>'' - текстовая строка, может содержать пробелы
●'<последовательность символов>' - экранированная строка
Основные горячие клавиши
●Ctrl+W — удалить слово
●Ctrl+U — удалить текст до начала строки (удалённый текст помещается в буфер)
●Ctrl+Y — вставить текст из буфера терминала
●Ctrl+R — начать поиск по истории команд
●Ctrl+C — прервать ввод либо отправить выполняющейся команде SIGTERM
●Ctrl+Z — приостановить выполнение текущей команды
Получение справки
man
●man [<раздел>] термин
●Документация хранится в форматированных файлах, разметка выполняется на языке roff (исторически runoff)
●Термин обычно совпадает с именем программы или функции
●man использует системный пейджер (установленный в переменной окружения MANPAGER или PAGER, обычно less -s)
Ключи
●-f (whatis) — выводить только краткое описание
●-k (apropos) — искать термин по описаниям
●-w — вывести имя страницы с разметкой nroff, описывающей термин
●-L — искать страницы на определённом языке
●-H — вывести страницу в разметке HTML