НЕСКОЛЬКО ПРОСТЕЙШИХ КОМАНД 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