Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

Монтирование – это процесс, который делает файловую систему устройства частью единой файловой системы, доступной для 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

 

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

 

Типы файлов

С точки зрения операционной системы файл представляет собой просто поток байтов. Такой подход позволяет распространить концепцию файла на физические устройства и некоторые другие объекты. Это позволяет упростить организацию данных и обмен ими, потому что аналогичным образом осуществляется запись данных в файл, передача их на физические устройства и обмен данными между процессами. Во всех этих случаях используется один и тот же подход, основанный на идее байтового потока. Поэтому наряду с обычными файлами и каталогами, файлами с точки зрения 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 Подсчет слов или знаков в файле
   

 




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 739; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.