Прикладные свободные программы и системы в школе
Шрифт:
В некоторых случаях названия сущностей, описанных в различных страницах руководства, совпадает. Например, названию «link» соответствует не только команда операционной системы, но и системный вызов (используемый программистами). В таком случае можно явно указать номер требуемого раздела. Команды ОС описаны в разделе 1, соответственно, получить страницу руководства по команде «link» можно командой «man 1 link» [20] .
В большинстве случаев вывод «man» не поместится на экране терминала. В этом случае вывод будет автоматически пропущен через так называемый фильтр постраничного вывода.
20
В документации,
Подобно текстовому редактору, фильтр постраничного вывода отображает текст на экране, позволяет «пролистывать» его вверх или вниз, но без возможности редактирования. В большинстве случаев в качестве фильтра будет выступать либо стандартная команда «more», либо команда «less». В любой из них прекратить отображение можно нажатием клавиши «q», пролистнуть текст на экран вперед – клавишей «f», на экран назад – «b».
1.5 Файлы и файловые структуры
Создание и удаление файлов
Именем файла в открытой ОС может быть любая строка поддерживаемых символов, не содержащая нулевого символа [21] и символа косой черты («/»), но рекомендуется ограничиться символами, входящими в переносимый набор символов имен файлов. Регистр (заглавность или строчность) букв является значимым.
Далее Алиса будет применять имена из символов, входящих в переносимый набор, а также кириллических букв, входящих в русский алфавит (Рис. 1.8).
21
Нулевой символ не может быть так просто введен с клавиатуры, поэтому сейчас вам не нужно об этом беспокоиться.
Создать файл можно командой «touch», указав ей в качестве аргумента имя несуществующего файла. До этого стоит удостовериться, что такого файла действительно не существует, с помощью команды «ls» (сокращение от английского «list» («перечислить»)), выводящей список файлов (если они существуют), имена которых перечислены в качестве ее аргументов (Рис. 1-9).
На Рис. 1-10 среди аргументов, указанных в командной строке, присутствует «-l» («эль»). Аргумент, начинающийся с дефиса, называется ключом команды. Большинство стандартных команд могут применяться с ключами, модифицирующими их действие. Аргумент, не являющийся ключом, называется операндом.
Ключ «-l» задает «длинный» формат вывода команды. Перед списком файлов выводится строка с количеством блоков (обычно 512-байтных), занимаемых перечисленными файлами. Файлу соответствует при этом строка-список из семи полей (они разделены символом табуляции, отображаемым при выводе на экран пробелом или серией пробелов), перечисленных в таблице на Рис. 1-11.
Поле «размер» – это размер или длина файла в байтах. Алиса лишь создала файл, но ничего не записала в него; такой файл имеет нулевую длину и называется пустым файлом.
Тем не менее, у него
есть все атрибуты файла, включая время последней модификации (в данном случае «последней модификацией» явилось само создание файла) и собственно имя.Удалить существующий файл можно командой «rm» с именем файла в качестве аргумента (Рис. 1-12).
Каталоги
Если команда «ls» подается без операндов (т.е. если она подана без аргументов вообще или только с аргументами-ключами), результатом станет вывод списка имен всех файлов в текущем каталоге (Рис. 1-13).
Дело в том, что в виде файлов хранится вся информация в системе – все программы, данные, необходимые для их работы, данные пользователей (включая тексты, изображения, звук), и даже, как правило, само ядро ОС. В минималистической встроенной системе файлов может быть сотни, в типичной настольной системе – тысячи, на сервере, обслуживающем многих пользователей – десятки, сотни тысяч или даже миллионы.
Файлы организуются в файловую структуру, задающую их логическое расположение. Файловая структура открытых ОС является иерархической: файлы содержатся в особых файлах – каталогах, каталоги, в свою очередь, могут содержаться в других каталогах и т.д. Вершиной файловой структуры служит каталог «/», называемый корневым каталогом файловой структуры.
В открытых ОС логическая файловая структура независима от физического размещения файлов на дисках или других носителях. Соответствие физического носителя или его части (раздела жесткого диска) фрагменту файловой структуры системы устанавливается в ходе монтирования этого носителя.
Несъемные носители (например, жесткие магнитные диски), как правило, монтируются в ходе загрузки ОС по предзаданному сценарию, а демонтируются, соответственно, в ходе разгрузки. Съемные носители должны монтироваться после их установки в привод и демонтироваться перед физическим снятием. Монтирование носителя – административная процедура, но на настольных машинах монтирование съемных носителей, как правило, делегируется пользователю, а некоторые современные ОС (в частности, «ГНУ/Линукс») позволяют его автоматизировать.
Файловую структуру можно представить в виде дерева с корнем в корневом каталоге и вершинами во вложенных каталогах. На рис. 1-14 пример такого дерева изображен в частично развернутом виде.
Созданный Алисой файл «1й_файл», так же, как и каталог «tmp/», который выше Алиса наблюдала в выводе команды «ls», поданной без параметров, находятся в каталоге «alice/», который, в свою очередь, находится в каталоге «home/», находящемся в корневом каталоге файловой структуры. Знак «косая черта» («/», часто читается «слэш») завершает имя каталога при указании полного или относительного имени файла.
В выводе команды «ls -l» файлы-каталоги отличаются от обычных файлов тем, что в первой позиции поля «тип файла и права доступа» стоит буква «d». Тип обычного файла обозначается символом дефиса («-»).
Полное (или абсолютное) имя файла однозначно идентифицирует конкретный файл в системе. Краткое имя однозначно идентифицирует файл лишь в отдельном каталоге. В вышеприведенном примере каталоги «/bin/tmp/» и «/home/alice/tmp/» имеют совпадающие краткие имена, но различные пути к ним (путем называется часть полного имени, исключающая краткое имя); соответственно, различаются и их полные имена.