Включение Unix-компьютера
Несколько простейших команд Unix (курс молодого бойца)
1.1. Система Unix различает БОЛЬШИЕ и малые буквы, и к этому можно привыкнуть.
1.2. Если вы уничтожили какой-нибудь файл, то никаких проблем с его восстановлением у вас не будет. Потому что восстановить уничтоженный файл в системе Unix НЕВОЗМОЖНО. В Unix отсутствует команда unerase, и к этому тоже нужно привыкнуть. Вирусов в Unix значительно меньше по сравнению с Windows. Так что пока хоть этой проблемы у администратора машины не будет.
1.3. В имени файла директории отделяются от последующей части символом "/". (Билл Гейтс тоже хотел, чтоб у него в MSDOS все как в Unix было, вот и взял символ "\" - перепутал - с кем не бывает.)
Если имя начинается с "/" ("слэша") - значит, это полное маршрутное имя.
Простое имя файла может состоять из ЛЮБЫХ символов (за исключением "/" и NUL). Длина простого имени не более 256 символов. Длина полного маршрутного имени файла не более 32000 символов (в некоторых Unix - не более 1024 символов.)
1.4. Для задания шаблона имен используются символы "*" (произвольная последовательность символов) и "?" (один произвольный символ). Имя из одной точки "." обозначает текущую директорию, имя из двух точек ".." - вышележащую (родительский каталог).
1.5. Чтобы запустить программу на выполнение, достаточно набрать ее имя и, если нужно, другие аргументы командной строки. Имя программы - это маршрутное имя файла, в котором эта программа находится. Аргументы разделяются одним или несколькими пробелами и табуляторами. Ключи команды обычно (но не всегда) выделяются знаком "-".
команда -ключи -ключи ... прочие разные аргументы ...
1.6. Если командная строка кончается знаком &, то команда запустится параллельно (фоном). На терминале печатается номер, который получает запущенный процесс. После чего можно продолжать работу, не дожидаясь завершения фоновой задачи.
команда -всякие разные аргументы ... &
1.7. Команда имеет три предопределенных направления ввода-вывода - стандартный ввод, стандартный вывод и стандартный вывод ошибок. Как правило, команда берет исходные данные из стандартного ввода и печатает результаты в стандартный вывод. В стандартный вывод ошибок печатаются сообщения об ошибках и диагностика. Первоначально стандартные ввод, вывод и протокол назначены на терминал, однако их можно переназначить, используя следующие конструкции:
команда > имя_файла
команда < имя_файла
(для переназначения стандартного ввода),
команда 2> имя_файла
(для стандартного протокола - системной диагностики).
Пример - записать в файл содержимое текущей директории:
ls > infdir
Если вывод назначен в файл, то перед началом выполнения команды создается пустой файл с соответствующим именем (если файл уже существовал, он опустошается), а затем в него помещается информация. Если информацию нужно дописать в конец существующего файла, следует воспользоваться конструкцией
команда >> имя файла команда 2>> имя файла
1.8. Пользователи системы Unix объединяются в группы, и каждая из групп обладает определенным набором прав доступа к файлам.
1.9. Программы могут распознавать значения переменных окружения, значения которых были заданы перед их запуском.
TERM=vt220 HOME=/home/moshkow PATH=:/bin/:dss/rk:/home/moshkow/bin
1.8. Выдачу одной команды можно перенаправлять на вход другой команды. Для этого используется "|" - конвейер.
Пример: посчитать суммарный размер и число строк всех файлов в каталоге /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
2. Некоторые наиболее употребительные команды.
- pwd - получить имя текущей директории
- cd - изменить текущую директорию
- ls - распечатать информацию о файлах или директориях
- cat - слить или вывести файлы-аргументы на стандартный вывод
- cp - копировать файлы
- mv - переместить (переименовать) файлы
- ln - создать ссылку на файл
- rm - удалить файлы
- rmdir - удалить директорию
- mkdir - создать директорию
- echo - вывести аргументы командной строки на стандартный вывод
- ps - распечатать информацию и номера выполняемых процессов
- kill - "убить" выполняемый процес по его номеру
- man - выдать справку об использовании и ключах команды
2.1 pwd Выдать имя текущей директории
pwd
2.2 cd Сменить текущую директорию
cd [ директория] cd /usr/spool/lp/adm cd ..
Если директория не указана, вы попадаете в свой "домашний" каталог $HOME
2.3 ls Распечатать каталог
ls [ключи] [имена]
имена - имена файлов или директорий; для директорий распечатывается список входящих в нее файлов, для файлов - выводится его имя и дополнительная информация. Имена файлов сортируются по алфавиту. Без аргументов ls выдает содержимое текущей директории.
ls -al - вывод в длинном полном формате:
число владелец время модификации линков группа имя файла (имен) размер -rwxr-xr-x 1 moshkow sys 17 Oct 18 16:13 ../jean drwxr-xr-x 1 moshkow sys 12 Oct 18 16:11 ../jelly -rwxr-xr-x 1 moshkow sys 0 Oct 13 14:14 ../j.bu.txt ^^ ^ ^ || | | || | +----- права всех "остальных" по отношению к файлу || +-------- права одной с ним группы |+----------- права "владельца" файла +------------ "-" - значит файл, "d" - директория
Права:
- r - файл доступен для чтения,
- w - файл доступен для записи,
- x - файл является выполнимым,
- - - данное право доступа отсутствует.
- -a - вывести все файлы (даже если имена начинаются с точки);
- -x - вывод в 4 колонки;
- -t - имена файлов сортируются не по алфавиту, а по времени последнего изменения
- -R - рекурсивно пройти по всем подкаталогам
ls -CF - оглавление каталога в несколько столбиков
ls -al - оглавление в полном формате
2.4 cat Слить и вывести файлы на стандартный вывод
cat файл1 [файл2... ]
Cat выводит содержимое перечисленных на стандартный вывод. Пример:
cat файл
распечатывает содержимое файла, а
cat файл1 файл2 > файл3
сливает первые два файла и помещает результат в третий. Чтобы добавить содержимое файла1 к файлу2, надо выполнить команду
cat файл1 >> файл2
2.5 more, pg Просмотреть файл постранично
more file_name ... pg file_name ... less file_name ...
Все эти команды позволяют просматривать файл, листая его поэкранно. Просмотром можно управлять с помощью клавиш. Самое удобное управление у команды "less", самое "дубовое" - у "pg"
- q - завершить просмотр
- ПРОБЕЛ - показать следующую страницу
- ENTER - сдвинуться на одну строку
- b - показать предыдущую страницу
- / - поиск
- h - Help - посмотреть список всех возможных команд
more,less,pg используют, чтобы посмотреть "длинную" выдачу команды, ставя его конвейером "ей на хвост"