Часть [кому] есть комбинация букв u, g и o (владелец, члены группы и
прочие пользователи соответственно). Если часть кому опущена или указано a,
то это эквивалентно ugo.
Операция может быть: + (добавить право), - (лишить права), = (в пределах
данного класса присвоить права абсолютно, то есть добавить указанные права и
отнять неуказанные).
Права - любая осмысленная комбинация следующих букв:
r Право на чтение.
w Право на запись.
x Право на выполнение (поиск в каталоге).
s При выполнении переустанавливать действующий идентификатор
пользователя или группы.
t После выполнения программы сохранять сегмент команд (бит
навязчивости).
l Учет блокировки доступа.
Опустить часть права можно только если операция есть = (для лишения
всех прав).
Если надо сделать более одного указания об изменении прав, то при
использовании символьного вида в правах не должно быть пробелов, а указания
должны разделяться запятыми. Например, команда chmod u+w,go+x f1 добавит
для владельца право писать в файл f1, а для членов группы и прочих
пользователей - право выполнять файл. Права устанавливаются в указанном
порядке. Право s можно добавлять только для пользователя и группы, право t -
только для пользователя.
Чтобы установить права, позволяющие владельцу читать и писать в файл,
а членам группы и прочим пользователям только читать, надо использовать
следующую запись:
chmod u=rw,go=r f1
Позволить всем выполнять файл f2
chmod +x f2
chown —изменить владельца файла
Только суперпользователь может изменять владельца файла. Владелец
файла может изменять группу файла на любую группу, к которой он
принадлежит. Суперпользователь может произвольно изменять группу.
21
cp - копирование файлов
cp файл1 [файл2 ...] целевой_файл
Команда cp копирует файл1 в целевой_файл. Файл1 не должен совпадать
с целевым_файлом (будьте внимательны при использовании метасимволов
shell'а). Если целевой_файл является каталогом, то файл1, файл2, ...,
копируются в него под своими именами. Только в этом случае можно указывать
несколько исходных файлов.
Если целевой_файл существует и не является каталогом, его старое
содержимое теряется.
Режим, владелец и группа целевого_файла при этом не меняются.
Если целевой_файл не существует или является каталогом, новые файлы
создаются с теми же режимами, что и исходные (кроме бита навязчивости, если
Вы не суперпользователь). Время последней модификации целевого_файла (и
последнего доступа, если он не существовал), а также время последнего
доступа к исходным файлам устанавливается равным времени, когда
выполняется копирование. Если целевой_файл был ссылкой на другой файл, все
ссылки сохраняются, а содержимое файла изменяется.
mv - перемещение (переименование) файлов
Синтаксис команды:
mv [-f] файл1 [файл2 ...] целевой_файл
Команда mv перемещает (переименовывает) файл1 в целевой_файл.
Файл1 не должен совпадать с целевым_файлом (будьте внимательны при
использовании метасимволов shell'а). Если целевой_файл является каталогом,
то файл1, файл2, ..., перемещаются в него под своими именами. Только в этом
случае можно указывать несколько исходных файлов.
Если целевой_файл существует и не является каталогом, его старое
содержимое теряется. Если при этом обнаруживается, что в целевой_файл не
разрешена запись, то выводится режим этого файла [см. chmod] и
запрашивается строка со стандартного ввода. Если эта строка начинается с
символа y, то требуемые действия все же выполняются, при условии, что у
пользователя достаточно прав для удаления целевого_файла. Если была указана
опция -f или стандартный ввод назначен не на терминал, то требуемые действия
выполняются без всяких запросов. Вместе с содержимым целевой_файл
наследует режим файла1.
Если файл1 является каталогом, то он переименовывается в
целевой_файл, только если у этих двух каталогов общий надкаталог; при этом
все файлы, находившиеся в файле1, перемещаются под своими именами в
целевой_файл. Если файл1 является файлом, а целевой_файл - ссылкой, причем
не единственной, на другой файл, то все остальные ссылки сохраняются, а
целевой_файл становится новым независимым файлом.
rm - удаление файлов
Синтаксис команды:
rm [-f] [-i] файл ...
rm -r [-f] [-i] каталог ... [файл ...]
Команда rm служит для удаления указанных имен файлов из каталога.
22
Если заданное имя было последней ссылкой на файл, то файл уничтожается.
Для удаления пользователь должен обладать правом записи в каталог; иметь
право на чтение или запись файла не обязательно. Следует заметить, что при
удалении файла в Linux, он удаляется навсегда. Здесь нет возможностей вроде
"мусорной корзины" в windows 95/98/NT или команды undelete в DOS. Так что,
если файл удален, то он удален!
Если нет права на запись в файл и стандартный ввод назначен на
терминал, то выдается (в восьмеричном виде) режим доступа к файлу и
запрашивается подтверждение; если оно начинается с буквы y, то файл
удаляется, иначе - нет. Если стандартный ввод назначен не на терминал,
команда rm ведет себя так же, как при наличии опции -f.
Допускаются следующие три опции:
-f Команда не выдает сообщений, когда удаляемый файл не существует, не
запрашивает подтверждения при удалении файлов, на запись в которые нет
прав. Если нет права и на запись в каталог, файлы не удаляются. Сообщение об
ошибке выдается лишь при попытке удалить каталог, на запись в который нет
прав (см. опцию -r).
-r Происходит рекурсивное удаление всех каталогов и подкаталогов,
перечисленных в списке аргументов. Сначала каталоги опустошаются, затем
удаляются. Подтверждение при удалении файлов, на запись в которые нет прав,
не запрашивается, если задана опция -f или стандартный ввод не назначен на
терминал и не задана опция -i. При удалении непустых каталогов команда rm -r
предпочтительнее команды rmdir, так как последняя способна удалить только
пустой каталог. Но команда rm -r может доставить немало острых впечатлений
при ошибочном указании каталога!
-i Перед удалением каждого файла запрашивается подтверждение. Опция
-i устраняет действие опции -f; она действует даже тогда, когда стандартный
ввод не назначен на терминал.
ПРИМЕРЫ
Опция -i часто используется совместно с -r. По команде:
rm -ir dirname
запрашивается подтверждение:
directory dirname: ?
При положительном ответе запрашиваются подтверждения на удаление
всех содержащихся в каталоге файлов (для подкаталогов выполняются те же
действия), а затем подтверждение на удаление самого каталога.
rmdir - удаление каталогов
Синтаксис команды:
rmdir [-p] [-s] каталог ...
Команда rmdir удаляет указанные каталоги, которые должны быть
пустыми. Для удаления каталога вместе с содержимым следует воспользоваться
командой rm с опцией -r. Текущий каталог [см. pwd] не должен принадлежать
поддереву иерархии файлов с корнем - удаляемым каталогом.
Для удаления каталогов нужно иметь те же права доступа, что и в случае
удаления обычных файлов [см. rm].
Командой rmdir обрабатываются следующие опции:
23
-p Позволяет удалить каталог и вышележащие каталоги, оказавшиеся
пустыми. На стандартный вывод выдается сообщение об удалении всех
указанных в маршруте каталогов или о сохранении части из них по каким-либо
причинам.
-s Подавление сообщения, выдаваемого при действии опции -p.
ln - создание ссылки на файл
Синтаксис команды:
ln [-f] файл1 [файл2 ...] целевой_файл
Команда ln делает целевой_файл ссылкой на файл1. Файл1 не должен
совпадать с целевым_файлом (будьте внимательны при использовании
метасимволов shell'а). Если целевой_файл является каталогом, то в нем
создаются ссылки на файл1, файл2, ... с теми же именами. Только в этом случае
можно указывать несколько исходных файлов.
Если целевой_файл существует и не является каталогом, его старое
содержимое теряется. Если при этом обнаруживается, что в целевой_файл не
разрешена запись, то выводится режим доступа к этому файлу [см. chmod] и
запрашивается строка со стандартного ввода. Если эта строка начинается с
символа y, то требуемые действия все же выполняются, при условии что у
пользователя достаточно прав для удаления целевого_файла. Если была указана
опция -f или стандартный ввод назначен не на терминал, то требуемые действия
выполняются без всяких запросов. Целевой_файл наследует режим доступа к
файлу1.
Достарыңызбен бөлісу: |