9423f23c

НЕСКОЛЬКО ПРОСТЕЙШИХ КОМАНД UNIX


Первоначальная версия этого текста

подготовлена НПО "КЛОТО"

Система UNIX различает БОЛЬШИЕ и малые буквы, и к этому нужно привыкнуть.

Если вы уничтожили какой-нибудь файл, то никаких проблем с

его восстановлением у вас не будет. Потому что восстановить

уничтоженный файл в системе Unix НЕВОЗМОЖНО. В Unix отсутствует

команда unerase, и к этому тоже нужно привыкнуть. Вирусы и антивирусы в Unix тоже отсутствуют. Так что, пока хоть этой проблемы у администратора машины не будет.

В имени файла директории отделяются от последующей части

символом "/" Если имя начинается со слэша - значит, это полное

маршрутное имя. Простое имя файла может состоять из ЛЮБЫХ символов. Длина простого имени не более 256 символов. Длина полного маршрутного имени файла не более 1024 символов. Для задания

шаблона имен используются символы * (произвольная последовательность символов) и ? (один произвольный символ). Два имени

являются выделенными. Имя из одной точки "." обозначает текущую

директорию, имя из двух точек ".." - вышележащую.

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

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

пробелами. Ключи команды обычно (но необязательно) выделяются



знаком "-". Если командная строка кончается знаком &,

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


будет выполняться команда, сообщается его номер, после чего

можно продолжать работу не дожидаясь завершения фоновой задачи.

команда -ключи -ключи ... прочие разные аргументы ...

Три направления ввода-вывода являются выделенными - стандартный ввод, стандартный вывод и стандартный протокол. Как

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

стандартного ввода и помещают результаты в стандартный вывод.

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

терминал, однако их можно переназначить, если после команды поместить одну из конструкций:

команда > имя_файла

(для стандартного вывода),

команда < имя_файла

(для переназначения стандартного ввода),

команда 2> имя_файла

(для стандартного протокола - системной диагностики).

Пример - записать в файл infdir содержимое текущей директории:

ls > infdir

Если вывод назначен в файл, то перед началом выполнения

команды создается пустой файл с соответствующим именем (если

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

команда >> имя файла

команда 2>> имя файла

Пользователи системы UNIX объединяются в группы, и каждая

из групп может обладать определенным набором привилегий.

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

TERM=vt220

HOME=/home/moshkow

PATH=:/bin/:dss/rk:/udd/moshkow/bin

Выдачу одной команды можно перенаправлять на вход

другой команды. Для этого используется "|" - конвейер.

Например: посчитать суммарный размер и число строк всех файлов

в каталоге /tmp, имена которых начинаются с символов "text" ...

cat /tmp/text* | wc -c

# Команда cat сливает вместе все файлы вида /tmp/text*,

# wc -c -l считает количество символов и число строк во входном

# потоке.

Или просмотреть с листанием длинную выдачу команды:

ps -ef | more

Того же результата можно достичь и без конвейера таким образом:

ps -ef > temp-file

more temp-file

rm temp-file


Содержание раздела