Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Забродин УНИХ основы командного интерфейса 2010

.pdf
Скачиваний:
159
Добавлен:
16.08.2013
Размер:
1.33 Mб
Скачать

ОПИСАНИЕ

Команда Is для каждого имени каталога распечатывает список входящих в этот каталог файлов; для файлов — повторяется имя файла и выводится дополнительная информация в соответствии с указанными флагами. По умолчанию имена файлов выводятся в алфавитном порядке. Если имена не заданы, выдается содержимое текущего каталога. Если заданы несколько аргументов, то они сортируются по алфавиту, сначала всегда идут файлы, а потом каталоги с их содержимым.

Командой Is обрабатываются в том числе из общего списка опций следующие флаги:

— вывести список всех файлов (обычно не выводятся файлы, имена которых начинаются с точки);

-d — если аргумент является каталогом, то выводить только его имя, а не содержимое. Часто используется с флагом -I для получения сведений о состоянии каталога;

-С — вывод в несколько колонок с сортировкой по колонкам; вывод в свободном формате, имена файлов разделяются

запятыми;

-l — вывод в длинном формате: перед именами файлов выдается режим доступа, количество ссылок на файл, имена владельца и группы, размер в байтах и время последней модификации. Если файл является специальным, то в поле размера выводится старший и младший номер устройства;

-t — имена файлов сортируются не по алфавиту, а по времени (сначала идут самые свежие файлы). По умолчанию используется время последнего изменения.

Режим доступа к файлу при указании флага -I выводится в виде

10символов. Первый символ означает: d — файл является директорией;

b — файл является специальным блочным файлом;

с — файл является специальным символьным файлом; р — файл является именованным каналом;

- — обычный файл.

Остальные девять символов делятся на три группы по три символа (r,w,x): права доступа владельца, других пользователей из его группы, всех прочих пользователей.

191

MAIL

mail — отправка пользователям почты или ее чтение

СИНТАКСИС

mail [-о] [-s] [-w] [-t] адресат …

mail [-е] [-h] [-p] [-q] [-r] [-f файл][-F адресат ...]

ОПИСАНИЕ

Отправка почты:

-w — отправить письмо удаленному пользователю без ожидания завершения пересылки;

-t — добавить к письму строку "То: адресаты", что позволяет получателю знать всех адресатов письма.

Адресат обычно задается как входное имя пользователя [login]. Если адресат задан, предполагается, что выполняется отправка почты (за исключением случая опции -F). При этом текст отправляемого сообщения читается со стандартного ввода, пока либо не будет введен символ конца файла (CTRL+D), либо не будет введена строка, состоящая из единственной точки. Затем команда mail добавляет письмо к почтовому файлу каждого адресата. Письмо — это сообщение, перед которым стоит почтовый штемпель. Почтовый штемпель состоит из одной или нескольких строк "From ...", за которыми идет пустая строка (если только не была использована опция -s).

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

имя_системы![имя_системы!...]имя_полъзователя Чтение почты

На чтение почты воздействуют следующие опции:

-е — установка кода завершения без вывода почты. Нулевое значение кода завершения означает, что у пользователя есть почта, в противном случае возвращается 1;

-h — показ окна с заголовками писем, а не текстов писем. Затем выдается приглашение "?";

-р — вывод текстов всех писем безпромежуточных приглашений;

192

-q — завершить работу команды mail после получения прерывания. В противном случае прерывание вызывает лишь прекращение вывода текста письма;

-r — выводить тексты писем в порядке поступления;

-f файл — использовать файл вместо подразумеваемого почтового файла;

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

По умолчанию команда mail выводит тексты писем в порядке, обратном к порядку их поступления, т. е. сначала выдается самая свежая почта. После выполнения очередного действия происходит либо выход из mail, если было обработано последнее письмо, либо выдается приглашение (символ "?") и со стандартного ввода читается строка, определяющая следующую команду. Для обработки и просмотра почты доступны следующие команды:

перевод _строки, + или п Перейти к следующему письму;

-d или dp — удалить письмо и перейти к следующему. Как и в двух последующих командах, собственно удаление произойдет лишь в конце сеанса работы с mail;

-d п . — удалить письмо с номером n (письма нумеруются с 1, в порядке поступления). Не переходить к следующему письму;

-. dq — удалить письмо и выйти из mail;

-s [файл ...] — сохранить письмо в указанных файлах (по умолчанию используется файл $НОМЕ/тbох). Из почтового файла письмо удаляется;

[адерсат ...] — переслать текущее письмо указанным адресатам;

-q или CTRL+D — оставить в почтовом файле только неудаленные письма и завершить сеанс работы с командой mail;

— оставить почтовый файл неизменным и завершить сеанс работы с командой mail;

-! команда — выполнить одну команду shell; -? — показать перечень команд.

При входе в систему пользователю сообщается о наличии для него почты, если она есть. Также сообщается о появлении новой почты во время сеанса работы с командой mail.

193

MESG

mesg — разрешает или запрещает сообщения

СИНТАКСИС mesg[n] или [у]

ОПИСАНИЕ

Команда mesg с аргументом n, лишая права записи всех, кроме владельца, запрещает посылать сообщения на терминал пользователя с помощью команды write. Команда mesg с аргументом у восстанавливает право посылки сообщений. Mesg без аргументов сообщает о состоянии терминала (is у — посылка разрешена, is n — запрещена), не меняя состояние.

USAGE

usage — выдача описания команд и примеров использования

СИНТАКСИС

[help] usage [-d] [-е] [-о] [имя_команды]

ОПИСАНИЕ

Команда справочной службы usage выдает информацию о командах системы UNIX. Будучи вызванной без аргументов, usage выводит на экран меню, приглашающее пользователя или ввести имя команды, или получить список команд, поддерживаемых в usage. Пользователь может также вернуться в систему, введя q ("quit" - выйти).

MKDIR

mkdir — создание каталога

СИНТАКСИС

mkdir [-т режим_доступа] [-р] каталог...

ОПИСАНИЕ

По команде mkdir создается один или несколько каталогов с режимом доступа 0777 [возможно, измененном с учетом umask(l) и опции -т]. Стандартные файлы ("." — для самого каталога и ".." — для вышележащего) создаются автоматически; их нельзя создать по имени. Для создания каталога необходимо располагать правом записи в вышележащий каталог.

Идентификаторы владельца и группы новых директорий устанавливаются, соответственно, равными реальным идентификаторам владельца и группы процесса.

194

Командой mkdir обрабатываются две опции:

-t режим_доступа — явное задание режима_доступа для создаваемых каталогов [см. chmod];.

— при указании этой опции перед созданием нового каталога предварительно создаются все несуществовавшие ранее вышележащие каталоги, указанные в виде маршрутного имени в команде.

MORE

more — вывод содержимого файла

СИНТАКСИС more [имя_файла] ОПИСАНИЕ

Команда осуществляет поэкранный вывод содержимого файла. Команда обладает другими широкими возможностями управления выводом с помощью ключей и собственных команд типа команд vi.

Назначение управляющих клавиш: «q» — выход из команды;

«Return» — вывод очередной строки;

«Spase» — вывод очередного экрана с информацией.

MV

mv — перемещение (переименование) файлов

СИНТАКСИС

mv [-f ] фа-йл1 [файл2...] целевой_файл

ОПИСАНИЕ

Команда mv перемещает (переименовывает) файл1 в целе-

вой_файл. Файл1 не должен совпадать с иелевым_файлом.

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

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

Если файл1 является каталогом, то он переименовывается в целевой_файл, только если у этих двух каталогов общий надкаталог; при этом все файлы, находившиеся в файле1, перемещаются под своими именами в целевой_файл. Если файл1 является файлом, а

195

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

NICE

nice — выполнение команды с пониженным приоритетом

СИНТАКСИС

nice. [-коэффициент_понижения] команда [аргументы] ОПИСАНИЕ

Команда nice выполняет команду с пониженным приоритетом. Коэффициент_понижения задается в диапазоне 1-19 (по умолчанию равен 10).

Суперпользователь может выполнять команды с повышенным приоритетом, для этого нужно указать отрицательный коэффици-

ент_понижения, например -10.

Коэффициент_понижения, больший 19, принимается равным 19. Если обычный пользователь указывает отрицательный коэффициент_понижения, команда выполняется с нормальным приоритетом.

NOHUP

nohup – защищает команду от прерываний при выходе пользователя из системы

СИНТАКСИС nohup <команда> &

ОПИСАНИЕ

Защищает <команду>, выполняемую в фоновом режиме, от прерываний, возникающих при выходе пользователя этого процесса из системы. Выполнение фонового процесса продолжается несмотря на то, что его родительский shell уже завершен. Родителем защищенной команды становится процесс с номером 1 (init). В противном случае выход из системы приводит автоматически к прекращению выполнения фоновых заданий.

Обычно при использовании этой команды стандартный вывод и стандартный протокол защищенной команды должны перенаправляться пользователем в собственный файл. Если файл вывода не указывается, то nohup сама обеспечивает перенаправление в файл nohup.out.

196

PS

ps — выдача информации о состоянии процессов

СИНТАКСИС ps [опции]

ОПИСАНИЕ

Команда ps выдает информацию об активных процессах. По умолчанию информация дается только о процессах, ассоциированных с данным терминалом. Выводятся идентификатор процесса, идентификатор терминала, истраченное к данному моменту время ЦП и имя команды. Если нужна иная информация, следует пользоваться опциями.

Некоторые опции имеют один аргумент или список аргументов. Аргументы в списке могут быть либо отделены друг от друга запятыми, либо все вместе заключены в двойные кавычки и отделены пробелами или запятыми. Аргументы в списке_процессов и в списке_групп должны быть числами. Командой ps обрабатываются следующие опции:

-е — вывести информацию обо всех процессах; — вывести информацию обо всех наиболее часто запраши-

ваемых процессах, т.е. обо всех процессах, кроме лидеров групп и процессов, не ассоциированных с терминалом;

-f — генерировать полный листинг (см. ниже разъяснение смысла колонок);

-l — генерировать листинг в длинном формате (см. ниже);

-t— список_терминалов. Выдавать информацию только о процессах, ассоциированных с терминалами из заданного списка_терминалов. Терминал — это либо имя файла-устройства, например ttyномер или console, либо просто номер, если имя файла начинается с tty;

-р — cписок_идентификаторов_процессов. Выдавать информа-

цию только об указанных процессах; и спи-

сок_идентификаторов_пользователей — выдавать информацию только о процессах с заданными идентификаторами или входными именами пользователей. Идентификатор пользователя выводится в числовом виде, апри наличии опции -f — всимвольном;

-g — список_идентификаторов_лидеров_групп. Выводить информацию только о процессах, для которых указаны идентификаторы лидеров групп. Лидер группы — это процесс, номер которого

197

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

При указании опции -f ps пытается определить имя команды и аргументы, с которыми был создан процесс, исследуя пользовательский блок процесса. Если это не удается, имя процесса выводится так же, как и при отсутствии опции -f, только заключается в квадратные скобки. Ниже приводятся заголовки колонок выдачи и объясняется смысл их содержимого. Буква l или f в скобках означает, что эта колонка появляется соответственно при длинном или полном формате выдачи; отсутствие букв означает, что данная колонка выводится всегда.

ЗАГОЛОВКИ

F(l) Флаги (шестнадцатеричные), логическая сумма которых дает следующие сведения о процессе:

00 — процесстерминирован; элементтаблицыпроцессовсвободен; 01 — системный процесс: всегда в основной памяти; 02 — процесс трассируется родительским процессом;

04 — родительский трассировочный сигнал остановил процесс; родительский процесс ждет;

08 — процесс не может быть разбужен сигналом;

10 — процесс в основной памяти; 20 — процесс в основной памяти; блокирован до завершения

события; 40 — идет сигнал к удаленной системе;

80 — процесс в очереди на ввод/вывод.

S(l) Статус процесса:

О — активный: обрабатывается процессором; S — спящий: ожидает завершения события; R — готов: стоит в очереди на выполнение; I — рождающийся: процесс создается;

Z — состояние "зомби": процесс завершен, но родительский процесс не ждет этого;

Т — трассируемый: процесс остановлен сигналом, так как родительский процесс трассирует его;

Х — свопируемый: процесс ожидает получения большего объема основной памяти;

198

UID(f,l) — идентификатор владельца процесса; при указании опции -/ выдается входное имя пользователя;

PJD — идентификатор процесса (необходим для терминирования процесса);

PPID(f,l) — идентификатор родительского процесса; C(f,l) — доля выделенного планировщиком времени ЦП;

STIME(f) — время запуска процесса (часы:минуты:секунды). Если процесс запущен более чем 24 часа назад, выдается месяц и день запуска;

PRI(l) — приоритет процесса; большее число означает меньший приоритет;

N1(1) — поправка к приоритету; ADDR(l) — адрес процесса в памяти;

SZ(l) — размер (в страницах по 512 байт) свопируемого образа процесса в основной памяти;

WCHAN(l) — адрес события, которого ожидает процесс;

TTY — управляющий терминал (обычно — терминал, с которого был запущен процесс). Если такового нет, выдается символ "?";

TIME — истраченное процессом время ЦП;

COMMAND — имя программы; если указана опция -f, то, выводится полное имя команды и ее аргументы.

Процесс, закончивший выполнение своей программы и имеющий родительский процесс, не дождавшийся еще завершения, в качестве имени программы получает <defunct>. Во время выполнения команды ps положение вещей может измениться; таким образом, ps дает лишь хорошее приближение к действительности.

Некоторые сведения, относящиеся к процессам, отмеченным как <defunct>, не соответствуют действительности. Если не указана ни одна из опций -t, -p, -и, -д, команда ps проверяет стандартный ввод, стандартный вывод и стандартный протокол (в указанном порядке) для определения управляющего терминала и пытается вывести информацию о процессах, ассоциированных с этим терминалом. В ситуации, когда все три стандартных направления ввода/вывода переназначены, ps не может найти и выдать имя управляющего терминала. Команда ps -ef может не отметить начало входа в систему, а вывести сведения о последнем запуске для данной терминальной линии.

199

PWD

pwd — выдача имени текущего каталога

СИНТАКСИС pwd

ОПИСАНИЕ

Команда pwd выдает имя текущего (рабочего) каталога.

RM

rm — удаление файлов или каталогов

СИНТАКСИС rm [-f] [-г] файл ...

rm -r [-f] [-г] каталог ... [файл ...]

ОПИСАНИЕ

Команда rm служит для удаления указанных имен файлов из каталога. Если заданное имя было последней ссылкой на файл, то файл уничтожается. Для удаления пользователь должен обладать правом записи в каталог; иметь право на чтение или запись файла необязательно. Если нет права на запись в файл и стандартный ввод назначен на терминал, то выдается (в восьмеричном виде) режим доступа к файлу и запрашивается подтверждение; если оно начинается с буквы у, то файл удаляется, иначе — нет. Допускаются следующие три опции:

-f — команда не выдает сообщений, когда удаляемый файл не существует, не запрашивает подтверждения при удалении файлов, на запись в которые нет прав. Если нет права и на запись в каталог, файлы не удаляются. Сообщение об ошибке выдается лишь при попытке удалить каталог, не имея прав на запись в него (см. опцию -r);

-r — происходит рекурсивное удаление всех каталогов и подкаталогов, перечисленных в списке аргументов. Сначала каталоги опустошаются, затем удаляются. Подтверждение при удалении файлов, на запись в которые нет прав, не запрашивается, если задана опция -f, или стандартный ввод не назначен на терминал и не задана опция -i.

При удалении непустых каталогов команда rm -r предпочтительнее команды rmdir, так как последняя способна удалить только пустой каталог;

200