Работа с файлами и каталогами.

     Файловая система – одна из важнейших частей в Unix, во многом определяет ее структуру. Она имеет многоуровневую иерархическую систему и предназначается для разделения внешней памяти на файлы. С файловой системой связаны вопросы ввода-вывода и информационной связи между процессами.

     Отличительной способностью Unix является, то что понятие файла максимально унифицирована. Любые источники и потребители информации можно назвать файлом.

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

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

     Обычные файлы содержат информацию определяемую пользователем или которая формируется в результате работы системных и прикладных программ. Никаких ограничений на информацию хранимую в обычных файлах не накладывается. Бывают текстовые и двоичные. В текстовом –может быть только информация о символах кода ASCII , а во втором возможные комбинации битов.

     Специальные файлы предназначены для организации взаимодействия с устройством ввода-вывода, бывают байт–ориентированными и блок-ориентированными. Этот файл связан с внешним устройством. Программист с ввода–вывода ориентируется только на работу со специальным файлом.

     С каждым файлом в системе связан индексный дескриптор, некоторая управляющая структура данных, в которой определяются характеристики файла и его место расположения на диске. Индексный дескриптор делает файловую систему называемой.

     А теперь остановимся на работе с файлами и каталогами.

     Не существует ни каких секретов для создания файла. Программы типа текстовый редактор, или система управления базами данных сами будут создавать файлы для вашей работы. В большинстве программных продуктах сохраняются файлы по одному типу, надо задать ему имя. Утилиты Unix тоже создают файлы, но не сохраняют их. Существует редактор vi, который вам сообщает, что вы пытаетесь сохранить файл без имени. Don’t know a name for this file (неизвестное имя файла). Редактор vi, также использует для редактирования и сохранения файла.

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

     Иногда на диске не хватает места, поэтому ненужные файлы надо удалять. Для этого используют команду rm. Например, rm mal, файл mal удален. Чтобы удалить - надо запомнить три момента:

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

     Внимание! В отличие от MS-Dos, где файлы можно восстанавливать командой un delete, файлы удаленные в Unix восстановить нельзя.

  • Нельзя заглядывать во все каталоги в Unix и удалять все файлы. Пользователь имеет право только на удаление своих файлов и каталогов.

     В Unix, как и в DOSе используются шаблоны.

     ? - означает замену одного символа.

     * - используют для любого числа символов.

     С помощью шаблонов можно копировать файлы. Чтобы скопировать с текущего каталога файлы в каталог home/doc/book1, cp */hone/doc/book1. Если вы захотите скопировать только часть файлов, то * использовать нельзя. Просто файлы придется перечислять. Копирование файлов, как вы наверное заметили похоже на копирование MS-DOS. Только в DOSе команда копирования copy, а в Unix cp.

     Теперь поговорим немного о каталогах. Каталоги, как и файлы можно удалять и создавать. Команду mrdir используют для создания.

Дерево каталогов.

/ rait

Hone

Spike

Work

Errors

 

     Большинство систем Unix имеет стандартную структуру каталогов, что облегчает конкретную установку системы. Структура представляет из себя дерево каталогов, начинающееся с каталога (/), известного под названием “корневой каталог”. Home - подкорневой каталог, из него может выходить больше одного каталога. Эти каталоги в свою очередь содержат другие каталоги, которые содержат системные конфигурационные файлы, программы и так далее.

Копирование на диске DOS.

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

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

Копирование файлов из DOS в Unix.

Так как файловая система DOS и Unix похоже, то используя команду doscp можно копировать из DOS в Unix, только необходимо имя дисковода и имя файла поместить через место назначения в Unix. Например: копирующий файл chap1. doc с дискеты DOS в дисковод А: в каталог Unix /home/spike: doscp a: chap1.doc/home/spike.