Файловая система (отчет по лабораторной), страница 5

  Скрипт, осуществляющий поиск всех символических ссылок на файл представлен ниже:

v=#

echo -n Enter file name:

read v

echo Ссылки на файл $v > res.txt

echo count of links: >> res.txt

ls -liR / | grep $v |wc -l >> res.txt

echo list of links: >>res.txt

ls -lipR / | grep $v >> res.txt

  В результате выполнения скрипта получился следующий файл:

Ссылки на файл file2.txt

count of links:

        6

list of links:

  31953 lrwxrwxrwx  1 root      root              9 Nov 05 17:54 /bin/L -> file2.txt

 823025 lrwxrwxrwx  1 root      root              9 Nov 05 17:24 /home/Xromov/2/Lfile2 -> file2.txt

 823024 -rw-rw-r--  1 root      root              5 Nov 05 17:23 /home/Xromov/2/file2.txt

 823075 lrwxrwxrwx  1 root      root              9 Nov 05 17:39 /home/Xromov/2/1/L -> file2.txt

1394027 lrwxrwxrwx  1 root      root              9 Nov 05 17:39 /home/Xromov/2/2/L -> file2.txt

1394090 lrwxrwxrwx  1 root      root              9 Nov 05 17:39 /home/Xromov/2/2/1/L -> file2.txt

10.

Для определения типа файла используется команда file.

Утилита file выполняет ряд проверок каждого из указанных файлов и всех файлов, указанных в файле_списка, если он задан, пытаясь проклассифицировать файлы. Если файл не является обычным, выдается его тип. Если же обычный файл имеет нулевую длину, он классифицируется как пустой (empty). Если файл является текстовым, команда file проверяет первых 512 байтов и пытается определить, на каком языке программирования написан файл. Если файл является символической ссылкой, происходит проверка и классификация файла, на который связь указывает.

# file res.txt

res.txt: UTF-8 Unicode text

# file 1

1: setuid directory

# file 2

2: directory

# file sysl_res

sysl_res: symbolic link to `/home/Xromov/2/res.txt'

# file a.out

a.out: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared lib

s), 524288 bytes lazy stack, 4096 bytes preallocated stack, not stripped

При определении типа файла используется файл сигнатур. Стандартный файл сигнатур - /etc/magic. В нем хранятся числа или строки, показывающие тип файла. Поддерживаются следующие опции: -c - Проверяет формат файла сигнатур. –h Не следует по символическим ссылкам.

-f Задает файл, содержащий список файлов для классификации. –m Задает альтернативный файл сигнатур, вместо /etc/magic.

11.

Монтирование файловой системы.

В системе QNX под файлом понимается объект, над которым может быть выполнена либо операция записи, либо операция чтения, либо обе эти операции. Обычно файловая система QNX монтируется как блок-ориентированный специальный файл. Для монтирования файловой системы используется утилита mount, которая задает префикс, идентифицирующий файловую систему. Например, команда

 mount /dev/hd0t77 /

монтирует файловую систему с префиксом "/" на разделе, определенном блок-ориентированным специальным файлом с именем hd0t77.

Если диск разбит на разделы, то необходимо смонтировать блок-ориентированный специальный файл раздела (например, /dev/hd0t77), который определяет раздел QNX 4.x, а не основной блок-ориентированный специальный файл, который определяет весь физический диск (например, /dev/hd0). Если попытаться смонтировать основной блок-ориентированный специальный файл для всего диска, то при попытке доступа к файловой системе выведется сообщение "corrupt filesystem" ("испорченная файловая система").

Для демонтирования файловой системы используется утилита umount. Например, следующая команда демонтирует файловую систему исходного раздела QNX