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

Страницы работы

Содержание работы

Санкт-Петербургский государственный политехнический университет

Факультет технической кибернетики

Кафедра автоматики и вычислительной техники

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 2

Дисциплина: системное программное обеспечение

Тема: файловая система

Выполнил ст. группы 4081/1:                                                                               Хромов И.Б

Преподаватель                                                                                                        Душутина Е.В

Санкт-Петербург

2009

1.

Используя команду ls получим информацию о всех возможных типах файлов ФС. Результат

поместим в выходной файл. Для этого нам необходимо просканировать все файлы ФС командой           ls -l -R /. Здесь -R - рекурсивный просмотр всех файлов начиная с указанной папки. Начинаем мы с корневой папки, поэтому  в конце стоит знак /. Далее нам необходимо из получившегося списка выделить первую колонку, соответствующую типу файла. Это делается командой cut -c 1.получившуюся колонку отсортируем командой sort и с помощью команды uniq уберём повторяющиеся символы. Оформим это с применением конвейера. Результат выполнения команды перенаправим в выходной файл types.txt. Саму команду запишем в файл types.sh. Команда будет выглядеть так:

  ls -l -R / | cut -c 1 | sort | uniq > types.txt.

В результате выполнения в выходном файле появится столбец из символов, соответствующих всем типам файлов, найденным в ФС. В конце присутствует символ t. Он не имеет отношения к типам файлов, просто команда ls в каждой директории выводит сначала строку total N, где N - количество занимаемых директорией блоков  памяти по 512 кб. Отсюда и буква t. Содержимое файла types.txt приведено ниже.

  -

  /

  b

  c

  d

  l

  n

  s

  t

2.

  Создадим каталог с именем 1, а в нем создадим файл f.txt. С помощью команды ln в родительском  каталоге создадим ссылку на этот файл с именем link: ln f.txt ../link. Воспользуемся тем, что все жесткие ссылки на файл имеют один идентификатор. Создадим скрипт, который       в нашем каталоге найдёт все жесткие ссылки на выбранный файл. Создадим файл links.sh, содержимое которого приведено ниже

  echo -n enter file name:

  read f

  vr=`ls -i -1 -R | grep $f | cut -c 1-9 `

  echo  links:

  ls -i -l -R | grep -e $vr -e /

  1я строка выводит надпись enter file name

  2я строка: сохранение введённого значения в переменную f

  3я строка: в переменную vr заносится идентификатор указанного файла

  4я строка выыодит строку links:

  5я строка выводит на экран все файлы с полученным идентификатором с указанием каталога

# ./links.sh

enter file name:f.txt

links:

19038036 -rwxrwxr-x  2 root      root              2 Nov 04 17:55 link

./1:

19038036 -rwxrwxr-x  2 root      root              2 Nov 04 17:55 f.txt

./2:

./2/1:

3.

  Для поиска файлов используется команда find. Найдём все файлы в системе с именем f.txt.

  Выполним команду find / -name f.txt -print. В результате получим следующее:

# find / -name f.txt

/home/Xromov/2/1/f.txt

 Рассмотрим некоторые опции команды find. Например, для поиска файлов указанного типа используется флаг -type t, где t - тип искомых файлов.  Для примера введём команды find -type d и find -type f. На экране соответственно появляется список директорий в текущем каталоге и обычных файлов соответственно. Флаг -empty совершает поиск пустых файлов в указанной директории (с учётом всех вложенных папок): find .. -empty. Для того, чтобы указать количество уровней вложенности для поиска, используется флаг -level n, где n - уровень вложенности. Так, команда

Похожие материалы

Информация о работе