Принципы работы с файлами и папками в ОС Unix


Команды

Сначала мы покажем, как работают команды операционной системы UNIX, а затем приведем перечень наиболее важных команд.

Формат команды

Большинство команд UNIX имеют следующий формат:

% команда ключи параметры

Сначала идет имя команды, затем - ключи и параметры. Параметрами, как правило, являются имена файлов. Все ключи начинаются с дефиса. Например, приведенная ниже команда означает: "Выполнить команду Is с ключом -l для файла а.out":

% ls -l а.out

Это 90 процентов того, что Вам нужно знать. Имена команд почти всегда приводятся строчными буквами; ключи обычно состоят из одной буквы (строчной или прописной). В отличие от многих других операционных систем, UNIX учитывает разницу между прописными и строчными буквами.

Если Вы используете два и более однобуквенных ключа, большинство команд позволяют объединять их. Например, две приведенные ниже команды идентичны:

% ls -lg a.out% 1s -l -g a.out

Некоторые ключи требуют наличия параметра. В этом случае параметр дается после ключа, в этом случае последний нельзя объединять с другим ключом. Такие команды в нашем учебнике не описываются.

Есть несколько команд, которые не соответствуют этим правилам, и одна из них очень важная: это команда tar. (Другие Вам никогда не понадобятся.) В перечне команд я даю три "рецепта" использования tar. Следуйте указаниям, и все будет в порядке.

Основные команды

Ниже приведен обещанный перечень основных команд операционной системы UNIX. Прописными буквами даны DOS-эквиваленты. Некоторые команды более подробно будут описаны ниже.

Logout

Завершить сеанс работы с UNIX.

ls

Дать перечень файлов, находящихся в текущем каталоге. Эквивалент команды DIR, имеющейся во многих операционных системах. Команда ls -l дает более подробную информацию, включая размер файлов, их принадлежность и дату создания. У 1s есть очень много ключей, но -l - единственный, который Вы будете использовать довольно часто.

rm файлы

DELETE. Стереть (удалить) один или несколько файлов. Например, команда rm file1 file2 file3 удаляет три файла: filel, file2, file3. Команда rm -i перед удалением каждого файла просит Вас подтвердить свое намерение.

mvcтapoe-имя новое-имя

RENAME. Переименовать (переместить) файл из cтapoe-имя в новое-имя. Многие жалуются, что эту команду трудно запомнить из-за несоответствия сокращенного имени смыслу (mv - rename). Правильное замечание. Пользователи UNIX, однако, предпочитают считать, что файлы "перемещаются" (move), а не переименовываются (rename). Если рассматривать эту операцию как перемещение, то работа в UNIX будет более осмысленной.

cp файл1 файл2

СОРУ. Копировать файл1 в новый файл с именем файл2.

more файл

Вывести текстовый файл на экран в постраничном режиме. Для вывода следующей страницы нужно нажать клавишу пробел. Многие используют для этого команду cat и жалуются, что ее имя вводит в заблуждение. Это, однако, их вина. Команда cat не предназначалась для вывода файлов на экран; она срабатывает чисто случайно (и то не очень хорошо). Команда more - гораздо лучшее средство; не утруждайте себя возней с cat. Кроме того, more не совсем "интуитивна"; полезно запомнить фразу "show me more of this file" ("покажи мне этот файл дальше").

grep образец файл

Показать все строки в файле, отвечающие, образцу. Поиск осуществляется с учетом регистра. Команда grep используется для поиска конкретных текстовых строк в файлах. Например, если phones - перечень номеров телефонов и имен, то команда
% grep "John Johnson" phones
находит в этом списке номер телефона Джона Джонсона. Обратите внимание: мы взяли образец поиска в кавычки. Кавычки никогда не повредят, но когда Вы ищете строку с пробелом или звездочкой, кавычки необходимы.

grep -i образец файл

Аналогична предыдущей команде, но регистр не учитывается: прописные и строчные буквы воспринимаются одинаково.

Pwd

Показать текущий каталог.

cd каталог

Изменить текущий каталог.

mkdir каталог

Создать новый каталог без файлов с именем каталог.

rmdir каталог

Стереть (удалить) каталог с именем каталог. Этот каталог должен быть пуст, т.е. в нем не должно быть файлов.

man команда

Вывести на экран справку ОС UNIX по команде команда.

uuencode окончательное-имя <файл>выходной-файл

Создать текстовую версию двоичного файла, годную для пересылки электронной почтой. Окончательное-имя - это имя, которое файл получает после распаковки; файл - имя кодируемого файла; выходной-файл - закодированный файл, который подлежит отправке по электронной почте. Символы > и < обозначают стандартный ввод и стандартный вывод (см, ниже).

uudecode закодированный-файл

Команда, обратная команде uuencode.

compress файл

Сжать файл так, чтобы он занимал меньше места в памяти. В результате получается двоичный файл с тем же именем, что и исходный, и суффиксом .Z. Исходный файл удаляется. Сжатый файл нельзя пересылать по электронной почте, т.к. он двоичный, но его можно преобразовать в текстовый командой uuencode. Подобную операцию в UNIX выполняет gzip.

uncompress файл

Получить исходный файл из сжатого файла. Подобную операцию в UNIX выполняет gunzip.

Tar

Эта команда предназначалась для создания архивов магнитных лент (tape archive), но используется и для создания архивов файлов (объединений, включающих несколько файлов). Подобные архивы встречаются в Internet. Структура этой команды довольно необычна. Поэтому вместо ее описания ниже приведены три примера команды tar, которых Вам будет достаточно для работы. В этих примерах файл.tar - архив, созданный командой tar. В первых двух командах мы будем работать с архивом, полученным извне. В последнем случае мы сами создадим архив.
% tar сf file.tar list
% tar tf file.tar
% tar xf file.tar