Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Linux_asp_2_rabota.doc
Скачиваний:
14
Добавлен:
16.08.2019
Размер:
322.05 Кб
Скачать

2.5.3. Рассмотрим использование нескольких опций одной команды

Каждая системная команда имеет свой набор опций, которые можно указать вместе, поставив перед ними один знак «-» (дефис). Записать несколько опций разделенных пробелами, можно указывая перед каждой из них свой «-».

Приведем пример записи нескольких опций команды ls, которая выводит содержимое каталога. Опция –l этой команды выдает список полной информации о каждом файле, опция же –a еще и скрытые файлы. Если нужно выполнить команду с обоими свойствами, то можно задать

ls –la

либо

ls -l -a

В обоих случаях результат будет одинаков. Мы уже его приводили ранее.

Из всех опций одной команды могут быть выделены группы взаимоисключающие друг друга. Учитывая, что одной команде можно давать сразу несколько параметров, изучим примеры, в которых ей заданы опции, действия которых противоречивы. Например, команда ls с опцией –l выдает полную информацию о каждом файле, а опция aC – короткую, в несколько столбиков.

Если две противоречивые опции (–aCl) и (–laC) команды ls задать вместе, то результат зависит от того, в каком порядке они записаны. Вывод осуществляется так, как диктует последний из записанных параметров (расположенный левее). Например, такая команда

ls –aC

выведет следующее

. .cshrc .gnome .kde .viminfo

.. .default_context .gnome2 .mc .Xresource

.bash_logout .font.cash-1 .gnome2_private .mozila

.bash_profile .gconf .gstreamer-0.0 .rnd

.bashrc .gconfd .gtkrc .tcshrc

а такая

lsCa

даст более полную информацию о каждом из файлов.

Приведем пример задания противоречивых опций на примерах очень важных команд cal и date, а затем - man. Первая из них имеет много опций. Изучим две из них. Дадим

cal –j

Ноябрь 2006

Пн Вт Ср Чт Пт Су Вс

305 306 307 308

309 310 311 312 313 314 315

316 317 318 319 320 321 322

323 324 325 326 327 328 329

330 331 332 333 334

120

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

cal -m

Ноябрь 2006

Пн Вт Ср Чт Пт Су Вс

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30

Для всех четырех форм записи команды cal

cal -j -m

cal -m –j

cal –jm

cal –mj

результат получится как после применения опции –j.

Таким образом, независимо от того, в каком порядке записаны опции -j и -m для команды cal результат будет одним и тем же, как для команды с опцией -j.

Теперь рассматриваем команду date. Она позволяет пользователю с привилегиями администратора изменять системную дату, а остальным пользователям выводить информацию об установленной в системе дате и времени. Системная утилита имеет много параметров, с широким многообразием формата вывода результата. К примеру, если задать ее без параметров будет выведено следующее

date

Вск Апр 9 08:49:17 MSD 2006

Приведем несколько примеров команды date с разными параметрами

date +%А

Воскресенье

date +%D

04/09/06

Отметим, что здесь порядок вывода информации такой: месяц, день и год

date +%А +%D

Воскресенье 04/09/06

date +%d/%m/%y

09/04/06

Обратим внимание, что здесь число 04 – это месяц.

Если команде дать противоречивые опции, то выдается результат обеих. Например, параметр %S выводит время UNIX, а %s – только секунды текущего времени в привычной записи.

date +%s %S

1162737385 25

date +%S %s

25 1162737385

Интересный результат получается, если задать команде противоречивые опции основной системе помощи

man –k -f passwd

или

man –f -k passwd

выдает

man: Опции -k и -f несовместимы

Задание 17

Изучите применение противоречивых опций (%r - %T) для команды date и (a - i) для – hostname.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]