Символические обозначения прав
Символические обозначения, иногда называемые символическими выражениями, используют буквы вместо восьмеричных значений для назначения прав на файлы и каталоги. Символические выражения используют синтаксис (кто) (действие) (права), где существуют следующие значения:
Опция | Буква | Значение |
(кто) | u | Пользователь (User) |
(кто) | g | Группа (Group) |
(кто) | o | Другие (Other) |
(кто) | a | Все (All, ''world'') |
(действие) | + | Добавление прав |
(действие) | - | Удаление прав |
(действие) | = | Явная установка прав |
(права) | r | Чтение (Read) |
(права) | w | Запись (Write) |
(права) | x | Выполнение (Execute) |
(права) | t | Sticky бит |
(права) | s | SUID или SGID |
Эти значения используются командой chmod так же как и раньше, но с буквами. Например, вы можете использовать следующую команду для запрета доступа других пользователей к FILE:
chmod go= FILE
Для изменения более чем одного набора прав можно применить список, разделенный запятыми. Например, следующая команда удалит права группы и ''всех остальных'' на запись в FILE, а затем добавит права на выполнение для всех:
chmod go-w,a+x FILE
Задание
1. Создать свою учетную запись
2. В директории /home/<Ваша фамилия> создайте пустой файл с именем mydoc.txt
2. Всем пользователям выставьте право на чтение файла
3. Теперь выставьте права rwxrw-r--
4. В директории documents создайте директорию test
|
|
5. Уберите право на выполнение для владельца
6. Создайте файл test внутри этой директории
7. Получилось? Почему?
8. Удалите директорию test
$ sudo adduser <Ваша фамилия>
$ cd ~/ home /<Ваша фамилия>
$ sudo touch mydoc . txt
$ sudo chmod a+r mydoc.txt
$ sudo chmod 764 mydoc.txt
$ cd ../
$ sudo mkdir test
$ sudo chmod u-x test
$ touch test/test1
touch : невозможно выполнить ' test / test 1': Отказано в доступе.
$ sudo rmdir test
Контрольные вопросы:
- Какие типы прав доступа существуют в Linux?
- Кто имеет право менять права доступа к файлу и с помощью каких команд?
- С помощью какой утилиты командной строки можно создавать, удалять, модифицировать и отображать пользователей и групп?
- Какими правами надо обладать, чтобы удалить файл или каталог?
Практическое занятие №6
Тема: ОС Ubuntu. Работа с архивами.
Цель: получить практические навыки работы с архивами ОС Ubuntu
Оборудование: компьютер, ОС Ubuntu
Ход работы:
1. Ознакомиться с кратким теоретическим материалом
2. Выполнить задание.
3. Ответить на контрольные вопросы.
4. Оформить отчет.
Теоретические сведения:
Основным средством архивирования в UNIX (а, следовательно, и в Linux) является комплекс из двух программ — tar и gzip. Хотя никто не запрещает пользоваться arj, pkzip, lha, rar и т. д. — версии этих программ для Linux общедоступны. Просто уж исторически сложилось, что пользователи Unix чаще применяют именно tar и gzip, и именно в таком формате распространяется большая часть программного обеспечения для Unix. Может возникнуть вопрос "А зачем использовать две программы?” Все дело в том, что tar расшифровывается как Tape ARchiver, он не сжимает данные, а лишь объединяет их в единый файл с последовательным доступом для последующей записи на ленту. По умолчанию этот архивный файл создается на ленточном накопителе, точнее на устройстве /dev/rmt0. Если вы хотите создать архивный файл на диске, то необходимо использовать команду tar с опцией f, после которой указывается имя архивного файла.
|
|
У программы tar имеется 8 опций, отличающихся от остальных тем, что при вызове программы должна обязательно задаваться одна из этих опций. Эти опции определяют основные функции программы.
Таблица 1. Основные опции программы tar
Опция | Значение |
-A, --catenate, --concatenate | Добавляет файлы в существующий архив |
-c, --create | Создает новый архив |
-d, --diff, --compare | Найти различия между архивом и файловой системой |
--delete | Удалить из архива (не может использоваться с магнитной лентой!) |
-r, --append | Дописывает файлы в конец архива |
-t, --list | Выводит список файлов архива |
-u, --update | Добавляет только файлы, которые новее, чем имеющаяся в архиве копия |
-x, --extract, --get | Извлечь файлы из архива |
Если вы работаете с файлами архивов на дисках, а не с ленточным устройством, то, очевидно, обязательной будет и опция f. Другие опции не являются обязательными, они служат только для конкретизации задания программе. Например, опция v заставляет программу выводить список обрабатываемых файлов.
|
|
Однобуквенные опции программы tar могут перечисляться друг за другом. Рассмотрим примеры.
Чтобы создать один tar-архив из нескольких файлов, используется команда:
[user]$ tar -cf имя_архива файл1 файл2 ...,
где опция -c сообщает программе, что необходимо создать (create) архив, а опция f говорит о том, что архив должен создаваться в виде файла (имя которого должно следовать сразу за этой опцией).
В именах файлов, которые сохраняются в архиве, можно использовать шаблоны имен файлов, в том числе просто символы-заместители * и ?. Благодаря этому можно очень короткой командой отправить в архив сразу много файлов. Например, для того, чтобы создать архив, содержащий все файлы одного из подкаталогов (пусть это будет sub_dir) текущего каталога, достаточно дать команду
|
|
[user]$ tar -cvf имя_архива ./sub_dir/*
или даже просто
[user]$ tar -cvf имя_архива sub_dir
По этой команде в архиве будут сохранены не только файлы, расположенные непосредственно в подкаталоге sub_dir, но и рекурсивно все файлы из подкаталогов каталога sub_dir. При этом в архиве сохраняется вся структура подкаталогов каталога sub_dir.
Заметим, что если в только что приведенном примере вместо * поставить *.*, то будут сохранены только те файлы, которые расположены непосредственно в подкаталоге sub_dir, а подкаталоги каталога sub_dir архивированы не будут. Если в том же примере не указать имя подкаталога, то будут архивироваться все файлы (и подкаталоги) текущего каталога. Но если вы дадите команду следующего вида
[user]$ tar -cvf имя_архива ./.*
то в архиве будут сохранены не только все файлы (и подкаталоги) текущего каталога, но и файлы из родительского каталога, а хотели ли вы этого?
Теперь вы знаете как создать архив, а для того, чтобы распаковать (извлечь) файлы из архива, нужно дать команду:
[user]$ tar -xvf имя_архива файлы
Получить список файлов архива можно командой:
[user]$ tar -tf имя_архива | less
В заключение раздела заметим, что всегда можно получить подсказку по использованию программы tar, дав команду
[user]$ tar -help
Программа gzip
Хотя программа tar создает архивы, она, как было сказано, не сжимает архивы, а просто соединяет отдельные файлы в единый архивный файл. Для сжатия этого файла часто применяют команду gzip. В простейшем случае она вызывается в следующем формате:
[user]$ gzip файл
В командной строке можно указать сразу несколько имен файлов или шаблон имени файла. Но в этом случае каждый из указанных файлов будет заархивирован отдельно (общий архив не создается).
Для того, чтобы распаковать архив, используйте команду
[user]$ gzip -d файл_архива
или
[user]$ gunzip файл_архива
Исходные файлы после сжатия удаляются, остается только архивный файл (файлы перемещаются в архив), а при разархивации удаляется архив.
Перечислим кратко другие полезные опции программы gzip.
Таблица 2. Основные опции программы gzip
Опция | Значение |
-h, --help | Вызов краткой помощи по использованию программы |
-l, --list | Выдает имя файла, содержащегося в архиве, его объем и степень сжатия |
-L, --license | Отображает номер версии и лицензию на программу |
-N, --name | Сохранять (или восстанавливать) исходное имя и время создания файла |
-n,--no-name | Не сохранять (не восстанавливать) исходное имя и время создания файла |
-q, --quiet | Подавляет выдачу на экран предупреждающих сообщений |
-r, --recursive | Рекурсивно обрабатывать подкаталоги (используется в случае. когда задан шаблон имен обрабатываемых файлов) |
-S .suf, --suffix .suf | Добавить суффикс .suf к имени сжатого файла (вместо добавляемого по умолчанию суффикса gz; но учтите, что при разархивации файлов с суффиксами, отличными от gz, программа вас не поймет) |
-t, --test | Протестировать архивный файл |
-v, --verbose | Выдача дополнительных сообщений в процессе работы программы |
-V, --version | Отобразить версию программы |
-1, --fast | Быстрое сжатие |
-9, --best | Более высокая степень сжатия |
Поскольку программа gzip не умеет сохранять в одном архиве несколько файлов, то обычно ее применяют для сжатия архивов, созданных программой tar. Более того, среди опций программы tar имеется специальная опция -z, позволяющая сразу после создания сжать его с помощью программы gzip. Для выполнения такого сжатия надо использовать команду tar примерно следующим образом:
[user]$ tar -czf имя_архива шаблон_имен_файлов (или имя_каталога)
Только имейте в виду, что в этом случае суффикс .gz не добавляется автоматически к имени создаваемого архива, поэтому лучше сразу задать имя архива с указанием обеих суффиксов: имя.tar.gz.
Задание
1. Изучить принцип действия команд архивирования:
· tar -cf file.tar files – создать tar-архив с именем file.tar содержащий files
· tar -xf file.tar – распаковать file.tar
· tar -tffile.tar– получить список файлов tar-архива
· tar -czf file.tar.gz files – создать архив tar-архив с сжатием Gzip
· tar -xzf file.tar.gz – распаковать tar-архив с сжатием Gzip
· gzipfile – сжать file и переименовать в file.gz
· gzip -d file.gz – извлечь из архива file.gz в file
2. Выполните следующие действия:
1. Создайте директорию documents.
2. Перейдите в директорию documents. В ней создайте три файла doc1.txt, doc2.txt и doc3.txt
3. Создайте в каталоге директорию archive.
4. Поместите все три файла в архив docs.tar
5. Переместите docs.tar в archive.
6. Удалите файлы созданные ранее файлы в директории ~/documents.
7. Проверьте содержимое папки.
8. Восстановите файлы из архива.
9. Проверьте дату последнего изменения всех трёх файлов.
$ mkdir documents
$ cd documents
$ touch doc1.txt doc2.txt doc3.txt
$ ls
doc1.txt doc2.txt doc3.txt
$ mkdir archive
$ tar -czf docs.tar doc1.txt doc2.txt doc3.txt
$ mv docs.tar /home/user/documents/archive
$ rm doc1.txt doc2.txt doc3.txt
$ ls
$ tar -xf /home/user/documents/archive/docs.tar
$ ls –l
Контрольные вопросы:
1. Какие команды используются для архивирования в Linux?
2. Чем отличается команда tar от gzip?
3. Какие опции используются для работы с архивами?
Дата добавления: 2018-11-24; просмотров: 255; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!