Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по дисциплине ОС.docx
Скачиваний:
48
Добавлен:
17.11.2019
Размер:
3.92 Mб
Скачать
    1. Вывод и копирование файла

Чтобы вывести информацию из существующего файла, можно воспользоваться командой cat: cat test

Эта команда является одной из самых полезных в Linux, так как с ее помощью можно не только просматривать содержимое файлов, но и проводить различные операции с ними. Например, можно создать короткий текстовый файл, введя его содержимое с клавиатуры: cat > test1

Чтобы окончить ввод текста, надо нажать комбинацию клавиш Ctrl+D. Соединить два файла вместе, добавив еще раз содержимое файла test в файл test1, позволяет следующая команда: cat test1 >>test

Теперь можно вывести информацию из обоих файлов на монитор одной командой: cat test test1.

    1. Просмотр содержимого файла

Для постраничного вывода файла на экран предназначена команда: more параметры файлы.

Существует более удобная команда, которая позволяет просматривать содержимое файла не только от начала к концу, но и в обратном направлении: less параметры файлы

Команда less сочетает в себе лучшие стороны команды cat и текстовых редакторов. Кроме того, при использовании команды less из просматриваемого файла читаются только те байты, которые выводятся на экран, без загрузки в оперативную память всего файла.

    1. Обработка атрибутов файлов

      1. Изменение владельца и группы для одного или более файлов chown, chgrp

Синтаксис команды chown (CHangeOWNer - изменить владельца) выглядит следующим образом:

chown [опции] <пользователь[:группа]><файл|каталог> [файл|каталог...]

Опции включают:

  • -R: рекурсия. Для изменения владельца для всех файлов и подкаталогов в указанном каталоге.

  • -v: подробный режим. Показывает все действия, выполняемые chown; сообщает, у каких файлов были изменены владельцы в результате выполнения команды, а какие файлы остались без изменений.

  • -c: подобна опции -v, но сообщает только о тех файлах, что были изменены.

Несколько примеров:

  • chown nobody /shared/book.tex: изменяет владельца файла/shared/book.texнаnobody.

  • chown -Rcqueen:music *.midconcerts/: изменяет владельца всех файлов в текущем каталоге, чьи имена заканчиваются на .mid, и всех файлов и подкаталогов в каталоге concerts/ на пользователя queen и группу music, сообщая только о тех файлах, которые были затронуты командой.

Команда chgrp (CHangeGRouP - изменить группу) позволяет вам изменить группу владельца для файла (или файлов); ее синтаксис очень похож на синтаксис команды chown:

chgrp [опции] <группа><файл|каталог> [файл|каталог...]

Опции для этой команды такие же, как и у chown, и она используется очень похожим способом. Так, команда: chgrpdisk /dev/hd*изменяет группу владельца всех файлов в каталоге /dev/ с именами, начинающимися с hd, на группу disk.

      1. Изменение разрешений файлов и каталогов chmod

Команда chmod (CHangeMODe - изменить режим) имеет весьма специфический синтаксис. Синтаксис в общем случае: chmod [опции] <изменение режима><файл|каталог> [файл|каталог...]

Изменение режима может принимать разные формы. Оно может быть указано двумя способами:

  1. в виде восьмеричного числа. Разрешения владельца при этом соответствуют числам в виде <x>00, где <x> соответствует назначаемому разрешению: 4 на чтение, 2 на запись и 1 на выполнение. Аналогично, разрешения группы владельца принимают вид <x>0, а разрешения для «остальных» - <x>. Затем, все что вам нужно сделать - так это найти сумму назначаемых разрешений, чтобы получить нужный режим. Так, разрешения rwxr-xr-- соответствуют 400+200+100 (разрешения для владельца, rwx) +40+10 (разрешения для группы, r-x) +4 (разрешения для остальных, r--) = 754; таким образом, разрешения выражаются через свободные члены. Это значит, что предыдущие разрешения безусловно заменяются;

  2. при помощи выражений. При этом разрешения выражаются через последовательность выражений, разделенных запятыми. Отсюда выражение принимает следующий вид: [категория]<+|-|=><разрешения>.

Если категория не указана, изменения применяются ко всем категориям. + добавляет разрешение, - удаляет разрешение и = устанавливает разрешение.

Таблица 28Опции команды chmod

Опция команды chmod:

u

g

o

a

Доступ

+r (-r)

+x (-x)

+w (-w)

Уровень

Владелец

Группа

Прочие

Все

Описание

Чтение

Выполнение

Запись

Главные опции полностью идентичны опциям команд 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-- (т.е. разрешение на чтение для всех и разрешение на запись только для владельца), и сообщает только о тех файлах, которые были подвержены действию команды.

  1. Задание к работе: