Система файлов и каталогов
Логически файловая структура в GNU/Linux организована в виде единой древовидной иерархии. Древовидная структура организована с помощью ка- талогов, содержащих файлы и подкаталоги. Каждый каталог может иметь множество подкаталогов, но у каждого подкаталога имеется только один ро- дительский каталог. На каких физических носителях ни хранились бы файлы, в GNU/Linux они всегда находятся на одной из ветвей единой древовидной файловой структуры.
Вершиной файловой структуры является корневой каталог (root directory). Имя корневого каталога: /. У корневого каталога нет родительского катало- га, вернее, он сам является для себя родительским.
Файлы в GNU/Linux являются основополагающими объектами, поскольку вся работа с данными, устройствами компьютера, процессами и прочим обеспечивается посредством файлов.
Обычные файлы (plain files) обеспечивают хранение данных в компьютере. Они представляют собой именованный набор блоков данных на устройстве хранения.
Древовидная структура образуется за счет использования каталогов, которые могут содержать файлы и другие каталоги. Каталоги являются особым типом файлов, предназначенным для поддержки иерархической структуры файловой
системы. По сути, каталог — это таблица, содержащая перечень имен фай- лов, находящихся в нем.
В корневом каталоге обычно не содержатся какие-либо пользовательские файлы (чаще всего в корневом каталоге находятся исключительно подката- логи). Файлы пользователей принято хранить в их домашних каталогах, сис- темные файлы хранятся в специальных каталогах и т. д.
Последовательность имен каталогов, которые требуется пройти от корневого каталога для доступа к файлу, называется путем (path). Для разделения имен вложенных каталогов применяется символ /.
В GNU/Linux пользователь имеет большую свободу в назначении имен фай- лам. Единственное ограничение: имя файла не может содержать символы / и \0 (null). Разумно назначать файлам осмысленные имена и избегать излиш- него использования метасимволов (например, звездочки или решетки) в именах файлов, т. к. это может привести к проблемам в работе многих приложений.
Прописные и строчные буквы различаются (case sensitive), т. е. имена файлов
TheFile и thefile относятся к двум разным файлам.
В различных каталогах могут находиться разные файлы с одинаковыми име- нами. Поэтому для однозначной идентификации файла необходимо приме- нять полное или абсолютное имя файла. Оно состоит из пути (path) к нему в дереве каталогов и собственно имени файла. Таким образом, имена файлов бывают двух типов:
r абсолютные — те имена, которые начинаются с символа "косая черта" (/) — корневого каталога — и указывают последовательность подкатало- гов, которые необходимо пройти для достижения файла;
r относительные — их имена не начинаются с косой черты и, следователь- но, показывают путь доступа к файлам относительно текущего каталога.
Имя файла может содержать точки (.). В GNU/Linux, в отличие, например, от MS-DOS, никакого особого значения точки в именах файлов не имеют. Од- нако для удобства принято считать часть имени файла, находящуюся после точки, — суффиксом (или иначе — расширением) имени файла. Суффиксы сообщают пользователю информацию о типе файла. Так, например, файл myarch.tgz является tar-архивом, сжатым утилитой gzip. Может быть не- сколько суффиксов: tarball.tar.gz.
Файлы, у которых точка является первым символом в имени, являются скры- тыми и командой ls не выводятся. Тем не менее, список этих файлов можно получить, пользуясь командой ls с опцией -a (all) или опцией –A.
Для вывода списка всех файлов используется команда ls –a, в том числе и скрытых, в текущем каталоге. Эта команда выводит имя файла .hidden.
Помимо него выведены еще два имени файлов — . (точка), т. е. имя текуще- го каталога, и .. — имя родительского каталога. Команда ls -A также выво- дит имена скрытых файлов наряду с обычными именами, но имена текущего и родительского каталога — нет.
Дата добавления: 2015-06-12; просмотров: 829;