1.11 Справочник по наиболее употребительным стандартным командам ОС

1.11 Справочник по наиболее употребительным стандартным командам ОС

exit — завершить исполнение оболочки

Синтаксис: exit [код_зав]

Семантика: exit завершает исполнение оболочки с кодом возврата (0-255), указанным в «код_зав». Перехват «exit» командой «trap» выполняется до завершения оболочки, если только «exit» выполняется не из этой команды «trap». Если n не указана, код возврата равен коду возврата последней выполненной команды. При выполнении «exit» из «trap» последней командой считается команда, выполненная непосредственно до выполнения «trap».

cal — вывести календарь

Синтаксис: cal [[месяц] год ]

Семантика: cal выводит на стандартный вывод календарь, используя юлианское летоисчисление для дат с 1 января 1 г. по 2 сентября 1752 г. и григорианское — с 14 сентября 1752 г. по 31 декабря 9999 г.

Операнды:месяц — отображаемый месяц указывается десятичным числом с 1 (январь) по 12 (декабрь). По умолчанию — текущий месяц. Год — отображаемый год указывается десятичным числом с 1 до 9999. По умолчанию — текущий год.

date — вывести или установить дату и время

Синтаксис: date [-u] [+формат] ; date [-u]ммддччмм[[сс]гг]

Семантика: date выводит дату и время. Поданная с операндом в формате даты, date пытается установить время и дату. Операнд, начинающийся с «+» устанавливает формат вывода данных.

Ключ: -u — выполнить команду, как если бы переменная TZ (часовой пояс) была установлена в «UTC0» или «GMT0» (время по Гринвичу).

Операнды: +формат — если указан формат, каждый спецификатор формата заменяется при выводе на соответствующее значение. Вывод всегда завершается символом новой строки. Поддерживаются спецификаторы «%a» (краткое название дня недели), «%A» (название дня недели), «%b», «%h» (краткое название месяца), «%B» (название месяца), «%с» (дата и время), «%C» (век в двузначном представлении), «%d» (день месяца в двузначном представлении), «%D» (дата в формате мм/дд/гг), «%e» (день месяца в одно— или двузначном представлении), «%H» (час дня в 24-часовом двузначном представлении), «%I» (час дня в 12-часовом двузначном представлении), «%j» (номер дня в году), «%m» (номер месяца в двузначном представлении), «M» (минуты в двузначном представлении), «%n» (конец строки), «%p» (знак «утра» или «пополудни»), «%r» (час дня в двенадцатичасовом представлении со знаком «утра» или «пополудни»), «%S» (секунды в двузначном представлении), «%t» (табуляция), «%T» (время в формате ЧЧ:ММ:СС в 24-часовом представлении), «%u» (порядковый номер дня недели («Пн.»=1), «%U» (порядковый номер недели в году при неделе, начинающейся в воскресенье), «%V» (номер недели в году при неделе, начинающейся в понедельник), «%w» (номер дня недели, начинающейся с воскресенья), «%W» (номер недели, начинающейся в понедельник), «%x» (полное представление даты), «%X» (полное представление времени), «%y» (год в двузначном представлении), «%Y» (год в одно— или двузначном представлении), «%Z» (часовой пояс), «%%» (процент).

Переменные: TZ — часовой пояс, в котором выводится или устанавливается дата.

Вывод: если формат не указан, дата выводится в формате «+%a %b %e %H:%M:%S %Z %Y».

man — вывести системную документацию

Синтаксис: man [-k]имя...

Семантика: man выводит информацию о каждом из перечисленных операндов.

Ключ:—k — интерпретировать операнды как ключевые слова для поиска в базе кратких описаний и вывести строки, в которых содержатся эти слова.

Операнды:имя — ключевое слово или имя команды.

Переменные: PAGER — используемый фильтр постраничного вывода.

echo — вывести аргументы

Синтаксис: echo [строка...]

Семантика: echo выводит свои аргументы после раскрытия специальных символов в стандартный вывод, завершая вывод символом новой строки.

Операнды: строка — строка, подлежащая выводу. В строке после раскрытия спецсимволов оболочки раскрываются следующие символы: a — звуковой сигнал,  — пробел, c — подавить вывод символа новой строки, f — перевод страницы, — символ конца строки, — символ возврата каретки, — табуляция, v — вертикальная табуляция, \ — обратная косая черта, код — символ с восьмеричным кодом «код».

Стандартный вывод: между аргументами выводятся пробелы.

touch — изменить временные атрибуты доступа и модификации файлов

Синтаксис: touch [-acm][ -r справ_файл| -t time]файл...

Семантика: touch изменяет атрибуты времени последней модификации или времени последнего доступа файлов, или (по умолчанию) оба. Значение атрибута указывается аргументом ключа «-t» или заимствуется у файла, указанного в качестве аргумента ключа «-r». Если оно не указано, используется текущее время.

Если файлы не существуют, они создаются.

Ключи: -a — изменить время доступа, -c — не создавать несуществующих файлов, -m — изменить время модификации, -r справ_файл — заимствовать атрибут у файла «справ_файл»; -t время — использовать вместо текущего указанное время в формате «[[ВВ]ГГ]ММДДччмм[.сс]», где ММ — номер месяца, ДД — день месяца, чч — час дня, мм — минуты, ВВ — первые две цифры года, ГГ — последние две цифры года, сс — секунды.

Операнды: файл — имя файла.

ls — вывести содержимое каталога

Синтаксис: ls [-CFRacdilqrtu1][-H | -L ][-fgmnopsx][файл...]

Семантика: Для каждого операнда, именующего файл типа иного, нежели каталог или ссылка на каталог, ls выводит имя и требуемую ключами информацию. Для каждого операнда, именующего каталог или ссылку на каталог, ls выводит имена и требуемую ключами информацию о каждом файле, содержащемся в этом каталоге. Если операнды не указаны, ls выводит информацию о файлах в текущем каталоге. Для ссылок на каталоги выводится информация о каталоге, если даны ключи «-d», «-F» или «-l» и не даны ключи «-H» или «-L», и информация о файлах в каталоге, если не даны ключи «-d», «-F» или «-l» или даны ключи «-H» или «-L».

Важнейшие ключи:-R — выводить рекурсивно информацию о подкаталогах; -a — включить информацию о скрытых файлах (файлах с именами, начинающимися на точку), -l («эль») — выводить информацию в «длинном» формате; -p — выводить после имен каталогов «/»; -t — отсортировать в порядке времени изменения.

Операнды: файл — имя файла.

Переменные:COLUMNS — количество столбцов на терминале; TZ — часовой пояс.

Вывод: по умолчанию выводится по одной записи в строке. -l — выводятся тип и права файла, количество ссылок, имя владельца, имя группы, длина файла, дата и время, имя файла.

rm — удалить записи о файлах

Синтаксис: rm [-fiRr]файл...

Семантика: rm удаляет запись в каталоге для каждого операнда за исключением файлов «.» или «..» в любом каталоге и за исключением (если не даны ключи «-r», «-R») каталогов.

Ключи:-f — не запрашивать подтверждения; -i — запрашивать подтверждение; -r, -R — рекурсивно удалять содержимое указанных каталогов.

Операнды: файл — имя файла.

Вывод ошибок: стандартный вывод ошибок используется для вывода запросов на подтверждение удаления файлов («-i»).

mkdir — создать каталог

Синтаксис: mkdir [-p][-m права] каталог...

Семантика: mkdir создает перечисленные каталоги.

Операнды: каталог — создаваемый каталог.

rmdir — удалить каталоги

Синтаксис:rmdir [-p]каталог...

Семантика: rmdir удаляет записи, соответствующие указанным пустым каталогам.

Операнды: каталог — удаляемый каталог.

cp — копировать файлы

Синтаксис: cp [-fip] исх_файл цел_файл ; cp [-fip] исх_файл... каталог ; cp -R [-H | -L | -P][-fip] исх_файл... каталог ; cp -r [-H | -L | -P][-fip] исх_файл... каталог

Семантика: первая синтаксическая форма характеризуется двумя файлами, ни один из которых не должен быть существующим каталогом. cp копирует исх_файл в цел_файл. Если исх_файл — символическая ссылка, копируется целевой файл этой ссылки.

Вторая синтаксическая форма характеризуется двумя или более операндами, отсутствием ключей «-R» или «-r» и неприменимостью первой формы. Исходные файлы не должны быть каталогами, а каталог должен быть существующим каталогом. cp копирует исходные файлы в указанный каталог под именами, совпадающими с краткими именами исходных файлов.

Третья и четвертая форма характеризуется двумя или более операндами и ключами «-r» или «-R». cp копирует все указанные файлы, а также рекурсивно каталоги с их содержимым в каталог.

Важнейшие ключи:-i — запрашивать подтверждение перед копированием в существующие файлы; -p — сохранять по возможности времена изменения и доступа к файлу, владельца и группу, права доступа; -R, -r — рекурсивно копировать содержимое каталогов.

Операнды: исх_файл — исходный файл; цел_файл — целевой файл; каталог — целевой каталог.

Стандартный вывод ошибок: стандартный вывод ошибок используется для вывода запросов на подтверждение перезаписи существующих файлов («-i»).

mv — переместить файлы

Синтаксис: mv [-fi] исх_файл цел_файл ; mv [-fi] исх_файл... каталог

Семантика: в первой синтаксической форме, характеризующейся тем, что последний операнд не является ни каталогом, ни символической ссылкой на каталог, mv перемещает исх_файл в цел_файл.

Во второй синтаксической форме cp копирует исходные файлы в указанный каталог под именами, совпадающими с краткими именами исходных файлов.

Ключи:-f — не запрашивать подтверждения перезаписи существующих файлов; -i — запрашивать подтверждение перезаписи существующих файлов.

Операнды: исх_файл — исходный файл; цел_файл — целевой файл; каталог — целевой каталог.

Стандартный вывод ошибок: стандартный вывод ошибок используется для вывода запросов на подтверждение перезаписи существующих файлов («-i»).

echo — вывести аргументы

Синтаксис: echo [строка...]

Семантика: echo выводит свои аргументы после раскрытия специальных символов в стандартный вывод, завершая вывод символом новой строки.

Операнды: строка — строка, подлежащая выводу. В строке после раскрытия спецсимволов оболочки раскрываются следующие символы: a — звуковой сигнал,  — пробел, c — подавить вывод символа новой строки, f — перевод страницы, — символ конца строки, — символ возврата каретки, — табуляция, v — вертикальная табуляция, \ — обратная косая черта, код — символ с восьмеричным кодом «код».

Стандартный вывод: между аргументами выводятся пробелы.

cat — вывести содержимое файлов

Синтаксис: cat [-u][файл...]

Семантика: cat последовательно выводит содержимое файлов.

Ключ: -u — читать и выводить файлы побайтно (по умолчанию — построчно).

Операнды: файл — выводимый файл. Если файл не указан, читается стандартный ввод. Если в списке файлов присутствует имя «-», вместо этого файла читается стандартный ввод.

Реализация: в большинстве систем ключ «-u» не реализован.

chmod — изменить права на файл

Синтаксис: chmod [-R] режим файл ...

Семантика: chmod изменяет биты режима доступа к каждому указанному файлу в соответствии с указанным режимом. Изменить режим доступа к файлу может только процесс с действующим идентификатором пользователя, совпадающим с владельцем файла, или привилегированный процесс.

Ключ: -R — рекурсивно изменять режим доступа к файлам, расположенным в указанных каталогах.

Операнды: режим — устанавливаемый режим доступа (в rwx— или числовой нотации); файл — имя файла.

umask — вывести или установить маску прав доступа

Синтаксис: umask [-S][маска]

Семантика: umask устанавливает маску прав вновь создаваемых в окружении текущей оболочки файлов в соответствии с указанным значением. Если операнд маска не указан, umask выводит текущую маску.

Ключ: -S — вывести маску в rwx-нотации.

Операнд: маска — маска прав в rwx— или числовой нотации.

ps — вывести состояние процессов

Синтаксис: ps [-aA][-defl][-G список][-o формат]...[-p список][-t список][-U список][-g список][-n список][-u список]

Семантика: ps выводит информацию о процессах в рамках собственных привилегий. По умолчанию выводится информация о процессах с теми же действующим UID и управляющим терминалом, что и у подающего команду пользователя.

Основные ключи: -a — вывести информацию о процессах, ассоциированных с терминалами; -A — вывести информацию о всех процессах; -f — вывести «полный» список; -l — вывести «длинный» список; -o формат — вывести список в указанном формате; -p список — вывести информацию о процессах с перечисленными в списке PID; -u список — вывести информацию о процессах с перечисленными идентификаторами или именами пользователей.

bg — перевести задание на задний план

Синтаксис: bg [идентификатор ...]

Семантика: bg возобновляет выполнение приостановленных процессов на заднем плане.

Операнд:идентификатор — PID ведущего процесса задания или номер задания, предваренный знаком «%».

fg — перевести задание на передний план

Синтаксис: fg [идентификатор ...]

Семантика: fg возобновляет выполнение приостановленных процессов на переднем плане или переводит процессы заднего плана на передний.

Операнд:идентификатор — PID ведущего процесса задания или номер задания, предваренный знаком «%».

jobs — вывести состояние заданий в текущем сеансе

Синтаксис: jobs [-l| -p][идентификатор...]

Семантика: jobs выводит состояние заданий в окружении текущей оболочки.

Ключи: -l («эль») — вывести полную информацию (номер задания, текущее задание, идентификатор группы, состояние и команду) для каждого задания; -p — вывести только идентификатор ведущего процесса каждого задания.

Операнд:идентификатор — PID ведущего процесса задания или номер задания, предваренный знаком «%».Если операнд отсутствует, выводится информация о всех заданиях.

kill — прекратить исполнение процесса или передать ему сигнал

Синтаксис: kill -s сигнал идентификатор ... ; kill -l [статус_завершения] ; kill [-сигнал] идентификатор ... ; kill [-номер_сигнала] идентификатор ...

Семантика: kill посылает указанный сигнал указанным процессам.

Ключи: —l («эль») — вывести список поддерживаемых сигналов; —s сигнал — послать сигнал с указанным именем; —сигнал — эквивалент «-s сигнал»; —номер_сигнала — послать сигнал с указанным номером.

Операнды: идентификатор — идентификатор процесса или предваренный знаком «%» номер задания; статус_завершения — код завершения, возвращаемый прекращаемым процессом.

set — установить или сбросить ключи и позиционные параметры, вывести список установленных переменных

Синтаксис: set [-abCefmnuvx][-h][-o ключ][аргумент...]; set [+abCefmnuvx][+h][+o ключ][аргумент...]; set — [аргумент...]; set -o; set +o

Семантика: будучи подана без аргументов, set выводит имена и значения всех переменных оболочки, разделенные знаком «=», по одной на каждой строке.

Будучи подана с аргументами, set устанавливает или сбрасывает ключи и позиционные параметры текущей оболочки. Эта функциональность в настоящем курсе не рассматривается.

env — установить окружение для издаваемой команды

Синтаксис: env [-i][имя=значение]... [утилита [аргумент...]]

Семантика: будучи подана без аргументов, env выводит имена и значения всех экспортированных переменных, разделенные знаком «=», по одной на каждой строке.

Будучи подана с аргументами, env модифицирует текущее окружение и запускает в нем указанную команду. Эта функциональность в настоящем курсе не рассматривается.

export — сделать переменные экспортируемыми

Синтаксис: export имя[=значение]... ; export -p

Семантика: оболочка устанавливает атрибут экспортируемости переменным, перечисленным в команде export, что включает их в окружение далее издаваемых команд. При указании ключа -p команда выводит выводит имена и значения всех экспортированных переменных, разделенные знаком «=» (если переменная установлена) или только их имена (если переменная сброшена), по одной на каждой строке, предваряя их цепочкой «export ».

Ключ: -p — вывести список экспортированных переменных и их значений.

nl — пронумеровать строки

Синтаксис: nl [-p][-b тип][-d ограничитель][-f тип][-h тип][-i приращение][-l номер][-n формат] [-s разделитель][-v нач_номер][-w ширина][файл]

Семантика: nl читает строки из указанного файла (или стандартного ввода, если файл не указан) и выводит их в стандартный вывод, предваряя номерами.

Команда интерпретирует текст как последовательность логических страниц. Нумерация строк возобновляется на каждой странице. Страница состоит из верхнего колонтитула, тела и нижнего колонтитула (каждая из этих частей может быть пустой), строки в которых могут нумероваться независимо.

Начало каждого из разделов указывается строкой, не содержащей ничего, кроме цепочки «:::» (начало верхнего колонтитула), «::» (начало тела) или «:» (начало нижнего колонтитула). При отсутствии таких строк файл считается содержащим единственную страницу.

Ключи: ключи команды nl позволяют указать различные параметры нумерации и формата вывода, и в настоящем курсе не рассматриваются.

Операнд:файл — имя файла. При отсутствии операнда строки вводятся из стандартного ввода.

sort — сортировать, слить или проверить сортировку строк в файле

Синтаксис: sort [-m][-o вывод][-bdfinru][-t символ][-k опр_ключа]... [файл...] ; sort -c [-bdfinru][-t символ][-k опр_ключа] [файл]

Семантика: sort выполнит одно из следующего: 1) отсортирует строки всех указанных файлов и выведет результат в указанный файл «вывод»; 2) сольет построчно (предварительно отсортированные) файлы и выведет результат в указанный файл «вывод» или 3) проверит единственный указанный файл на сортировку. Сравнения будут выполняться на основании указанных ключей или на основании строки в целом (вплоть до символа новой строки исключительно), с учетом порядка сортировки, определенного текущей локалью.

Ключи: ключи sort позволяют задавать параметры сортировки, слияния или проверки, и в настоящем курсе не рассматриваются. При отсутствии ключей строки ввода сортируются в прямом алфавитном порядке.

Операнд:файл — имя файла. Если файл не указан, сортируется стандартный ввод.

tee — дуплицировать стандартный ввод

Синтаксис: tee [-ai][file...]

Семантика: tee копирует стандартный ввод в стандартный вывод, дуплицируя его в один или более файлов.

Ключи:—a — добавить вывод в конец существующих файлов; —i — игнорировать сигнал SIGINT.

Операнд: файл — имя выходного файла.

vi — экранный (визуальный) текстовый редактор

Синтаксис: vi [-rR][-c команда][-t строка_тегов][-w размер][длина ...]

Семантика: vi является экранным текстовым редактором. Пользователь может переключаться между режимами vi и ex и издавать команды ex из vi.

Текущий редактируемый текст называется буфером редактирования. Все редактирование осуществляется в буфере редактирования и не затрагивает файлов до подачи команды записи. При использовании vi экран терминала представляет собой окно в буфер редактирования. Изменения в буфере редактирования отображаются на экране, а курсор отмечает позицию в буфере редактирования.

Важнейшие ключи: [[ex]]

—c команда — указать команду, которая будет исполнена после загрузки в буфер первого файла; -r — восстановить состояние буфера после ошибочного завершения; -R — открыть файл только для чтения.

Важнейшие команды:

Переключение между режимами: командный режим — <Esc>; режим ввода — a (в режим вставки (вставка после курсора)), i (в режим вставки (с вставкой перед курсором)), A (в режим вставки (вставка после конца текущей строки)), I (в режим вставки (перед первым непробелом)), R (в режим замены); режим редактирования строки команды — :, /, ?, !.

Файловые команды: ZZ, :wq — сохранить текущий буфер в файл и завершить работу; Сохраняет файл и выходит из vi; :w — сохранить текущий буфер в файл; :wимя сохранить текущий буфер в файл с указанным именем; :q — выйти из редактора; :e имя — загрузить файл с указанным файлом в буфер редактирования; :n — загрузить следующий файл в списке файлов.

Команды перемещения: CTRL-d — на полстраницы вниз; CTRL-u — на полстраницы вверх; CTRL-f — на страницу вниз; CTRL-b — на страницу вверх; :0 — к началу файла; :n — к строке номер n; :$ — к концу файла ; 0 — к началу строки; ^ — к первому непробелу; $ — к концу строки; <Enter> — к началу следующей строки; — — к началу предыдущей строки; j — на следующую строку; k — на предыдущую строку.

Команды редактирования: CTRL-h — удалить символ слева; CTRL-w — удалить слово слева; CTRL-v — ввести непечатаемый символ; x — удалить текущий символ; D — удалить до конца строки; dd — удалить текущую строку.

Команды поиска и замены: /текст — искать вперед образец текст; ?текст — искать назад образец текст; n — повторить последний поиск в том же направлении; N — повторить последний поиск в обратном направлении; :s/текст/новый_текст/ — заменить первый образец текст на новый_текст; :s/текст/новый_текст/g — заменить все образцы текст на новый_текст.