
- •Лабораторная работа 2 Основы использования командной строки
- •2.1. Выполним первые действия в командном режиме
- •2.2. Изучим команды, сообщающие информацию о программно-аппаратном комплексе компьютера
- •2.3. Познакомимся с командой echo, переменными оболочки и параметрами запуска программ
- •2.4. Изучим систему помощи в командном режиме семейства unix/Linux
- •2.5. Изучим, что такое команда
- •2.5.1. Рассмотрим типы и количество команд
- •2.5.2. Рассмотрим параметры командной строки
- •2.5.3. Рассмотрим использование нескольких опций одной команды
- •2.6. Рассмотрим использование специальных символов оболочки
- •2.7. Изучим историю набранных команд и средства редактирования командной строки
- •2.8. Рассмотрим простейшее использование текстового редактора VI
- •2.9. Ознакомимся с основами работы с программой Midnight Commander
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
а такая
ls –Ca
даст более полную информацию о каждом из файлов.
Приведем пример задания противоречивых опций на примерах очень важных команд 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.