Опубликован: 27.07.2006 | Доступ: свободный | Студентов: 3173 / 531 | Оценка: 4.28 / 4.13 | Длительность: 26:56:00
Специальности: Программист
Лекция 2:

Операционные системы и сети

Права доступа к файлам и каталогам

В ОС Linux для каждого файла и каталога задаются права доступа, определяющие, кто и какие операции может осуществлять над данным файлом. Эти права позволяют ограничить доступ к файлу трем категориям пользователей (владелец, группа, остальные).

Кроме этого, можно управлять типом прав доступа к данному файлу или каталогу. Для файла или каталога может быть установлено право на чтение, запись и выполнение (для каталога - это право на вход в него). Наличие соответствующего права на чтение кодируется символом r (от англ. read), право на запись - w (write), право на выполнение - x (execute), отсутствие соответствующего права обозначают дефисом (-).

Эти три типа прав доступа для трех категорий пользователей образуют набор из девяти символов, однозначно задающий все права доступа к файлу (каталогу), например, rwxrwxr-x.

Обратите внимание, что для удаления файла необходимо обладать правом на запись в директорию, его содержащую.

При создании файла или каталога права устанавливаются автоматически, чем впрочем, тоже можно управлять. Владелец файла может изменять его права доступа как угодно.

Команда ls -l выдает подробную информацию о файле, включая права доступа к нему. С файлом, имеющим, например, код доступа rwxr-xr-x его хозяин может производить любые операции (читать, изменять и выполнять), а все остальные - только читать и выполнять.

Копирование файлов

Копировать файлы можно с помощью команды cp (от англ. copy - копировать). Для команды cp обязательны два аргумента: исходный файл и имя копии. При копировании из одного каталога в другой можно использовать как абсолютный, так и относительный пути в именах файлов. Напомним, что между командой и ее аргументами необходимы пробелы. Например,

cp today report/monday

При копировании целого дерева файлов из одного каталога в другой используйте ключик r после имени команды. Скопированный каталог будет содержать все свои подкаталоги. Следующая команда создаст в каталоге oldletters копию каталога letters:

cp -r letters oldletters

При копировании, перемещении и удалении файлов также, как при создании директории, не должно появляться никаких сообщений. Любое сообщение означает, что вы допустили какую-то ошибку. Наиболее распространенной ошибкой является указание неправильного имени файла (она часто возникает, если вы не пользуйтесь табуляцией при наборе имени файла). В этом случае сообщение об ошибке будет выглядеть примерно так:

cp: jasdfh: No such file or directory

Другой часто встречающейся ошибкой является попытка скопировать файл в ту часть файловой системы, в которую пользователь не имеет права на запись. В этом случая сообщение об ошибке будет содержать словосочетание Permission denied.

При копировании, перемещении и удалении файлов можно использовать шаблоны в именах файлов и директорий, составленные из символов * (для замены любой комбинации символов) и ? (для замены единственного символа). Например, для копирования всех файлов из текущей директории, которые заканчиваются на .gif в директорию Work, воспользуйтесь командой

cp *.gif Work

Создание и удаление каталогов

Новые директории создаются командой mkdir. Например, команда mkdir Work создаст директорию с именем Work.

В случае удачного создания директории на экране снова появится приглашение командной строки и ничего более. Все остальное является сообщением об ошибках. Внимательно читайте их и пытайтесь понять, что вы сделали неправильно. Поиск и исправление ошибок является очень важным аспектом при работе с компьютером. Самой распространенной ошибкой при создании директории является то, что вы пытаетесь создать директорию, которая уже существует. В этом случае сообщение об ошибке будет выглядеть примерно так:

mkdir: cannot make directory `Work': File exists

Для удаления каталогов используется команда rmdir. Удалять можно только пустые каталоги, т. е. не содержащие файлов и поддиректорий. При попытке удалить непустую директорию появляется сообщение

rmdir: `имя_удаляемого_каталога': Directory not empty

В случае успешного удаления никакой дополнительной информации не выводится.

При создании и удалений каталогов можно использовать как абсолютные, так и относительные пути к каталогам. Напомним, что при попытке создания и удаления каталогов, также как и файлов, проверяются права доступа - нужно наличие ключика w в правах доступа. Если у вас недостаточно прав для записи в соответствующую директорию, то сообщение будет примерно таким:

mkdir: cannot create directory `/Texts: Permission denied

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

Для просмотра содержимого файлов используются команды more, less и cat. Все три команды в качестве параметра используют имя файла, предназначенного для просмотра, например,

cat data.txt

Команда cat (concatenate) - сложная и универсальная команда. Простейшее применение этой команды - вывод содержимого файла на экран. Использование этой команды оправдано, если содержимое файла занимает не больше одного экрана. В противном случае часть информации исчезнет из области видимости.

Для файлов, содержащих большое число строк, удобнее использовать команды more или less. Действия этих команд почти аналогичны: информация выводится на экран порциями, нажатие на клавишу Space (пробел) выводит следующую порцию текста (экран), нажатие на клавишу b выводит предыдущий экран, клавиша q прекращает выполнение команды.

Перемещение и переименование

С помощью команды mv (от англ. move) можно либо изменить имя файла или каталога, либо переместить файл или каталог в другое место. Используя эту команду для переименования в качестве второго аргумента нужно указать новое имя:

mv текущее_имя новое_имя

Например,

mv doc1.txt doc_old.txt
mv Work Old_Work

Команда mv может использоваться для перемещения файла в новый каталог. Для этого нужно в качестве второго аргумента указать имя каталога:

mv имя_файла имя_каталога

Пример

mv doc1.txt Old_Work
mv doc2.txt Old_Work/doc_old.txt

Вторая команда совмещает перемещение файла с переименованием: файл doc2.txt перемещается в директорию Old_Work и получает новое имя doc_old.txt

Светлана Овчаркина
Светлана Овчаркина
Елена Митющенко
Елена Митющенко
И какова взаимосвязь между информацией и данными?