Файловая система в ОС МСВС
В ОС МСВС работа с локальными/внешними устройствами и данными на дисках организована в виде работы с файлами. Совокупности устройств и/или данных образуют файловую систему. Файловую систему перед использованием необходимо смонтировать т.е. представить в виде единого дерева. Корень дерева называется «root» и обозначается «/».
Для монтирования файловой системы используется команда mount. При монтировании ядру ОС МСВС необходимо указать ряд параметров, например, тип файловой системы, квоты на использование файла, режим монтирования (чтение-запись), права пользователей на доступ к файловой системе и т.д. Для размонтирования используется команда umount.
Пример дерева файлов в ОС МСВС:
Команды для работы с файловой системой ОС МСВС:
LS – выводит содержимое каталога.
Синтаксис:
ls [опции] [файл...]
Описание:
Команда ls сначала выводит список всех файлов и каталогов, перечисленных в командной строке, а затем выводит список всех файлов и каталогов, находящихся в каталогах, перечисленных в командной строке. Если не указано ни одного файла, то по умолчанию аргументом назначается '. ' (текущий каталог).
Основные параметры:
-a –включать в список файлы с именем, начинающимся с '. '.
-d – выдавать имена каталогов, как будто они обычные файлы, вместо того, чтобы показывать их содержимое.
-l – выдавать (в одноколоночном формате) тип файла, права доступа к файлу, количество ссылок на файл, имя владельца, имя группы, размер файла (в байтах), временной штамп и имя файла.
Примеры:
Вывести содержимое текущего каталога с правами доступа:
Ls -l
Вывести правами доступа к файлу smd.conf, находящегося в каталоге /etc/samba:
ls –l /etc/samba/smb.conf
CD – смена текущего каталога
Примеры:
Перейти в домашний каталог текущего пользователя:
Cd
Перейти в каталог home из текущего каталога:
Cd home
Перейти в каталог /mnt/cdrom:
cd /mnt/cdrom
MKDIR – создать каталог.
Синтаксис:
mkdir [-m режим_доступа] [-p] каталог...
Описание:
По команде mkdir создаётся один или несколько каталогов с режимом доступа 0777 [возможно изменить опцией -m ]. Стандартные файлы (. – для самого каталога и .. – для вышележащего) создаются автоматически; их нельзя создать по имени. Для создания каталога необходимо располагать правом записи в вышележащий каталог. Идентификаторы владельца и группы новых каталогов устанавливаются соответственно равными реальным идентификаторам владельца и группы процесса.
Основные параметры:
-m – режим_доступа
-p – при указании этой опции перед созданием нового каталога предварительно создаются все несуществующие вышележащие каталоги.
Примеры:
Создать поддерево каталогов tmpdir/temp/dir:
mkdir -p tmpdir/temp/dir
Создать каталог test в текущем каталоге с правами доступа 777:
mkdir –m 777 test
RMDIR – удаление каталогов.
Синтаксис:
rmdir [-p] [-s] каталог...
Описание:
Команда rmdir удаляет указанные каталоги, которые должны быть пустыми. Для удаления каталога вместе с содержимым следует воспользоваться командой rm с опцией -r. Текущий каталог не должен принадлежать поддереву иерархии файлов с корнем - удаляемым каталогом. Для удаления каталогов нужно иметь те же права доступа, что и в случае удаления обычных файлов.
Основные параметры:
-p – позволяет удалить каталог и вышележащие каталоги, оказавшиеся пустыми. На стандартный вывод выдается сообщение об удалении всех указанных в маршруте каталогов или о сохранении части из них по каким-либо причинам.
Пример:
Удалить поддерево каталогов tmpdir/temp/dir:
rmdir -p tmpdir/temp/dir
CP – копирование файлов и каталогов.
Синтаксис:
cp [опции] <файл|каталог> [файл|каталог...] <назначение>
Описание:
Команда cp копирует файл1 в целевой_файл. Файл1 не должен совпадать с целевым_файлом. Если целевой_файл является каталогом, то файл1, файл2,..., копируются в него под своими именами. Только в этом случае можно указывать несколько исходных файлов.
Если целевой_файл существует и не является каталогом, его старое содержимое теряется. Режим, владелец и группа целевого_файла при этом не меняются.
Если целевой_файл не существует или является каталогом, новые файлы создаются с теми же режимами, что и исходные. Время последней модификации целевого_файла (и последнего доступа, если он не существовал), а также время последнего доступа к исходным файлам устанавливается равным времени, когда выполняется копирование. Если целевой_файл был ссылкой на другой файл, все ссылки сохраняются, а содержимое файла изменяется.
Основные параметры:
-R – рекурсивное копирование, обязателен для копирования каталога, даже если он пуст.
-i – запрос подтверждения перед перезаписью любых файлов, которые могут быть перезаписаны.
-f – противоположность -i, заменяет любые существующие файлы без запроса подтверждения.
-v – подробный режим, сообщает обо всех действиях, выполняемых cp.
Примеры:
Скопировать все файлы из каталога /timages/ в каталог images/, находящийся в текущем каталоге. Запрашивается подтверждение, если должен быть перезаписан файл:
cp -i /timages/* images/
Скопировать весь каталог docs, плюс все файлы из каталога /shared/mp3s в каталог mystuff:
cp -vR docs/ /shared/mp3s/* mystuff/
Сделать копию файла foo в файл с именем bar в текущем каталоге:
Cp foo bar
MV – Переименование или перемещение файлов и каталогов.
Синтаксис:
mv [опции] <файл|каталог> [файл|каталог...] <назначение>
Описание:
Команда mv перемещает (переименовывает) файл1 в целевой_файл. Файл1 не должен совпадать с целевым_файлом. Если целевой_файл является каталогом, то файл1, файл2,..., перемещаются в него под своими именами. Только в этом случае можно указывать несколько исходных файлов.
Если целевой_файл существует и не является каталогом, его старое содержимое теряется. Если при этом обнаруживается, что в целевой_файл не разрешена запись, то выводится режим этого файла и запрашивается строка со стандартного ввода. Если эта строка начинается с символа y, то требуемые действия все же выполняются, при условии, что у пользователя достаточно прав для удаления целевого_файла. Если была указана опция -f или стандартный ввод назначен не на терминал, то требуемые действия выполняются без всяких запросов. Вместе с содержимым целевой_файл наследует режим файла1.
Если файл1 является каталогом, то он переименовывается в целевой_файл, только если у этих двух каталогов общий надкаталог; при этом все файлы, находившиеся в файле1, перемещаются под своими именами в целевой_файл. Если файл1 является файлом, а целевой_файл - ссылкой, причем не единственной, на другой файл, то все остальные ссылки сохраняются, а целевой_файл становится новым независимым файлом.
Основные параметры:
-f – форсирование операции –– предупреждение не выводится, если перезаписывается существующий файл.
-i – противоположность -f. У пользователя спрашивается подтверждение перед перезаписью существующего файла.
-v – подробный режим, сообщает обо всех изменениях и действиях.
Примеры:
Переместить все файлы из каталога /tmp/pics/, чьи имена заканчиваются на .png, в текущий каталог (.), запрашивать подтверждение перед перезаписью в нем любых файлов:
mv -i /tmp/pics/*.png
Переименовать файл foo в bar. Если каталог bar уже существовал, результатом выполнения этой команды будет перемещение файла foo или всего каталога (самого каталога плюс всех файлов и каталогов в нем, рекурсивно) в каталог bar:
Mv foo bar
Переместить без запроса подтверждения все файлы из текущего каталога с именами, начинающимися с file, вместе со всем каталогом images/ в каталог trash/, и показать порядок выполнения каждой операции:
mv -vf file* images/ trash/
RM – удалить файл.
Синтаксис:
rm [-f] [-i] файл...
rm -r [-f] [-i] каталог... [файл...]
Описание:
Команда rm служит для удаления указанных имён файлов из каталога. Если заданное имя было последней ссылкой на файл, то файл уничтожается. Для удаления пользователь должен обладать правом записи в каталог; иметь право на чтение или запись файла не обязательно. Следует заметить, что при удалении файла в ОС МСВС, он удаляется навсегда.
Основные параметры:
-f – команда не выдает сообщений, когда удаляемый файл не существует, не запрашивает подтверждения при удалении файлов, на запись в которые нет прав. Если нет права и на запись в каталог, файлы не удаляются. Сообщение об ошибке выдается лишь при попытке удалить каталог, на запись в который нет прав.
-r – происходит рекурсивное удаление всех каталогов и подкаталогов, перечисленных в списке аргументов. Сначала каталоги опустошаются, затем удаляются. Подтверждение при удалении файлов, на запись в которые нет прав, не запрашивается, если задана опция -f или стандартный ввод не назначен на терминал и не задана опция -i. При удалении непустых каталогов команда rm -r предпочтительнее команды rmdir, так как последняя способна удалить только пустой каталог.
-i – перед удалением каждого файла запрашивается подтверждение. Опция -i устраняет действие опции -f.
Пример:
Удалить каталог tmpdir в текущем каталоге с выводом подтверждения об удалении:
Rm -i tmpdir
Удалить в текущем каталоге все файлы, начинающиеся с tes:
rm tes*