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 — заменить все образцы текст на новый_текст.