Команда 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