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