Наиболее употребительные команды пользователя
В системе UNIX более тысячи команд, однако в повседневной работе пользователю достаточно знать несколько десятков команд. В этом пособии мы рассмотрим кратко небольшой набор наиболее употребительных команд. В первую очередь потребуются команды для работы с каталогами и файлами. Как и ранее, в квадратных скобках будем указывать необязательные параметры.
Команды для работы с каталогами и файлами
Допустимые имена файлов
В именах файлов и каталогов можно использовать любые печатные символы, однако не рекомендуется использовать символы, имеющих специальное назначение:
- slash (/) - разделитель имен каталогов в полном имени файла;
- backslash (\)- символ экранирования специального значения символов;
- ampersand (&)- символ исполнения команды в фоновом режиме;
- angle brackets (< and >) – символы перенаправления ввода-вывода;
- question mark (?)- означает любой символ в шаблоне;
- dollar sign ($) - означает подстановку значения переменной;
- left right bracket ([])- определяют диапазон символов;
- asterisk (*) - строка произвольной длины из любых символов;
- vertical bar (|)- оператор конвейера;
- space ( ) - разделитель в командной строке.
UNIX не запрещает использовать эти символы в именах файлов, но необходимо экранировать их специальное назначение символом \ или заключать их в одинарные кавычки '*'. Не требуется обязательное использование тех или иных расширений, однако некоторые программы ориентированы на работу с файлами с определенным расширением, поэтому не рекомендуется использовать их произвольным образом.
Cоглашения о расширениях:
- .c – файл с программой на C;
- .h – include файл;
- .f – файл с программой на Фортране;
- .o – объектный файл;
- .a – статическаЯ библиотека;
- .so – динамическаЯ библиотека;
- .html – HTML документ;
- .tar – архивный файл;
- .gz – сжатый файл.
Некоторые команды допускает использование в качестве аргумента списков имен файлов. Эти списки удобно формировать с помощью шаблонов:
- *- соответствует любой строке символов;
- ?- соответствует любому символу;
- [с1-с2]- любая литера из диапазона символов с1-с2;
- [!с1-с2] - любой символ, кроме заданного диапазона.
Имена, начинающиеся с точки (.) присваиваются служебным и конфигурационным файлам и каталогам.
Команды для работы с деревом каталогов
pwd - напечатать полное имя текущего каталога.
cd [ dirname ] - перейти в указанный каталог.
Здесь dirname имя каталога, которое может состоять из собственно имени и пути к нему. Путь может быть абсолютным, если он начинается с символа /, и относительным, если начинается с любого другого символа.
Примеры перемещения по дереву каталогов:
- сd /export/home/oleg – переход в домашний каталог пользователя oleg;
- cd / - переход в корневой каталог файловой системы;
- cd prog/cc- переход из текущего каталога в каталог cc, находящийся в каталоге prog;
- cd ../gosha/bin- возврат на шаг назад и переход в каталог bin пользователя gosha;
- cd ~/bin- переход в свой каталог bin;
- cd- переход в свой домашний каталог.
Cпециальные имена каталогов:
- . (точка) – текущий каталог;
- .. (две точки) – родительский каталог по отношению к текущему;
- ~ (тильда) - домашний каталог;
- - (тире) - возврат в предыдущий каталог.
ls [опции] [имена] – выводит содержимое каталога или атрибутов файлов. [имена] – это имена директорий или файлов. Если имена не указаны, то выводится содержание текущей директории. Наиболее часто используются опции:
- -a - вывести все файлы, в том числе и с именами, начинающимися с точки;
- -l - вывести подробную информацию о файлах и каталогах с их атрибутами;
- -t - имена файлов сортируются не по алфавиту, а по времени последней модификации;
- -R - рекурсивно пройти по всем вложенным каталогам, выводя по ним информацию.
На рисунке ниже приведен результат выполнения команды ls –al. Выводится полный список файлов и расширенная информация о каждом файле.
Результат выполнения команды ls –al
Первый символ в строке обозначает тип файла. Если строка начинается с символа:
- “– “, то это обычный (регулярный) файл;
- “d” – обозначаются объекты, являющиеся каталогами (в UNIX директории или каталоги являются специальными файлами);
- “с” – специальный файл, связанный с устройством вывода виде потока байт ( raw device);
- “b” - специальный файл, связанный с устройством вывода блоками данных;
- “l” – означает что файл является ссылкой на другой файл.
Далее следуют права доступа к файлу, их рассмотрим подробнее. Для файлов в UNIX устанавливается три группы прав:
- права собственника файла;
- права членов группы, в которую входит собственник;
- права для всех остальных пользователей системы.
Для каждой из этих групп назначаются права на чтение “r”, на запись “w”, на запуск “x”. Для директории символ “x”, означает, что данная группа пользователей обладает правом входа в каталог с помощью команды cd. Если какие-то права запрещены, то вместо соответствующей буквы ставится знак “–“. На рисунке ниже расписано назначение полей прав собственности на файл.
Права собственности на файл
Изменить права собственности можно командой:
chmod [опции] права имена. Здесь
- права – строковое или цифровое представления прав собственности;
- имена – имена файлов или директорий, для которых, необходимо изменить права собственности;
- опции – имееют два значения:
-f - не прерывать выполнение команды при ошибке
-R - выполнять команду рекурсивно.
Права для файла можно задавать в виде символьной строки или цифрового кода. При задании прав виде строки, права для владельца обозначаются - 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 [опции] имя_директории ... - создает новые каталоги.
- опции:
- -m mode – задать права доступа;
- -p - создавать при необходимости родительские каталоги.
rmdir имя_директории ... - удаляет каталоги.
Каталоги должны быть пустыми.