Библиотека сайта rus-linux.net
Обработка атрибутов файлов |
||
---|---|---|
Глава 3. Введение в командную строку |
Обработка атрибутов файлов
Ряд показанных здесь команд используется для
изменения владельца или группы владельца файла или его разрешений. Мы
рассматривали различные разрешения в главе Основные
понятия системы UNIX
.
chown, chgrp: Изменение владельца и группы для одного или более файлов
Синтаксис команды chown (CHange OWNer - изменить владельца) выглядит следующим образом:
chown [опции] <пользователь[:группа]> <файл|каталог> [файл|каталог...] |
-R
: рекурсия. Для изменения владельца для всех файлов и подкаталогов в указанном каталоге.-v
: подробный режим. Показывает все действия, выполняемые chown; сообщает, у каких файлов были изменены владельцы в результате выполнения команды, а какие файлы остались без изменений.-c
: подобна опции-v
, но сообщает только о тех файлах, что были изменены.
- chown
nobody /shared/book.tex: изменяет
владельца файла
/shared/book.tex
наnobody
. - chown
-Rc queen:music *.mid concerts/:
изменяет владельца всех файлов в текущем каталоге, чьи имена
заканчиваются на
.mid
, и всех файлов и подкаталогов в каталогеconcerts/
на пользователяqueen
и группуmusic
, сообщая только о тех файлах, которые были затронуты командой.
Команда chgrp (CHange GRouP - изменить группу) позволяет вам изменить группу владельца для файла (или файлов); ее синтаксис очень похож на синтаксис команды chown:
chgrp [опции] <группа> <файл|каталог> [файл|каталог...] |
Опции для этой команды такие же, как и у chown, и она используется очень похожим способом. Так, команда:
chgrp disk /dev/hd* |
изменяет
группу владельца всех файлов в каталоге /dev/
с именами, начинающимися с hd
,
на группу disk
.
chmod: Изменение разрешений файлов и каталогов
Команда chmod (CHange MODe - изменить режим) имеет весьма специфический синтаксис. Синтаксис в общем случае:
chmod [опции] <изменение режима> <файл|каталог> [файл|каталог...] |
но чем она характеризуется, так это тем, что изменение режима может принимать разные формы. Оно может быть указано двумя способами:
- в виде
восьмеричного числа. Разрешения владельца при этом соответствуют
числам в виде
<x>00
, где<x>
соответствует назначаемому разрешению: 4 на чтение, 2 на запись и 1 на выполнение. Аналогично, разрешения группы владельца принимают вид<x>0
, а разрешения для «остальных» -<x>
. Затем, все что вам нужно сделать - так это найти сумму назначаемых разрешений, чтобы получить нужный режим. Так, разрешенияrwxr-xr--
соответствуют 400+200+100 (разрешения для владельца,rwx
) +40+10 (разрешения для группы,r-x
) +4 (разрешения для остальных,r--
) = 754; таким образом, разрешения выражаются через свободные члены. Это значит, что предыдущие разрешения безусловно заменяются; - при помощи
выражений. При этом разрешения выражаются через последовательность
выражений, разделенных запятыми. Отсюда выражение принимает
следующий вид:
[категория]<+|-|=><разрешения>
.Категория может быть одной или более из:
u
(User - пользователь), разрешения для пользователя;g
(Group - группа), разрешения для группы владельца;o
(Others - остальные), разрешения для «остальных».
Если категория не указана, изменения применяются ко всем категориям.
+
добавляет разрешение,-
удаляет разрешение и=
устанавливает разрешение. И, наконец, разрешение является одним или более из следующих:
Главные опции полностью идентичны опциям команд chown и chgrp:
-R
: рекурсивное изменение разрешений.-v
: подробный режим. Показывает выполняемые действия для каждого файла.-c
: подобна опции-v
, но сообщает только о тех файлах, которые были подвержены действию команды.
- chmod -R
o-w /shared/docs: рекурсивно удаляет
разрешение на запись для
остальных
у всех файлов и подкаталогов в каталоге/shared/docs/
. - chmod -R
og-w,o-x private/: рекурсивно удаляет
разрешение на запись для
группы
иостальных
у всего каталогаprivate/
, и удаляет разрешение на выполнение дляостальных
. - chmod -c
644 misc/file*: изменяет разрешения
для всех файлов в каталоге
misc/
, чьи имена начинаются сfile
наrw-r--r--
(т.е. разрешение на чтение для всех и разрешение на запись только для владельца), и сообщает только о тех файлах, которые были подвержены действию команды.
Утилиты обработки Файлов |
Шаблоны универсализации в командном процессоре |