- •Самостоятельная работа №6 по дисциплине «операционные системы» тема работы: «работа с файлами и директориями в ос linux. Настройка прав доступа»
- •Краткие теоретические сведения:
- •Особенности файловой системы ос Linux
- •Ссылки на файлы
- •3. Права доступа к файлам и каталогам
- •3.1. Права доступа к файлу
- •3.2. Права доступа к каталогу
- •3.3. Алгоритм проверки прав доступа
- •3.5. Дополнительные атрибуты файла
- •3.4. Изменение прав доступа
- •4. Команды для работы с файлами и каталогами
- •4.1. Команды chown и chgrp
- •4.2. Команда mkdir
- •4.3. Команда touch
- •4.5. Команда mv
- •4.6. Команды rm и rmdir
- •4.7. Команды more и less
- •4.8. Команда find и символы шаблонов для имен файлов
- •Контрольные вопросы:
4. Команды для работы с файлами и каталогами
4.1. Команды chown и chgrp
Эти команды служат для смены владельца файла и группы файла. Выполнять смену владельца может только суперпользователь, смену группы может выполнить сам владелец файла или суперпользователь. Для того, чтобы иметь право сменить группу, владелец должен дополнительно быть членом той группы, которой он хочет дать права на данный файл. Формат этих двух команд аналогичен:
[root]# chown vasja имя-файла
[root]# chgrp usersgrp имя-файла
4.2. Команда mkdir
Команда mkdir позволяет создать подкаталог в текущем каталоге. В качестве аргумента этой команде надо дать имя создаваемого каталога. Во вновь созданном каталоге автоматически создаются две записи:
. (ссылка на этот самый каталог);
.. (ссылка на родительский каталог).
Чтобы создать подкаталог, вы должны иметь в текущем каталоге право записи. Можно создать подкаталог не в текущем, а в каком-то другом каталоге, но тогда необходимо указать путь к создаваемому каталогу:
[user]$ mkdir /home/kos/book/glava5/part1
Команда mkdir может использоваться со следующими опциями:
-m – задает режим доступа для нового каталога (например, -m 755);
-p – создает указанные промежуточные каталоги (если они не существуют).
4.3. Команда touch
Создать пустой файл можно командой touch <имя_файла>. Вообще-то она предназначена для того, чтобы для всех заинтересованных программ файл выглядел новее, чем на самом деле: она меняет время последнего изменения файла на текущее время. Но если файла с таким именем не существует, то она его создаст.
4.4. Команда cat
Команда cat часто используется для создания файлов (хотя можно воспользоваться и командой touch). По команде cat на стандартный вывод (т.е. на экран) выводится содержимое указанного файла (или нескольких файлов, если их имена последовательно задать в качестве аргументов команды). Если вывод команды cat перенаправить в файл, то можно получить копию какого-то файла:
[user]$ cat file1 > file2
Первоначальное предназначение команды cat как раз и предполагало перенаправление вывода, так как эта команда создана для конкатенации, т.е. объединения нескольких файлов в один:
[user]$ cat file1 file2 ... fileN > new-file
Именно возможности перенаправления ввода и вывода этой команды и используются для создания новых файлов. Для этого на вход команды cat направляют данные со стандартного ввода (т.е. с клавиатуры), а вывод команды – в новый файл:
[user]$ cat > newfile
После того, как вы напечатаете все, что хотите, нажмите комбинацию клавиш <Ctrl>+<D> или <Ctrl>+<C>, и все, что вы ввели, будет записано в newfile. Конечно, таким образом создаются, в основном, короткие текстовые файлы.
4.5. Команда mv
Если вам необходимо не скопировать, а переместить файл из одного каталога в другой, вы можете воспользоваться командой mv. Синтаксис этой команды аналогичен синтаксису команды cp. Более того, она сначала копирует файл (или каталог), а только потом удаляет исходный файл (каталог). И опции у нее такие же, как у команды cp.
Команда mv может использоваться не только для перемещения, но и для переименования файлов и каталогов (т.е. перемещения их внутри одного каталога). Для этого надо просто задать в качестве аргументов старое и новое имя файла:
[user]$ mv oldname newname
Но учтите, что команда mv не позволяет переименовать сразу несколько файлов (используя шаблон имени), так что команда mv *.xxx *.yyy работать не будет.
При использовании команды mv, также как и при использовании cp, не забывайте применять опцию -i для того, чтобы получить предупреждение, когда файл будет перезаписываться.
