Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ОС.doc
Скачиваний:
17
Добавлен:
05.11.2018
Размер:
2.06 Mб
Скачать

Минимальный набор команд

Команды и основные понятия

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

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

$

Это символ называется приглашением командной строки и показывает, что система готова к приему команд. Конечно, если вы не имеете опыта работы с UNIX, вы испытаете в этот момент смущение. Но после того как вы узнаете, что символ $ является приглашением к вводу и означает, что система ожидает команд от вас и UNIX уже не будет такой пугающей. (В качестве приглашения могут использоваться различные символы, в зависимости от того, какой интерпретатор командной строки вы используете. Если вы пользуетесь Korn shell или Bourne shell, то в качестве приглашения будет использоваться символ $; в С shell используется % и т.д.)

Команды

Польза просвещения становится понятной, когда вы впервые учитесь обращаться с компьютером. Без инструкций, называемых командами, компьютер может разве что стоять на месте и потреблять электроэнергию. Все, что делает компьютер, — это точное выполнение введенных инструкций. Главное - убедиться, что инструкции, которые вы ему даете, приведут к желаемому результату.

Запомнив это, вы можете уверенно подойти к вашему терминалу и ввести команду. После символа приглашения вы вводите как команду (или несколько команд), так и необходимые для нее параметры и аргументы; вместе это называется командной строкой. В UNIX все является командой, вне зависимости от того, что вы делаете. Чтобы запустить программу, вы даете соответствующую команду. Чтобы получить список файлов в каталоге, вы вводите команду. Чтобы запустить текстовый редактор, вы используете команду.

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

Обычная командная строка выглядит примерно так:

$ ls -1

Вторая часть командной строки, -1, называется параметром.

Параметры и аргументы меняют действие команды, как правило, в достаточно узких рамках. Например, один из параметров команды ls (выводящей список файлов в каталоге) указывает команде на необходимость произвести вывод в один столбец, а не в несколько. Очень малое количество команд не использует параметров. Умение правильно использовать параметры необходимо, если вы хотите обращаться легко с UNIX.

Когда вы введете командную строку, показанную далее, на экране появится что-нибудь вроде этого:

$ ls

data financials

personnel misc

newdata

Какие именно имена файлов будут выведены — неважно, главное для нас в настоящий момент то, что они выведены в столбец.

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

В одной командной строке может быть введено более одной команды. Это значит, что вы можете после имени команды и ее параметров ввести инструкции, указывающие на необходимость передачи результата выполнения команды другой команде. В царстве UNIX это называется перенаправлением стандартного вывода и стандартного ввода. Давайте рассмотрим типичный пример.

Команда cat — одна из часто используемых в UNIX команд. Если вы запустите эту команду саму по себе, результат будет следующим:

$ cat

После этого каждая введенная вами строка после нажатия клавиши Enter будет дублироваться на экране. Строки не будут сохранены на диске. После того как они будут выведены на экран, они исчезнут навсегда.

Как и большинство команд, cat использует в качестве стандартного ввода клавиатуру, а в качестве стандартного вывода — экран монитора. Вот почему после запуска этой команды без параметров строки, вводимые с клавиатуры, просто выводятся на экран. Команда cat сама по себе абсолютно бесполезна, если, конечно, вы не получаете удовольствие, наблюдая, как компьютер повторяет то, что вы вводите.

При указании в командной строке имени файла команда cat становится более полезной. Она позволяет вывести на экран содержимое файла:

$ cat kevin.report

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

При помощи команд переназначения ввода/вывода можно использовать команду cat для решения различных задач. Например, если вы хотите сохранить вводимую вами с клавиатуры информацию в файле, вы можете использовать cat. В следующем примере вводимая вами с клавиатуры информация будет направлена в файл report.1997:

$ cat > report.1997

В этом примере cat выступает в роли простейшего текстового редактора. Вы можете вводить текст строка за строкой. Закончив ввод, нажмите на клавиатуре Ctrl-D. (Сочетание клавиш Ctrl-D сообщает UNIX, что ввод закончен.)

Можно использовать cat в качестве альтернативного метода копирования файлов:

$ cat report.1997 > report.1998

В этом примере указаны файлы как для стандартного ввода (report.1997), так и для стандартного вывода (report.1998). файл report.1997 не изменяется, а его содержимое копируется в новый файл report.1998. (Кстати, это способ, которым в UNIX производится печать. Принтер представлен файлом. Помните, вас предупреждали, что в UNIX все есть файл? Когда вы печатаете документ, вы направляете вывод команды на принтер, то есть в соответствующий файл.)

Наконец, вы можете дописать несколько строк в конец существующего файла или присоединить один файл к другому:

cat report.1998 » report.1997

Эта команда присоединит содержимое файла report.1998 к содержимому файла report.1997. Если вы хотите дописать несколько строк в конец файла с клавиатуры, используйте такую команду:

$ cat » report.1997

Описанные выше операции перенаправления приведены ниже:

Символ Использование Результат

> команда > файл Вывод команды записывается в файл

< команда < файл Файл используется в качестве стандартного ввода команды » команда » файл

Вывод команды дописывается в конец файла команда! [ команда2 Выполняется команда!, затем ее стандартный вывод подается на стандартный ввод команды2

Внимательный читатель может заметить, что символ <, описываемый в табл. 1, может быть использован аналогично разобранному нами ранее примеру:

$ cat kevin.report

Тот же результат даст выполнение команды

$ cat < kevin.report

Разница заключается в том, каким образом командный интерпретатор UNIX обрабатывает эти команды. В первом примере имя файла kevin.report является аргументом команды cat. Во втором случае интерпретатор командной строки производит перенаправление стандартного ввода команды cat.

Вы можете использовать несколько операций перенаправления в одной командной строке. Например, многие команды UNIX (особенно сценарии интерпретатора командной строки) вызываются следующим образом:

$ команда < файл! > файл2

При этом стандартный ввод команды берется из файла файл1, а стандартный вывод записывается в файл файл2.

Потоки

Все преимущества возможности перенаправления ввода/вывода становятся ясны при использовании еще одного мощного инструмента UNIX— потоков. Потоком называется использование стандартного вывода одной команды в качестве стандартного ввода другой. Выглядит это так:

$ команда! ¦ команда2

Например, вы можете отсортировать содержимое файла перед печатью. Вам нужно использовать команду sort и отправить ее вывод на ввод команды Ip, осуществляющей печать. Командная строка для печати отсортированного файла будет выглядеть так:

$ sort textfile | lp

В одной командной строке можно указать несколько потоков, например:

$ cat *.1994 ¦ grep profits | lp

Эта командная строка произведет поиск в текущем каталоге файлов, имена которых заканчиваются на 1994, отправит список таких файлов на ввод команды grep, которая произведет поиск в этих файлах слова profits. Затем строки, содержащие это слово, будут напечатаны.

КРАТКАЯ СПРАВКА ПО КОМАНДАМ UNIX

Эта информация поможет пользователям, знающим, что они хотят сделать, найти соответствующую команду UNIX. Левый столбец приведенной ниже таблицы содержит описания часто встречающихся задач: ключевые слова выделены полужирным шрифтом. Соответствующие задаче команды UNIX приведены в правом столбце. Многие команды встречаются несколько раз; например, команду Is вы можете найти как по ключевому слову список, так и по ключевому слову файл.

создание файлового архива

tar, cpio

архивация файла

compress, pack

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

time, timex

запуск программы в указанное время

at

вывод файла на экран

cat, page, dtpad, textedit. xedit

постраничный вывод файла на экран

more

вывод на экран первых десяти строк файла

head

вывод на экран последних десяти строк файла

tail

вывод содержимого заархивированного файла

peat

выполнение вычислений

be, dc

вывод даты и времени

date

изменение даты модификации файла на текущую

touch

деархивация файла

unpack, uncompress

декодирование UU-кода

uudecode

вывод объема свободного дискового пространства

df

вывод объема дискового пространства, занятого данным каталогом

du

завершение работы

exit

печать заголовка

banner

захват изображения на экране

xv, xwd

печать изображений

xdpr, xpr

вывод имени системы

uname

запуск интерпретатора командной строки

sh, csh, ksh

запуск интерпретатора командной строки на удаленной системе

rsh

личный календарь

cm, dtcm

вывод календаря

cal, cm, dtcm

калькулятор

calctool, dtcalc, xcalc

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

mkdir, filemgr, dtfile

вывод размера каталога

du

вывод списка файлов и подкаталогов данного каталога

Is

смена текущего каталога

cd

печать заголовка

banner

персональный календарь

calendar, cm, dtcm

подсчет количества слов в текстовом файле

we

выполнение повторяющихся задач

crontab

поиск текстовых строк

egrep, grep, fgrep

поиск и замена символов

tr

поиск в файле

awk, nawk

поиск файлов

find

вывод списка пользователей

listusers

вывод информации о других пользователях системы

who

поиск информации о других пользователях системы

finger

выполнение последовательности команд

batch

запуск команды с пониженным приоритетом

nice

проверка правописания

spell

прерывание процесса

kill

вывод списка процессов

ps

присоединение содержимого файлов к существующему файлу

cat

разбиение файла на части

csplit, split

редактирование текстового файла  

vi, ed, dtpad, textedit, xedit

резервирование информации

tar, cpio

поиск и замена символов

tr

вывод списка известных систем

uuname

вывод системного идентификатора пользователя

id

вывод системных сообщений

news

подсчет числа слов в файле

we

вывод состояния службы UUCP

uustat

создание нового текстового файла

cat, dtpad, textedit,

 

xedit

установка соединения с удаленным терминалом

ct

установка соединения с удаленной UNIX-системой

cu

разрешение/запрет вывода сообщений на терминал

mesg

вывод сообщений

news

сортировка файла

sort

сортировка и обработка файла

awk, nawk

вывод состояния машин в сети

ruptime

вывод списка файлов в каталоге

Is

сравнение содержимого двух каталогов

dircmp

сравнение содержимого двух отсортированных файлов

comm

сравнение трех файлов

diff3

сравнение двух файлов и вывод отличающихся строк

diff, bdiff

сравнение двух файлов

cmp

сравнение двух файлов и вывод

 

отличающихся и совпадающих строк

sdiff

создание ссылок

In

печать на стандартный вывод

echo

запись стандартного вывода в файл

tee

вывод столбца из отсортированного файла

cut

поиск текстовых строк в бинарном файле

strings

поиск текстовых строк

egrep, grep, fgrep

табличный процессор

tbi

настройка табуляции

tabs

смена текущего каталога

cd

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

pwd

открытие окна терминала  

xterm, dtterm, shelltool

вывод информации о терминале

tput

настройка конфигурации терминала

stty

вывод параметров терминала

tty

определение типа файла

file

удаление из очереди заданий, созданных командой at

atrm

удаление заданий из очереди печати

cancel

удаление каталога

rmdir, filemgr, dtfile

удаление файла  

rm, filemgr, dtfile

удаление форматирующих символов из файла

 col

копирование файлов с удаленной системы  

rep, uucp, ftp

выполнение команды на удаленной системе

uux

запуск интерпретатора командной строки на

удаленной системе

rsh

вход в удаленную систему  

telnet, riogin

вывод информации о соединениях с удаленными системами

uulog

создание нового текстового файла 

cat, dtpad, textedit, xedit

изменение даты модификации файла на

 

текущую

touch

вывод полного имени файла

basename

вывод файла на экран

cat, page, dtpad, textedit, xedit

постраничный вывод файла на экран

more

вывод на экран первых десяти строк файла

head

вывод на экран последних десяти строк файла

tail

вывод списка файлов в каталоге

Is

копирование файла

cat, cp, filemgr, dtfile

определение типа файла

file

поиск файла

find

разбиение файла

split

редактирование файла

vi, ed, dtpad. textedit, xedit

удаление файла

rm

шифрование файла

crypt

печать формул

eqn, neqn

отображение шрифта

xfd, xfontsel

вывод списка доступных шрифтов

xlsfonts, fslsfonts

отправка и чтение электронной почты

mailx, dtmail, mailtool

уведомление о получении новых писем по электронной почте

notify, xbiff