Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
osi.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
316.33 Кб
Скачать

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

Монтирование – это процесс, который делает файловую систему устройства частью единой файловой системы, доступной для Linux. Например, можно монтировать файловые системы на разделах жесткого диска, таких как /boot, /tmp или /home, а также на дискетах - /mnt/floppy и на CD-ROM - /media/cdrom1.

Базовая форма команды mount имеет два параметра: устройство (или ресурс), содержащие монтируемую файловую систему, и точка монтирования. Например, смонтируем наш раздел с системой FAT32 /dev/hda8 в точке монтирования /dos, как показано в листинге.

root@pinguino:~# mount /dev/hda8 /dos

Точка монтирования должна существовать прежде, чем в нее что-либо будет смонтировано. В результате монтирования файлы и подкаталоги монтируемой файловой системы становятся файлами и подкаталогами точки монтирования.

Иногда может потребоваться явное задание типа файловой системы, для чего используется опция -t, как показано в листинге.

root@pinguino:~# mount -t vfat /dev/hda8 /dos

Чтобы увидеть, какие файловые системы смонтированы, используйте mount без параметров.

Опции монтирования

Например, можно смонтировать файловую систему «только для чтения», указав атрибут -o ro. Если файловая система уже смонтирована – добавьте remount, как показано в листинге.

root@pinguino:~# mount -o remount,ro /dos

Размонтирование файловых систем

Все смонтированные файловые системы обычно автоматически размонтируются системой при перезагрузке или выключении. Также можно размонтировать файловую систему вручную. В действительности это необходимо делать всякий раз, когда вы удаляете записываемый съемный носитель - дискету, USB-диск или флэш-накопитель. Прежде чем размонтировать файловую систему, следует убедиться в отсутствии работающих процессов, которые имеют открытые файлы в этой файловой системе. Затем используйте команду umount, указав в качестве аргумента либо имя устройства, либо точку монтирования. Несколько примеров успешного и безуспешного размонтирования приведено в листинге 30.

root@pinguino:~# lsof /dos

root@pinguino:~# umount /dos

root@pinguino:~# mount /dos

root@pinguino:~# umount /dev/hda8

root@pinguino:~# umount /boot

umount: /boot: device is busy

umount: /boot: device is busy

root@pinguino:~# lsof /boot

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

klogd 6498 klog 1r REG 3,2 897419 6052 /boot/System.map-2.6.12-10-386

После размонтирования файловой системы файлы в каталоге, использовавшемся в качестве точки монтирования, снова становятся видимыми.

30. Основные типы файлов. Права доступа к файлу. Операции над файлами

Типы файлов

С точки зрения операционной системы файл представляет собой просто поток байтов. Такой подход позволяет распространить концепцию файла на физические устройства и некоторые другие объекты. Это позволяет упростить организацию данных и обмен ими, потому что аналогичным образом осуществляется запись данных в файл, передача их на физические устройства и обмен данными между процессами. Во всех этих случаях используется один и тот же подход, основанный на идее байтового потока. Поэтому наряду с обычными файлами и каталогами, файлами с точки зрения Linux являются также:

•файлы физических устройств;

•именованные каналы (named pipes);

•гнезда (sockets);

•символические ссылки (symlinks).

В ОС Linux можно выделить следующие типы файлов:

• обычные файлы — последовательность байтов (текстовые документы, исполняемые программы, библиотеки и т.п.);

• каталоги — именованные наборы ссылок на другие файлы;

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

• файлы блочных устройств, драйверы которых буферизуют ввод-вывод с помощью ядра и

• файлы байт-ориентированных, или символьных, устройств, позволяющих связанным с ними драйверам выполнять буферизацию собственными средствами;

• символические ссылки (symlink, symbolic link);

• именованные каналы (named pipes);

• гнезда (sockets).

Для каждого файла, созданного в файловой системе, запоминаются имена его хозяина и группы хозяев. Группа хозяев не обязательно должна быть группой, в которую входит хозяин. Упрощенно можно считать, что в операционной системе Linux при создании файла его хозяином становится пользователь, создавший файл, а его группой хозяев – группа, к которой этот пользователь принадлежит.

Права доступа

Если выполнить команду ls -l. И задать ей в качестве дополнительного параметра имя конкретного файла.

[user]$ ls -l /bin/ls

-rwxr-xr-x 1 root root 49940 Sep 12 2009 /bin/ls

Вы видите, что в данном случае владельцем файла является пользователь root и группа root. Но нас сейчас в выводе этой команды больше интересует первое поле, определяющее тип файла и права доступа к файлу. Первая группа, состоящая из единственного символа, определяет тип файла. Этот символ в соответствии с возможными типами файлов, рассмотренными в предыдущем разделе, может принимать такие значения:

• - = - обычный файл;

• d = - каталог;

• b = - файл блочного устройства;

• c = - файл символьного устройства;

• s = - доменное гнездо (socket);

• p = - именованный канал (pipe);

• l = - символическая ссылка (link).

Далее следуют три группы по три символа, которые и определяют права доступа к файлу соответственно для владельца файла, для группы пользователей, которая сопоставлена данному файлу, и для всех остальных пользователей системы. В нашем примере права доступа для владельца определены как rwx, что означает, что владелец (root) имеет право читать файл (r), производить запись в этот файл (w), и запускать файл на выполнение (x). Замена любого из этих символов прочерком будет означать, что пользователь лишается соответствующего права. В том же примере мы видим, что все остальные пользователи (включая и тех, которые вошли в группу root) лишены права записи в этот файл, т. е. не могут файл редактировать и вообще как-то изменять.

Права доступа и информация о типе файла в UNIX-системах хранятся в индексных дескрипторах в отдельной структуре, состоящей из двух байтов, т. е. из 16 бит (это естественно, ведь компьютер оперирует битами, а не символами r, w, x). При этом, если соответствующий бит имеет значение 1, то право предоставляется, а если он равен 0, то право не предоставляется. В символьной форме записи прав единица заменяется соответствующим символом (r, w или x), а 0 представляется прочерком.

Буква означает наличие права (г - чтение, w - запись, х - исполнение), дефис - его отсутствие.

Очевидно, что эти три бита могут быть записаны еще и как восьмеричное число. Так, права доступа r-х (чтение и исполнение без записи) понимаются как три двоичные цифры 101 или как восьмеричная цифра

Численное представление прав доступа называется абсолютным, или двоичной маской.

Полная строка прав доступа в символьном представлении устроена так:

<права_владельца*права_группы*права_остальных>

В абсолютном представлении права владельца являются старшим разрядом восьмеричного числа, права группы - вторым и права остальных - третьим.

Так, права rwxr-x-x выглядят как число 111101 001, или 751.

Команда

Действие

  cp  

 Копирование файлов в другой каталог и/или с другим именем 

 mv 

 Перенос файла и переименование его 

 rm 

 Удаление файла 

 rm 

 Удаление каталога 

 man 

 Вывод помощи (по командам ОС) 

 more 

 Вывод содержимого файла на экран с паузами после запол-я каждого экрана 

 cat filename 

 Вывод на экран содержимого файла

 cat > Newfilename 

 Перенаправление содержимого файла в новый файл/создание нового файла с заданым в другом файле содержимым 

 Ctrl+D 

 Окончание перенаправления 

 grep 

 Поиск строк в файле, соответствующих запросу 

 chmode 

 Смена атрибутов файла 

 chown 

 Смена владельца файла 

 find 

 Поиск и вывод на экран имен файлов

 file 

 Вывод информации о файле 

 vc 

 Подсчет слов или знаков в файле 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]