5 Стандартные программы и утилиты UNIX
За период существования UNIX был разработан ряд сервисных программ, многие из которых стали необходимой частью любой UNIX-системы. В первую очередь речь идет об элементарных командно-строковых утилитах, широко используемых как при работе пользователя, так и при написании сценариев. Последним фактором обусловлен характер этих утилит – реализация в виде команды с рядом параметров и ключей, ориентация на работу без непосредственного взаимодействия с пользователем, возможность использования в роли фильтров.
Кроме того, фактическим стандартом для UNIX-систем стало наличие более комплексных программных средств, таких, как компилятор языка программирования Си/Си++ (cc, gcc или egcs), связанные с ним утилиты (make, gdb), интерпретатор Perl, текстовые редакторы vi и emacs и др.
В UNIX принята система подробной документации на все поставляемые и устанавливаемые программные пакеты. С каждой командно-строковой утилитой поставляется так называемая man-страница – файл, предназначенный для поиска и просмотра утилитой man (см. раздел 5.1). Дополнительные сведения часто помещаются в каталоге /usr/doc.
В документации по командам UNIX приняты следующие правила ‘[-/записи: обязательные параметры указываются в угловых скобках или без скобок, необязательные – в квадратных скобках. Большинство команд воспринимают ряд ключей – параметров, уточняющих режим работы команды. Как правило, ключи представляют собой знак «минус» с последующей буквой, или «два минуса» с последующим ключевым словом.
Многие команды способны работать не только с файлами, но и с информацией, поступающей на стандартный ввод, что позволяет использовать их в качестве программ-фильтров.
man [секция] ключевое_слово
Выдает подробную справочную информацию по команде, утилите, программе, функции языка Си и т.п, заданной в качестве ключевого слова. Выход из режима просмотра производится нажатием клавиши «q». Справочные руководства тематически упорядочены по секциям, коды которых определяются конкретной реализацией UNIX. Обычно система автоматически определяет, в какой секции находится требуемое руководство; если ключевое слово может трактоваться неоднозначно (напр, printf – как функция Си и как команда shell), следует в явном виде указать код раздела.
man ls – вывести справочную информацию о команде ls;
man 1 printf – вывести информацию о printf из секции 1 (команды);
man HW fd – вывести руководство из секции HW (устройства) по устройству fd – дисковод (SCO UNIX).
apropos <ключевой_фрагмент>
Выдает список ключевых слов руководства man, в написании которых присутствует ключевой фрагмент.
apropos mem – выдать список всех известных системе команд, функций, файлов и т.п., в написании которых содержится сочетание “mem”.
grep [-v] <ключевое_слово> [файл(ы)]
Выделение в указанном файле строк, содержащих ключевое слово. С ключом –v – выделение строк, в которых нет указанного ключевого слова.
grep void *.c – вывод всех строк, содержащих “void”, из всех файлов, имя которых оканчивается на “.c”
grep –v # text1 – вывод файла text1, кроме строк, содержащих символ #.
Если имя файла не указано, команда обрабатывает строки со стандартного ввода:
ls –lp | grep rwx – из результатов команды “ls -lp” выбрать строки, содержащие права доступа “rwx”.
cat [файл]
Выдает содержимое указанного файла на стандартный вывод. Если имя файла не указано, копирует стандартный ввод на стандартный вывод.
more [файл]
То же, что cat, но выдает файл «порциями», позволяя просматривать содержимое больших файлов, пролистывая экраны клавишей «пробел». Прервать просмотр можно клавишей «q».
more /etc/inittab – просмотр файла /etc/inittab;
ls –lp | more – постраничный просмотр содержимого большого каталога
less [файл]
То же, что more, но позволяет перемещаться по просматриваемому тексту не только вниз, но и вверх (при помощи курсорных клавиш). Позволяет также найти нужный фрагмент (ключевое слово) при помощи клавиши «/».
who
Выводит информацию о пользователях, которые в данный момент работают в системе.
date
Вывести текущую дату и время. Имеются также дополнительные параметры для установки даты и времени. Установку может производить только суперпользователь root.
wc [-ключ] [файл]
Подсчет символов, строк и слов (фрагментов, разделенных пробелами). Если в командной строке указано имя файла, анализируется его содержимое; иначе – стандартный поток ввода. Допустимые ключи: -l – вывести только количество строк, -w – только количество слов, -с – только количество символов.
wc –l /etc/passwd – вывести число строк в файле /etc/passwd (соответствует числу зарегистрированных в системе пользователей);
who | wc –l – один из способов оценить количество работающих в данный момент в системе пользователей.
dd [параметр=значение...]
Копирование информации с потока стандартного ввода на поток стандартного вывода с преобразованием. Некоторые из возможных параметров команды dd:
bs=<число_байт> - размер блока (применяется при доступе к устройствам);
if=<файл> - вместо стандартного ввода, читать данные из указанного файла;
of=<файл> - вместо стандартного вывода, писать данные в указанный файл;
conv=lcase – преобразовать все буквы к строчному регистру;
conv=ucase - преобразовать все буквы к заглавному регистру.
dd if=/etc/hosts conv=lcase – вывести файл /etc/hosts, преобразовав все символы к строчному регистру;
dd if=DiskImage of=/dev/fd0 bs=512 – скопировать файл-образ диска на дискету с указанным размером сектора (блока).
echo [-n] [параметры]
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.