Опубликован: 01.07.2008 | Доступ: свободный | Студентов: 2184 / 322 | Оценка: 3.78 / 3.77 | Длительность: 11:57:00
Лекция 1:

Включение Unix-компьютера

Лекция 1: 12345 || Лекция 2 >

Несколько простейших команд 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 используют, чтобы посмотреть "длинную" выдачу команды, ставя его конвейером "ей на хвост"

  • ls -al | more - просмотреть оглавление
  • ps -e | pg - просмотреть список работающих процессов
Лекция 1: 12345 || Лекция 2 >