Материал: 396_OS_uchebnoe_posobie_part1_2012

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

[student@wp1 student]$ls<Enter> Desktop Mail lab1.c lab2.txt nsmail [student@wp1 student]$_

Кроме этого, команда ls обрабатывает ряд опций, определяющих внешний вид списка файлов и информацию, отображаемую для каждого из них (таблица 2). Более подробный перечень используемых опций можно найти в электронном справочнике man.

Опции команды ls могут быть указаны как по отдельности, так и в виде одной последовательности символов. Это означает, что выражения ls -l -F и ls -lF дадут одинаковый результат.

Таблица 2. Опции команды ls

Опция

Описание

-a

Выводит информацию обо всех файлах. По умолчанию команда ls не

 

отображает файлов, имена которых начинаются с точки («.»).

-d

Выводит информацию не только для каталога, но и для его содер-

 

жимого.

-l

Выводит информацию об атрибутах файлов и каталогов. Если данная

 

опция не указана, выводятся только имена файлов.

-r

Изменяет порядок сортировки на обратный.

-t

Располагает файлы по дате их изменения. Если содержимое файла

 

изменялось недавно, он будет отображаться в начале списка.

-u

Сортирует файлы по времени последнего обращения к ним.

-R

Показывает содержимое указанного каталога и всех его подкаталогов.

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

Посмотреть содержимое файла в неинтерактивном режиме (т.е. просто выдать его на экран) можно с использованием команды cat с указанием требуемого файла в качестве аргумента. Если размер файла большой, то начало окажется за пределами экрана. Чтобы посмотреть его можно использовать комбинацию клавиш Shift+PgUp для прокрутки вверх и Shift+PgDown для прокрутки вниз.

Чтобы просмотреть файл в интерактивном режиме (т.е. иметь возможность при просмотре перемещаться по файлу), можно использовать команду less. При этом на экран будет выдана помещающаяся на него часть файла, и less будет ждать от пользователя нажатия клавиши (в левом нижнем углу будет выведен символ «:» (двоеточие)). Перемещаться по файлу можно с использованием клавиш управления курсором «стрелка вверх», «стрелка вниз», PgUp, PgDown. Для завершения просмотра файла необходимо нажать клавишу «q». Более подробную информацию о возможностях программы less можно найти в электронном справочнике man.

26

4.3.5. Создание файлов

Файлы обычно создаются при помощи прикладных программ. Командная оболочка BASH позволяет создать пустой файл при помощи встроенной команды touch. Например, создать файл file1 в текущем каталоге можно так:

[student@wp1 student]$ls<Enter> Desktop Mail lab1.c lab2.txt nsmail

[student@wp1 student]$touch file1<Enter> [student@wp1 student]$ls<Enter>

Desktop Mail file1 lab1.c lab2.txt nsmail [student@wp1 student]$_

Если файл с таким именем уже существует, то команда touch не будет выполнять никаких действий.

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

Для создания каталогов используется команда mkdir, которой в качестве аргумента указывается имя требуемого каталога. Если имя указано без пути, то каталог будет создан в текущем каталоге. В противном случае каталог будет создан в указанном месте.

В процессе создания каталога система автоматически создаёт в нём две записи, описывающие каталоги с именами «.» и «..». Такие записи содержатся во всех каталогах, и пользователи не вправе их удалить. Каталог, который содержит только «.» и «..», считается пустым.

[student@wp1 student]$ls<Enter> Desktop Mail lab1.c lab2.txt nsmail [student@wp1 student]$mkdir dir<Enter> [student@wp1 student]$ls<Enter>

Desktop Dir Mail file1 lab1.c lab2.txt nsmail [student@wp1 student]$cd dir<Enter>

[student@wp1 dir]$ls -A<Enter>

. ..

[student@wp1 dir]$_

4.3.7. Удаление файлов

Команда rm с указанным именем файла позволяет удалить его. При использовании команды rm необходимо помнить, что удалённые файлы не подлежат восстановлению. Единственный способ вернуть информацию – обратиться к системному администратору и восстановить файл, воспользовавшись последней резервной копией (версия файла, хранящаяся в ней, необязательно окажется самой последней).

[student@wp1 student]$ls<Enter> Desktop Mail lab1.c lab2.txt nsmail

[student@wp1 student]$rm lab2.txt<Enter>

27

[student@wp1 student]$ls<Enter> Desktop Dir Mail lab1.c nsmail [student@wp1 student]$_

4.3.8. Удаление каталогов

Для удаления каталога прежде следует удалить всё его содержимое (включая все подкаталоги со всем их содержимым) и только после этого использовать команду rmdir: rmdir имя_каталога. Либо сразу для удаления каталога и всего его содержимого можно воспользоваться командой rm с опцией -r, например rm -r имя_каталога.

[student@wp1 student]$ls<Enter>

Desktop Dir Mail lab1.c lab2.txt nsmail [student@wp1 student]$rmdir dir<Enter> [student@wp1 student]$ls<Enter>

Desktop Mail lab1.c lab2.txt nsmail [student@wp1 student]$_

4.3.9. Копирование файлов и каталогов

Для копирования файлов и каталогов используется команда cp, которой в качестве первого аргумента указывается, что надо скопировать, а в качестве второго – куда. Например, команда cp файл1 файл2 создаст копию файла с именем файл1 и назовёт её файл2 (оба файла находятся в текущем каталоге). Если в качестве файла назначения указано имя каталога, команда ср скопирует исходный файл в этот каталог. Чтобы скопировать каталог вместе с его содержимым необходимо указать опцию -r. Например, cp -r ../cat1/ ../../cat2.

[student@wp1 student]$ls<Enter>

Desktop Mail file1 lab1.c lab2.txt nsmail student@wp1 student]$cp file1 file2<Enter> [student@wp1 student]$ls<Enter>

Desktop Mail file1 file2 lab1.c lab2.txt nsmail [student@wp1 student]$_

4.3.10. Переименование (перемещение) файлов и каталогов

Для переименования файлов и каталогов используется команда mv, которой в качестве первого аргумента указывается, что переименовать, а второго – во что. Если в качестве второго аргумента указан файл, находящийся в другом каталоге (или просто другой каталог), то указанный в первом аргументе файл будет перемещён в указанное место с указанным файлом (с тем же именем).

[student@wp1 student]$ls<Enter>

Desktop Mail file1 lab1.c lab2.txt nsmail [student@wp1 student]$mv file1 file2<Enter> [student@wp1 student]$ls<Enter>

28

Desktop Mail file2 lab1.c lab2.txt nsmail [student@wp1 student]$_

4.3.11. Создание ссылок на файлы и каталоги

Создать ссылку можно с использованием команды ln с указанием файла (каталога), на который нужно сделать ссылку, и название самой ссылки. Чтобы создать символьную ссылку, надо указать опцию -s. Следует помнить, что жёсткие ссылки на каталоги может создавать только администратор системы. Например:

[student@wp1 student]$ls<Enter>

Desktop Mail file1 lab1.c lab2.txt nsmail [student@wp1 student]$ln file1 file2<Enter> [student@wp1 student]$ls<Enter>

Desktop Mail file1 file2 lab1.c lab2.txt nsmail [student@wp1 student]$ln –s file1 file3<Enter> [student@wp1 student]$ls –l file3<Enter>

file3 –> file1 [student@wp1 student]$_

4.3.12. Определение прав доступа к файлам и каталогам

Определить права доступа к файлу или каталогу можно, используя команду ls с ключом -l. Например:

[student@wp1 student]$ls –l file3<Enter> -rw-rw-r-- 1 student student 0 Янв 9 22:21 file3 [student@wp1 student]$_

В первом столбце в символьной форме указаны права на файл. Первый символ определяет тип файла (в данном случае «-» означает обычный файл).

Далее указаны права на файл в виде триад из символов, где r – право на чтение, w – право на запись, x – право на исполнение. Структура каждой триады одинакова. Сначала идёт право на чтение, затем – на запись, после чего – на исполнение. Если вместо символа указан знак «-», то это означает отсутствие соответствующего права. Триады расположены в порядке: пользователь, группа, остальные.

4.3.13. Изменение прав доступа к файлам и каталогам

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

Права могут указываться двумя способами: символьным и восьмеричным.

29

В символьных выражениях, как и следует из их названия, для указания прав доступа используются символы r, w, x. Выражение такого типа имеет следующую структуру: (категория пользователя) (действие) (права).

Категория пользователя может принимать следующие значения: u – владелец файла, g – группа, o – прочие, a – все.

Действие: «+» – добавление прав к существующим правам доступа (если они уже существуют, то ничего не изменится), «-» – отмена указанных прав (если их нет, то ничего не изменится), «=» – явное указание прав доступа (т.е. будут установлены именно такие права доступа). Например, чтобы изменить права доступа на файл таким образом, чтобы владелец мог читать файл, группа записывать в файл, остальные – исполнять файл, нужно указать команду chmod со следующими аргументами: chmod u+r,g+w,o+x file.

При использовании восьмеричных выражений права указываются явным образом в виде четырёхзначного числа, представляющего права для всех категорий пользователей: владельца (старшая цифра), группы (средняя цифра), прочих (младшая цифра) и специальные права файла. В каждой цифре (кроме первой) право на чтение представляется числом 4 (22), на запись – 2 (21), на выполнение – 1 (20). Результирующее право формируется как сумма этих цифр. Таким образом, значение, определяющее права доступа конкретной категории пользователей, лежит в диапазоне от 0 до 7. Например, если требуется, чтобы пользователь имел права на чтение и выполнение, а остальные не имели никаких прав, необходимо выполнить команду: chmod 0500 file. Первая цифра в восьмеричной записи указывает специальные права файла: установить эффективного пользователя (4), установить эффективную группу (2) и задать флаг «прикреплённости» файла (1). Подробнее об этих правах будет рассказано в п. 5.3.

4.3.14. Изменение владельцев и групп

Права доступа к файлу или каталогу указываются для владельца файла, для группы, к которой относится владелец файла, и для всех остальных. Для того чтобы изменить владельца файла или его группу, используются команды chown и chgrp, которым в качестве параметров указывают требуемого пользователя (команда chown) или группу (chgrp) и требуемый файл или каталог.

Например, chown student /home/student объявляет пользователя student

владельцем указанного каталога. Администратор системы (пользователь с именем root) может изменять владельца любого файла. Обычный пользователь может сменить только группу файла или каталога, которым он владеет, и только на ту группу, членом которой он является.

Если команда chown вызывается с опцией -R, она выполняется рекурсивно, т.е. для всех файлов и подкаталогов указанного каталога.

30

Источник: https://studfile.net/preview/16708918/