Рис. 1-10
Ключ «-l» задает «длинный» формат вывода команды. Перед списком файлов выводится строка с количеством блоков (обычно 512-байтных), занимаемых перечисленными файлами. Файлу соответствует при этом строка-список из семи полей (они разделены символом табуляции, отображаемым при выводе на экран пробелом или серией пробелов), перечисленных в таблице на Рис. 1-11.
Рис. 1-11
Поле «размер» – это размер или длина файла в байтах. Алиса лишь создала файл, но ничего не записала в него; такой файл имеет нулевую длину и называется пустым файлом .
Тем не менее, у него есть все атрибуты файла, включая время последней модификации (в данном случае «последней модификацией» явилось само создание файла) и собственно имя .
Удалить существующий файл можно командой «rm» с именем файла в качестве аргумента (Рис. 1-12).
Рис. 1-12
Каталоги
Если команда «ls» подается без операндов (т.е. если она подана без аргументов вообще или только с аргументами-ключами), результатом станет вывод списка имен всех файлов в текущем каталоге (Рис. 1-13).
Рис. 1-13
Дело в том, что в виде файлов хранится вся информация в системе – все программы, данные, необходимые для их работы, данные пользователей (включая тексты, изображения, звук), и даже, как правило, само ядро ОС. В минималистической встроенной системе файлов может быть сотни, в типичной настольной системе – тысячи, на сервере, обслуживающем многих пользователей – десятки, сотни тысяч или даже миллионы.
Файлы организуются в файловую структуру , задающую их логическое расположение. Файловая структура открытых ОС является иерархической: файлы содержатся в особых файлах – каталогах , каталоги, в свою очередь, могут содержаться в других каталогах и т.д. Вершиной файловой структуры служит каталог «/», называемый корневым каталогом файловой структуры.
В открытых ОС логическая файловая структура независима от физического размещения файлов на дисках или других носителях. Соответствие физического носителя или его части (раздела жесткого диска) фрагменту файловой структуры системы устанавливается в ходе монтирования этого носителя.
Несъемные носители (например, жесткие магнитные диски), как правило, монтируются в ходе загрузки ОС по предзаданному сценарию, а демонтируются, соответственно, в ходе разгрузки. Съемные носители должны монтироваться после их установки в привод и демонтироваться перед физическим снятием. Монтирование носителя – административная процедура, но на настольных машинах монтирование съемных носителей, как правило, делегируется пользователю, а некоторые современные ОС (в частности, «ГНУ/Линукс») позволяют его автоматизировать.
Рис. 1-14
Файловую структуру можно представить в виде дерева с корнем в корневом каталоге и вершинами во вложенных каталогах. На рис. 1-14 пример такого дерева изображен в частично развернутом виде.
Созданный Алисой файл «1й_файл», так же, как и каталог «tmp/», который выше Алиса наблюдала в выводе команды «ls», поданной без параметров, находятся в каталоге «alice/», который, в свою очередь, находится в каталоге «home/», находящемся в корневом каталоге файловой структуры. Знак «косая черта» («/», часто читается «слэш») завершает имя каталога при указании полного или относительного имени файла .
В выводе команды «ls -l» файлы-каталоги отличаются от обычных файлов тем, что в первой позиции поля «тип файла и права доступа» стоит буква «d». Тип обычного файла обозначается символом дефиса («-»).
Полное (или абсолютное ) имя файла однозначно идентифицирует конкретный файл в системе. Краткое имя однозначно идентифицирует файл лишь в отдельном каталоге. В вышеприведенном примере каталоги «/bin/tmp/» и «/home/alice/tmp/» имеют совпадающие краткие имена, но различные пути к ним (путем называется часть полного имени, исключающая краткое имя); соответственно, различаются и их полные имена.
Читать дальше