Почему команда ls -l выдает четыре связи у каталога recipes?
Подсказка: попробуйте ввести
$ ls -ld /usr/you
Чем эта информация полезна?
В чем состоит разница между
$ mv junk junk1
и
$ cp junk junk1
$ rm junk
Подсказка: установите связь с junk и затем используйте ее.
Команда cp не производит копирования во вложенных каталогах, а ограничивается файлами первого уровня вложенности. Каковы будут ее действия, если один из аргументов окажется каталогом? Насколько это хорошо и осмысленно? Обсудите возможные преимущества трех вариантов: включить еще один флаг в cp, чтобы работать с вложенными каталогами, ввести отдельную команду rcp (рекурсивную cp) для данного случая или просто предъявить к cp требование копировать все файлы из каталога, если он встретится среди аргументов (см. гл. 7). Что получат другие программы, если они смогут перемещаться по дереву каталогов?
2.6 Иерархия каталогов
В первой главе рассмотрение иерархии файловой системы, начиная с каталога /usr/you, носило несколько неформальный характер. Теперь мы хотим изучить ее последовательно, начиная от корня дерева.
Корневой каталог называется /:
$ ls /
bin
boot
dev
etc
lib
tmp
unix
usr
$
Программа /unix — это программа ядра UNIX: когда система начинает работу, /unix считывается с диска в память и начинает выполняться. Все происходит за два шага: вначале считывается файл /boot, а затем он считывает /unix. Более подробно о таком процессе раскрутки можно узнать в справочном руководстве по boot(8). Остальные файлы каталога /, по крайней мере в нашей версии, являются каталогами, каждый из которых представляет законченный раздел файловой системы. После дальнейшего краткого обзора иерархии читателю будет предоставлена возможность поэкспериментировать с упоминаемыми здесь каталогами. Чем лучше вы разберетесь в устройстве файловой системы, тем более эффективно сможете ею пользоваться. В табл. 2.1 указаны подходящие места для поиска, хотя некоторые имена каталогов зависят от системы.
/ |
Корень файловой системы |
/bin |
Основные программы, готовые к выполнению (двоичные) |
/dev |
Файлы устройств |
/etc |
"Разное" системы |
/etc/motd |
Сегодняшнее сообщение при входе в систему |
/etc/passwd |
Файл паролей |
/lib |
Основные библиотеки и т.п. |
/tmp |
Временные файлы; обновляется при запуске системы |
/unix |
Операционная система в форме, готовой к выполнению |
/usr |
Файловая система пользователей |
/usr/adm |
Системная служба: справочная информация и т.п. |
/usr/bin |
Команды для пользователей: troff и т.п. |
/usr/games |
Игровые программы |
/usr/include |
Файлы определений Си-программ, например math.h |
/usr/include/sys |
Системные файлы определений Си-программ, например inode.h |
/usr/lib |
Библиотеки для Си, Фортрана и т.п. |
/usr/man |
Диалоговое справочное руководство |
/usr/man/man1 |
Страницы справочного руководства раздела 1 |
/usr/mdec |
Диагностика ошибок аппаратуры, программы раскрутки и т.п. |
/usr/news |
Служба сообщений пользователей |
/usr/pub |
"Всякая всячина": см. ascii(7) и eqnchar(7) |
/usr/src |
Исходные тексты служебных функций и библиотек |
/usr/src/cmd |
Исходные тексты команд из /bin и /usr/bin |
/usr/src/lib |
Исходные тексты библиотечных функций |
/usr/spool |
Рабочий каталог для взаимодействующих программ |
/usr/spool/lpd |
Временный каталог для печатающего устройства |
/usr/spool/mail |
Почтовые ящики |
/usr/spool/uucp |
Рабочий каталог программ uucp |
/usr/sys |
Исходный текст ядра операционной системы |
/usr/tmp |
Альтернативный временный каталог (редко используется) |
/usr/you |
Ваш начальный каталог |
/usr/you/bin |
Ваши собственные программы |