- •Файловая система unix
- •Invite.Doc содержит приглашение на вечеринку от коллеги.
- •Байт-ориентированные и блок-ориентированные файлы устройств
- •Символические и жесткие ссылки
- •Именование файлов и каталогов
- •Предостережение
- •I Перенаправляет стандартный вывод на ввод следующей команды.
- •Организация файловой системы
- •Имена путей (pathnames)
- •Работа с каталогами
- •Получение списка файлов и каталогов командой ls
- •1: Запись является символической ссылкой.
- •Конец формы
Организация файловой системы
В данной главе обсуждались разные типы файлов и имен файлов. Вы также узнали о специальных файлах каталогов. В данном разделе вы узнаете о способах, которые UNIX применяет для организации файлов, чтобы их было легко отыскивать и использовать.
Как средство организации файлов UNIXпредлагает каталоги. Каталог представляет собой специальный файл, в котором содержится список как файлов, так и других каталогов (называемые также подкаталогами).Можно визуально представить структуру файлов UNIX как перевернутое дерево с корнем вверху. Таким образом самый верхний каталог называется корневыми отмечается одиночной наклонной чертой /. Все каталоги и файлы принадлежат корневому каталогу. Вы можете также представить файловую систему UNIX в виде шкафа с делами, где шкаф является корневым каталогом, отдельные ящики являются различными каталогами корневого каталога и папки являются подкаталогами,а дела в отдельных папках являются файлами в структурах каталогов и подкаталогов.Рисунок 4.1 показывает типичное дерево структуры каталогов.
В таблице 4.2 приводится список стандартных имен каталогов в файловой системе UNIX. Данный список не является исчерпывающим. Полный список зависит от той конкретной системы UNIX, с которой вы работаете.
Таблица 4.2. Список стандартных каталогов UNIX.
Имя каталога Подробности о каталоге
/ Корневой каталог. Это родительский каталог для всех каталогов и файлов в файловой системе UNIX.
/bin Каталог исполняемых модулей командной строки. Данный каталог содержит все исполняемые модули "родных" команд UNIX.
/dev Каталог устройств, содержащий специальные файлы для байт-ориентированных и
блок-ориентированных устройств, таких как принтеры и клавиатуры. В данном каталоге существует файл под называнием null, который называется bit bucket и который может использоваться для перенаправления вывода в никуда.
/etc Файлы системной конфигурации и каталог исполняемых файлов. Большая часть
административных файлов, а также файлов, связанных с командами, хранится здесь.
/lib В каталоге хранятся библиотеки компилятора С.
/lost+foundДанный каталог содержит обрабатываемые файлы, если система отключилась ненормально.Система использует данный каталог для восстановления файлов. В каждом разделе диска есть только один каталог lost+found.
/usr Данный каталог имеет несколько подкаталогов, таких как adm, bin, etc и include. Например. /usr/include содержит файлы заголовков для компилятора С.
Имена путей (pathnames)
В UNIXимя файла, используемое операционной системой для идентификации файла, включает как часть имени все имена каталогов, начиная с корневого. Это дает возможность использовать для именования разных файлов, размещенных в разных каталогах,одно и то же имя. Например, если вы храните полученную за месяц и за день почту, то можете создать каталоги с названиями January, february, march и т.д. В каждом из каталогов можно создать такие файлы, как dayOl, day02 и day03. To же самое можно выполнить и для других каталогов. Таким образом, можно иметь одно и то же имя подкаталога в разных каталогах.
В результате возникает концепция текущего каталога и относительных путевых имен. Например, если бы вы были в каталоге с именем January и выполнили бы команду
ls -l day0l
то получили бы атрибуты файла dayOl под каталогом January, то есть UNIX ищет указанный файл в каталоге, в котором вы в данный момент находитесь. Все команды в UNIXиспользуют текущий каталог для поиска файла, если имя файла не включает информацию о каталоге. Относительный путь всегда указывается относительно текущего каталога.
Если бы вы были в каталоге January и хотели получить атрибуты файла dayOl из february, то могли бы специфицировать абсолютное путевое имя файла. Таким образом вы бы выполнили команду
ls -l /u/guhas/february/dayOl
UNIXиспользует специальные символы (две последовательные точки) как относительное имя пути для указания каталога, который находится на один уровень выше, или на родительский каталог. Например, если бы вы были в каталоге /u/gnhas/january, то .. (две последовательные точки) в относительном пути указывали бы каталог /u/guhas (который является родительским каталогом для /u/guhas/january), a ../.* в относительном пути указывало бы на каталог /и.
