Организация UNIX-систем и ОС Solaris

       

Действия с файлами и каталогами


Обычный (regular) файл может содержать текст или двоичные данные.

Создать текстовый файл можно в любом текстовом редакторе или перенаправив вывод какой-либо программы в файл. Часто для создания какого-нибудь тестового короткого файла так и делают. Например, после установки web-сервера можно проверить, корректно ли он откликается на внешний запрос, только если у нас уже есть файл index.html, который он должен выдать в ответ на запрос. Быстрее всего создать этот файл так:

#cat > index.html <HTML> <BODY> Hello everybody! </BODY> </HTML> ^D #

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

touch filename

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

Файлы копируют командой cp:

cp file1 file2

Переименование файла выполняет команда mv:

mv file1 file2

Командой mv файл можно переместить в другой каталог:

mv file /usr/progs/useless/

Если вы переносите или копируете файл или несколько файлов в каталог, то имя каталога правильнее указывать с завершающим слэшем в конце имени (например, /usr/progs/useless/). Это явным образом указывает на то, что имеется в виду именно каталог.

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

Файлы удаляют с помощью команды rm. В системах UNIX не предусмотрена возможность восстановления удаленных файлов (unerase), поэтому все, что стерто, пропадает навсегда. Системы UNIX в структуре файловой системы не имеют "мусорной корзины" (trash), в которую файлы попадают перед окончательным удалением. Правда, большинство графических сред обеспечивают такую "корзину", но только для тех файлов, которые были удалены программами, специально написанными с учетом этой возможности среды. Так, в Solaris в CDE есть своя корзина. В нее попадают те файлы и каталоги, которые были удалены программами, знающими об этой корзине. Как правило, о ее существовании подозревает только File Manager CDE. Возможность восстановления стертых файлов предоставляется не операционной системой, а графической оболочкой CDE, поэтому не стоит рассчитывать, что любой файл можно восстановить из корзины CDE. Например, если файл был удален командой rm из командной строки xterm (эмулятор тер минала для графической среды), то его уже не восстановить. Команда rm не знает о существовании корзины в CDE, даже если запускается в окне терминала в графическом режиме.

Вывести файл на экран можно командами cat, more, less, pg, page.

Программы cat и more есть в любой системе UNIX, другие перечисленные выше команды - это варианты команды more и присутствуют не всегда. Назначение more и ее "коллег" - поэкранный вывод длинных файлов. При выводе информации программа more останавливается, заполнив экран содержимым очередной страницы файла, и ждет команды. При нажатии "Enter" выводится следующая строка, при нажатии "пробела" - следующая страница. Можно искать подстроку в тексте, по команде

/подстрока

Клавишами <Ctrl-B>, <Ctrl-F> можно перемещаться назад и вперед на одну страницу, клавиша q служит для выхода из программы во время просмотра текста.



Содержание раздела