Вперед: 2.6.2. Команды управления процессами
Назад: 2.5. Выполнение команд в ОС UNIX
К содержанию: Оглавление


2.6. Наиболее употребительные команды пользователя

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

2.6.1. Команды для работы с каталогами и файлами

Допустимые имена файлов

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

UNIX не запрещает использовать эти символы в именах файлов, но необходимо экранировать их специальное назначение символом \ или заключать их в одинарные кавычки '*'. Не требуется обязательное использование тех или иных расширений, однако некоторые программы ориентированы на работу с файлами с определенным расширением, поэтому не рекомендуется использовать их произвольным образом.

Cоглашения о расширениях:

Некоторые команды допускает использование в качестве аргумента списков имен файлов. Эти списки удобно формировать с помощью шаблонов:

Имена, начинающиеся с точки (.) присваиваются служебным и конфигурационным файлам и каталогам.

Команды для работы с деревом каталогов

pwd - напечатать полное имя текущего каталога.

cd [ dirname ] - перейти в указанный каталог.

Здесь dirname имя каталога, которое может состоять из собственно имени и пути к нему. Путь может быть абсолютным, если он начинается с символа /, и относительным, если начинается с любого другого символа.

Примеры перемещения по дереву каталогов:

Cпециальные имена каталогов:

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

На рисунке ниже приведен результат выполнения команды ls -al. Выводится полный список файлов и расширенная информация о каждом файле.

ls -al

Рис. 2.2 Результат выполнения команды ls -al

Первый символ в строке обозначает тип файла. Если строка начинается с символа:

Далее следуют права доступа к файлу, их рассмотрим подробнее. Для файлов в UNIX устанавливается три группы прав:

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

ls -al

Рис. 2.3 Права собственности на файл

Изменить права собственности можно командой:
chmod [опции] права имена. Здесь

Права для файла можно задавать в виде символьной строки или цифрового кода. При задании прав виде строки, права для владельца обозначаются - u(user), группы - g(group), остальные - o(other), или если изменяются права для всех то - a(all). Для разрешения используется знак "+", для, запрещения "-".

Примеры

Для того, чтобы установить право всем членам группы и всем другим пользователям изменять файл script1 следует ввести команду:
chmod g,o+w script1

Команда
сhmod a+x script1
позволит всем пользователям зарегистрированным в системе запускать файл script1 на исполнение.

Помимо знаков "+" и "-" может использоваться знак "=". Отличие заключается в том, что использование "+" или "-" позволяет регулировать отдельные права, например, только чтение или запись. При использовании "=" необходимо задавать полный набор прав, т. е. сразу указывать права для чтения, записи и исполнение. Команда:
сhmod g=rwx script1
разрешит пользователям входящим в вашу группу читать, изменять и исполнять файл script1.

Для того чтобы указать права доступа в цифровом коде, надо задать три восьмеричных числа, которые будут регулировать права для каждого типа пользователя (владелец, группа, остальные). Каждое из прав соответствуют определенным цифрам r (чтение) - 4, w(запись, изменение) - 2, x(исполнение) - 1. В команде chmod нужно указать сумму, которую образуют права для заданной группы.

Чтобы установить права rwxr-xr-- для файла scrip1 следует набрать команду:
chmod 754 scritpt1

Другими словами, для установки какого-то права нужно задать 1 в соответствующей позиции восьмеричной триады.

Команды для работы с каталогами

mkdir [опции] имя_директории ... - создает новые каталоги.

rmdir имя_директории ... - удаляет каталоги.
Каталоги должны быть пустыми.

Команды для работы с файлами

touch [опции ] имя_файла - создает файл, если он не существовал или модифицирует время последнего изменения файла.

rm [опции] имя_файла ... - удаляет файлы.

Примеры:

Для задания списка файлов можно использовать шаблоны, но пользоваться этим следует крайне осторожно. Команда
rm test* - удалит все файлы с именами, начинающимися на test;
rm test * - удалит вообще все файла в каталоге

mv [опции] источник назначение - выполняет перемещение файлов и директорий.

Команда mv выполняет множество функций в зависимости типа аргументов.

Во всех операциях, объекты выступающие в качестве аргумента <источник> исчезают.

cp [опции] источник назначение - выполняет копирование файлов и директорий.

Примеры:

cat [опции] [файл][файл]... - объединяет перечисленные файлы и выдает их на стандартный поток вывода. Если аргумент файл отсутствует, то команды cat будет принимать входной поток из стандартного файла ввода (клавиатуры). Поскольку команда работает со стандартным файлом вывода (терминалом), то чаще всего она используется для просмотра на экране содержимого файла. Не рекомендуется выдавать бинарные файлы.

Примеры:

Команду cat можно использовать для создания файла:
cat > ls.txt - все набранное на клавиатуре будет записано в файл ls.txt. Оборвать ввод можно сочетанием клавиш Ctrl-D.

Команда cat выдает все содержимое на экран одной выдачей. Если файл большой, то на экране можно будет увидеть только последние строки. Для выдачи порциями следует использовать конвейер:
cat file1| more .

Для просмотра текстовых файлов порциями можно напрямую использовать команды:
more file.txt
less file.txt
.

Команда less содержит большой набор внутренних команд для перемещения по файлу, поиска контекста и даже редактирования:

tail [опции] файл - производит выдачу последних строк файла. По умолчанию 10 последних строк. С помощью опций можно начать просмотр с любой позиции.

grep [опции] строка [файл][файл]... - выполняет поиск контекста "строка" в указанных файлах.

Команду удобно использовать в комбинации с другими информационными командами в виде конвейера для выделения существенной информации. Например:
cat /var/log/messages | grep refused - для поиска отвергнутых попыток подключения к серверу.

find [опции] каталог выражение - производит рекурсивный поиск файлов в указанном каталоге в соответствии с атрибутам указанными в выражении, такими как имя, размер, время модификации, права доступа.
Выражения:

Пример:
find . -name "core.*" -exec rm {} \; - рекурсивно удалить все core файлы, начиная с текущего католога.

Следует отметить, что многие действия, из перечисленных выше и связанных с манипуляциями с каталогами и файлами можно выполнять с помощью специальной программы - файлового менеджера Midnight Commander. Он не требует графической оболочки, поскольку вызывается в терминальном окне командой
mc

С помощью этой программы можно перемещаться по дереву каталогов, просматривать содержимое каталогов и файлов, создавать каталоги (но не файлы), удалять, копировать, перемещать каталоги и файлы, вести поиск файлов, редактировать файлы. Для тех пользователей, которые не хотят осваивать и использовать редактор vi - эта программа является очень хорошим подспорьем.

Для эффективного использования дискового пространства и для уменьшения объемов пересылаемых данных рекомендуется использовать команды архивирования и сжатия. Для архивирования удобнее всего использовать команду tar, а для сжатия файла коман gzip или bzip. Последние версии команды tar позволяют совместить выполнение архивации и сжатия.

tar [опции] [файл] [файл]...

Пример:
tar cvzf dir1.tar.gz dir1 - в результате выполнения команды будет создан архивный файл dir1.tar.gz, в который будет помещено все содержимое каталога dir1, включая сам каталог. Архивный файл будет сжат командой gzip. После этого каталог dir1 может быть удален.

Для распаковки архива следует использовать команду:
tar xvzf dir1.tar.gz, которая восстановит каталог dir1, при этом архивный файл не уничтожается автоматически. Напрямую работать с архивом как с директорией позволяет файловый менеджер Midnigth Commander (mc).



Вперед: 2.6.2. Команды управления процессами
Назад: 2.5. Выполнение команд в ОС UNIX
К содержанию: Оглавление