
KTNI_Козлов(ответы) / 32
.doc32. Файловая структура Linux. Типы данных Linux. Отображение информации по команде ls. Понятие относительного и абсолютного путей.
Файловая структура Linux представляет собой корневой и некоторые другие разделы, на которых организованы различные каталоги с ОФС. Каждый из каталогов предназначен в основном для хранения файлов и подкаталогов, зарезервированных операционной системой. Корневой каталог обозначается символом «/» и служит отправной точкой при обращении к любым ОФС.
Типы данных в ОС Linux
1. файл (поименованная область на диске);
2. директория (каталог);
3. ссылка;
4. файл устройства.
Типы файлов: блоковые и символьные.
Вывод информации о типах файлов
Команда ls -l отображает подробную информацию о файле. Вначале отображаются права доступа, за ними следуют ссылки, имя владельца файла, имя группы, в которую входит пользователь, размер файла в байтах, дата и время последнего обновления файла и его имя. Права доступа указывают, кто может иметь доступ к файлу: пользователь, члены группы или остальные пользователи.
Из рис. 1 видно, что файл new_command относится к числу обычных файлов. Количество ссылок равно 1; это значит, что файл не имеет других имен и на него нет других ссылок. Имя владельца и имя группы antonk совпадают с регистрационными именем и группой. В группу antonk входят и другие пользователи. Размер файла – 18 байтов. Файл был создан или обновлялся последний раз 21 сентября, в 18:20. Имя файла – new_command.
|
Рис. 1. Информация о файле, отображаемая при использовании команды ls с опцией -l |
Если нужно отобразить подробную информацию такого рода для всех файлов каталога, воспользуйтесь командой ls -l без параметра. Все файлы в ОС Linux имеют один и тот же формат – байтовый поток.
[antonk@lab4236sl ~]$ ls -l
total 5224
-rw-rw-r– 1 antonk antonk 12 Sep 9 11:53 1
-rw-rw-r– 1 antonk antonk 0 Oct 31 19:12 l.txt
-rw-rw-r– 1 antonk antonk 24 Sep 9 12:26 2
-rw-rw-r– 1 antonk antonk 0 Oct 31 19:12 2.txt
-rw-rw-r– 1 antonk antonk 0 Sep 9 12:26 3
-rw-rw-r– 1 antonk antonk 0 Oct 31 19:12 3.txt
-rw-rw-r– 1 antonk antonk 0 Oct 31 19:12 4.txt
-rw-rw-r– 1 antonk antonk 0 Oct 31 19:12 5.txt
-rw-rw-r– 1 antonk antonk 540 Sep 4 12:19 BMT.log
-rw-r–r– 1 antonk antonk 6377 Jul 19 17:45
-rw-r–r– 1 antonk antonk 2804 Jun 30 17:50 :
-rw-r–r– 1 antonk antonk 2030709 Jul 17 15:36 BMT_mdr.dat
-rw-r–r– 1 antonk antonk 2599211 Jul 17 15:36 BMTjndr.grd
drwxrwxr-x 2 antonk antonk 4096 Jul 25 14:07 DBtest
drwxr-xr-x 2 antonk antonk 4096 Sep 5 11:18 Desktop
-rw-rw-r– 1 antonk antonk 0 Oct 31 19:19 a.c
-rw-rw-r– 1 antonk antonk 0 Oct 31 19:19 b.c
-rw-rw-r– 1 antonk antonk 0 Oct 31 19:19 c.c
-rw-rw-r– 1 antonk antonk 0 Oct 31 19:19 d.c
-rw-r–r– 1 antonk antonk 37729 Jul 17 15:36 dessis.par
-rw-r–r– 1 antonk antonk 59078 Rug 28 12:56 pyvnc2swf-0.8.2.tar.gz
-rwxr-xr-x 1 antonk antonk 139 Rug 31 18:34 script
drwxr-xr-x 4 antonk antonk 4096 Jul 12 16:58 sentaurus
-rw-rw-r– 1 antonk antonk 74 Sep 5 11:22 tecplot.phy
-rw-rw-r– 1 antonk antonk 4116 Sep 5 11:22 tecswb.pref
-rw-r–r– 1 antonk antonk 438058 Rug 28 12:56 vne2swf-0.5.0.tar.gz
[antonk@lab4236sl ~]$
Байтовый поток представляет собой просто последовательность байтов. Это позволяет распространить понятие файла в системе Linux на все компоненты данных. Каталоги и устройства классифицируются как файлы.
Рассматривая все объекты как файлы, Linux позволяет упростить организацию данных и обмен ими. Данные, записанные в файле, можно посылать непосредственно на устройство, например на экран, потому что устройство сопрягается с системой, используя тот же формат байтового потока, который применяется в обычных файлах. Этот же формат файлов используется при создании других компонентов операционной системы. Интерфейс, обеспечивающий доступ к какому-либо устройству, например к экрану или клавиатуре, проектируется как файл. Другие компоненты, в частности каталоги, сами по себе являются файлами типа потоков байтов, но имеют особую внутреннюю организацию. Файл каталога содержит информацию о каталоге, оформленную в специальном формате каталога. Поскольку все эти различные компоненты рассматриваются как файлы, можно сказать, что они представляют собой различные типы файлов: устройство посимвольного ввода-вывода – один тип файлов; каталог – другой тип файлов. Число типов файлов зависит от конкретной реализации ОС Linux. В повседневной работе информация о типе файлов используется редко, но она может быть полезна при поиске каталогов и устройств.
Типы файлов ОС Linux:
-обычные файлы;
-файлы каталогов;
-каналы, действующие по принципу очереди;
-файлы устройств посимвольного ввода-вывода;
-файлы устройств поблочного ввода-вывода.
Обычные файлы имеют один формат – байтовый поток, но могут использоваться по-разному. Наиболее существенно отличаются двоичные и текстовые файлы. Пример двоичного файла – программный код после его трансляции. Следует отметить, однако, что даже текстовые файлы можно классифицировать по характеру их использования. В качестве примера приведем файлы, содержащие исходные тексты программ на языке С, файлы команд интерпретатора и, наконец, просто пустые файлы. Файл может быть каталогом или исполняемой программой.
Команда file системы ОС Linux помогает определить, для чего используется тот или иной файл. После запуска данной команды система изучает первые несколько строк файла и на основании этой информации пытается отнести его к тому или иному типу. Получив команду file, система ищет в этих нескольких строках специальные ключевые слова или особые числа, однако выдаваемый результат бывает не всегда точен.
В следующем примере с помощью команды file системе дается указание изучить содержимое двух файлов и классифицировать их.
[antonk@lab4236s ~]$ file p.pl
p.pl: perl script text executable
[antonk@lab4236s ~]$ file copy
copy: directory
[antonk@lab4236s ~]$ file bmt1
bmt1: empty
[antonk@lab4236s ~]$ file sentaurus.tar
sentaurus.tar: writable, regular file, no read permission
[antonk@lab4236s ~]$ file link
link: symbolic link to ‘etc/rc'
[antonk@lab4236s ~]$ file new_command
new_command: Bourne shell script text executable
[antonk@lab4236s ~]$
Из данного примера видно, что файл p.pl является исполняемым текстовым файлом-скриптом языка Perl, copy – директорией, bmt1 – пустым файлом, sentaurus.tar – стандартным файлом, link – ссылкой, new_command – файлом-скриптом командного интерпретатора Bourne.