Материал: Аверянов Введение в оператсионные системы и основы программирования 2015

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Команда cat – вывод содержания (текста) файла

Пример 1.10. Просмотр файлав текущей директории v100-1@beta:~> cd /usr/share/liblab/proverbs/body/birds/ v100-1@beta:/usr/share/liblab/proverbs/body/birds> cat goose

He can't say boo to a goose.

Он не скажет "Бу-у" даже гусю, т.е. он и мухи не обидит.

Everything is lovely and the goose hangs high.

Все прекрасно, и гусь висит высоко. Аналог: дело на мази; все идет как помаслу.

v100-1@beta:/usr/share/liblab/proverbs/body/birds>

Пример 1.11. Просмотр файла из произвольной директории v100-1@beta:/usr/share/liblab/proverbs/body/birds>cd ~ v100-1@beta:~> cat /usr/share/liblab/proverbs/body/birds/goose

He can't say boo to a goose.

Он не скажет "Бу-у" даже гусю, т.е. он и мухи не обидит.

Everything is lovely and the goose hangs high.

Все прекрасно, и гусь висит высоко. Аналог: дело на мази; все идет как помаслу. v100-1@beta:~>

Команда cat позволяет также выполнять следующие операции:

1.Объединить несколько файлов в один с помощью оператора

>.

2.Присоединить файл к существующему файлу с помощью оператора >>.

3.Создать копию файла с новым именем с помощью операто-

ра >.

4.Создать новый текстовый файл без использования текстового редактора (пример 1.12).

Пример 1.12. Создание текстового файла через перенаправлениеввода v100-1@beta:~> cat > papavas.txt

Папа уВаси силен в математике<Enter> Учится папа за Васю весь год. <Enter> Где это видано, где это слыхано -<Enter>

Папа решает, а Вася сдает. <Enter><Ctrl + D> v100-1@beta:~> ls

papavas.txt v100-1@beta:~>

31

1.2.4. Создание и удаление каталогов и файлов

Создание и удаление файлов является повседневной необходимостью в работе пользователя. Для организации хранения личных файлов пользователю также необходимо создавать новые каталоги и удалять ненужные.

Создать новый каталог можно воспользовавшись командой mkdir (make directory). Пример 1.13 демонстрирует создание каталога с именем «firstcat» в домашней директории. Команда ls позволяет убедиться в успешном создании каталога.

.

Команда mkdir – создание нового каталога (директории)

Пример 1.13. Создание нового каталога (директории) v100-1@beta:~> mkdir firstcat

v100-1@beta:~> ls –F firstcat v100-1@beta:~>

Команда rmdir – удаление существующего каталога

Пример 1.14. Удаление существующего каталога v100-1@beta:~> rmdir firstcat

v100-1@beta:~> ls –F

v100-1@beta:~>

Для удаления каталогов применяется команда rmdir (remove directory), которой в качестве параметра указывается имя удаляемого каталога, допустим, это будет firstcat (пример 1.14). Команда ls позволяет удостовериться, что домашний каталог пуст.

Для создания текстового файла можно воспользоваться уже известной командой cat с перенаправлением стандартного вывода в файл (подробнее об этом далее, в п. 1.3.2). Пример 1.12 демонстрирует создание текстового файла «papavas.txt», Перенаправление вывода задается символом «>« (знак «больше»). После подтверждения команды клавишей «Enter», вводится текст «Папа у Васи …». Каждая напечатанная строчка подтверждается «Enter». Поскольку команда cat порождает процесс, то завершить его нужно «Ctrl + D». Просмотр созданного файла проиллюстрирован в при-

мерах 1.10 и 1.11.

32

Для просмотра больших текстовых файлов, текст которых не помещается на одном экране, используется команда постраничного просмотра more. «Перелистывание» страниц осуществляется клавишей «Пробел», клавиша «Enter» позволяет просматривать файл построчно. Возврат в командную строку UNIX происходит при нажатии клавиши «q» (пример 1.15).

Команда more – постраничный просмотр файла

Пример 1.15. Постраничный просмотрфайла v100-1@beta:~> more papavas.txt<Enter>

Папа уВаси силен в математике<Enter> Учится папа за Васю весь год. <Enter> Где это видано, где это слыхано -<Enter>

Папа решает, а Вася сдает. <Enter><Ctrl + D> v100-1@beta:~> ls

papavas.txt v100-1@beta:~>

Для удаления файлов используется команда rm (пример 1.16). Для контроля удаления, как обычно, через ls.

Команда rm – удаление файла

Пример 1.16. Удаление файла v100-1@beta:~> rm papavas.txt v100-1@beta:~> ls

v100-1@beta:~>

1.2.5.Пример построения дерева каталогов

Вкачестве подготовки к выполнению зачетного задания предлагается построить в домашней директории (в описании лабораторного практикума это каталог /home/groups/v100/v100–1) дерево каталогов и файлов (рис. 1.8). Каталоги и подкаталоги дерева создаются с использованием различных вариантов команды mkdir и способов описания путей к каталогам и файлам (как абсолютных, так

иотносительных путей).

33

Рис. 1.8. Дерево каталогов и файлов для построения

Тексты файлов для дерева (см. рис. 1.8):

hacker1.txt

hacker2.txt

Если в сервер вашей фирмы

То уверены вы будьте

Вдруг забрался злобный хакер

Что залезет он еще

hacker3.txt

hacker4.txt

Абсолютно все пароли

Пусть порадуется хакер

Поместите в файл readme

Он ведь тоже человек

Команда mkdir –p создает цепочку вложенных каталогов

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

зовать полный путь, как /home/groups/v100/v100- 1/hacker|crack/answer/grant (пример 1.17) или относительный (при-

мер 1.18). Чтобы увидеть всю созданную ветвь, нужно воспользо-

34

ваться командой tree, поскольку команда ls отобразит только ката-

лог hacker.

Пример 1.17. Созданиеветви дерева (полный путь) v100-1@beta:~>mkdir –p /home/groups/v100/v100–1/hacker/crack/answer/grant v100-1@beta:~> ls –F

hacker/ v100-1@beta:~> tree –F

.

`-- hacker/ `-- crack/

`-- answer/ `-- grant/

4 directories, 0 files

v100-1@beta:~>

Ветка hacker/crack/answer/thieve строится с использованием пути относительно текущей директории (пример 1.18), команда все та же с помощью mkdir –p. Контроль построения ветви дерева осуществляется командой tree.

Пример 1.18. Создание ветви дерева (путь от текущей директории – от корня)

v100-1@beta:~> mkdir –p ./hacker/crack/answer/thieve

v100-1@beta:~> tree

.

`-- hacker `-- crack

`-- answer |-- grant `-- thieve

5 directories, 0 files

v100-1@beta:~>

Ветви hacker/crack/question/grant и hacker/crack/question/grant до-

страиваются относительно директории hacker/crack/answer/grant. Сначала ее надо сделать текущей, а затем использовать пути «сначала к корню, затем от корня» (пример 1.19).

Если сделать текущей директорией hacker/crack/answer/grant или hacker/crack/answer/thieve, то для любой из этих директорий относительные пути в каталог hacker/crack/question/grant или в каталог hacker/crack/question/thieve» будут выглядеть совершенно одинако-

35

Источник: https://studfile.net/preview/16708824/