
- •Файловая система unix
- •Invite.Doc содержит приглашение на вечеринку от коллеги.
- •Байт-ориентированные и блок-ориентированные файлы устройств
- •Символические и жесткие ссылки
- •Именование файлов и каталогов
- •Предостережение
- •I Перенаправляет стандартный вывод на ввод следующей команды.
- •Организация файловой системы
- •Имена путей (pathnames)
- •Работа с каталогами
- •Получение списка файлов и каталогов командой ls
- •1: Запись является символической ссылкой.
- •Конец формы
Байт-ориентированные и блок-ориентированные файлы устройств
Байт-ориентированные файлы устройств используются для небуферированного ввода/вывода, а блок-ориентированные файлы устройств используются тогда, когда данные передаются пакетами фиксированного размера. Байт-ориентированные файлы устройств обеспечивают посимвольный ввод/вывод, тогда как блок-ориентированные файлы устройств используют механизм буфера, позволяющий увеличить эффективность передачи данных путем сохранения копии данных в памяти. Некоторые примеры файлов таковы:
дисковод для флоппи-дисков р байт- или блок-ориентированный файл;
накопитель на магнитной ленте р байт-ориентированный файл;
терминал р байт-ориентированный файл.
UNIX воспринимает клавиатуру и дисплей как файлы. Клавиатура считается файлом, из которого осуществляется ввод, и часто называется файлом стандартного ввода (stdin в терминологии UNIX). Дисплей считается файлом, в который осуществляется вывод, и часто называется файлом стандартного вывода (stdout в терминологии UNIX).
Важное сопутствующее стандартному вводу и выводу явление называется перенаправлением ввода/вывода. В UNIXиспользование перенаправления ввода/вывода делает возможным изменение стандартного файла ввода с клавиатуры на регулярный файл и изменение стандартного файла вывода с терминала на новый или существующий регулярный файл.
По умолчанию все команды UNIXпринимают ввод из стандартного ввода, отображают вывод на стандартном выводе и посылают сообщение об ошибках в стандартный вывод ошибок. Используя перенаправление ввода/вывода, можно управлять источником и назначением ввода и вывода команд,соответственно. Есть возможность направлять вывод команды в иной файл, а не в стандартный вывод. Подобным же образом возможно принимать ввод из файла,а не из устройства стандартного ввода. Имеется также возможность направлять сообщения об ошибках в файл, а не в стандартный вывод. Механизм перенаправления позволяет выполнять команды в фоновом режиме, когда эти специальные файлы(то есть стандартный ввод, стандартный вывод и стандартный вывод ошибок)недоступны. При этом можно использовать регулярные файлы для перенаправления ввода, вывода и сообщений об ошибках.
Еще одним интересным специальным файлом является bit bucket Он определяется как файл /(lev/null. Когда вывод перенаправляется в этот файл, фактически это означает, что вывод производиться не будет.
Символические и жесткие ссылки
Ссылки создают указатели на действительные файлы, не дублируя содержимого файлов.То есть ссылка представляет собой способ дать другое имя тому же файлу. Существует два типа ссылок:
жесткая ссылка;
символическая ссылка, часто называемая symlmk.
При жесткой связи исходное имя файла и имя ссылки указывают на один и тот же физический адрес и абсолютно идентичны. При использовании жесткой ссылки существует два важных ограничения: каталоги не могут иметь жестких ссылок и ссылка не может пересекать файловую систему. (Файловая система является физическим пространством, внутри которого должен размещаться файл. Простой файл не может распространяться более чем на одну файловую систему, но файловая система может иметь более одного файла.) Можно удалить исходное имя файла, не удаляя связанное имя. В такой ситуации файл не удаляется, но запись в каталоге, соответствующая исходному файлу удаляется и счетчик ссылок уменьшается на 1. Блоки данных файла удаляются тогда, когда счетчик ссылок станет равным нулю.
С символическими ссылками р иначе. Есть два файла: один р исходный, а второй р ссылка, содержащая имя исходного файла. Важное ограничение символической ссылки заключается в том, что можно удалить исходный файл. Это приведет к тому, что ссылка на файл будет существовать, но без каких-либо данных. Однако символические ссылки могут указывать на файлы в других файловых системах.
С символическими ссылками следует быть особо внимательными. Иначе можно остаться со ссылками, которые указывают в никуда, поскольку исходные файлы были удалены или переименованы.
Важной характеристикой символической ссылки является то, что ее можно использовать для связи как файлов, так и каталогов.
Если у вас в каталоге /u/guhas есть файл, называющийся origfile, с характеристиками
-rw-r-rр 2 guhas writer 30 Nov 8 01:14 origfile,
то файл под названием hlinkfile, который жестко связан с origfile, будет иметь следующие характеристики:
-rw-r-r- 2 guhas writer 30 Nov 8 01:20 hlinkfile
Двойка перед guhas означает, что существует два файла, связанные с одним и тем же физическим адресом (origfile и hlinkfile).
Файл под названием slinkfile, который является символической ссылкой с origfile, будет иметь следующие характеристики:
lrwxrwxrwx I guhas writer 8 Uov 8 01:10 slinkfile -> origfile
Связь очевидна из имени файла. В данном случае, если вы удалите origfile, то slinkfile станет бесполезной.