Чтобы эффективно использовать файловую систему UNIX, вы должны ознакомиться с ее структурой, знать о ваших взаимоотношениях с этой структурой.
Первые два подраздела представляют собой перспективы файловой системы. Остальные подразделы знакомят с командами системы UNIX, которые позволят вам строить собственную структуру справочника, осуществлять доступ и манипулировать подсправочниками и файлами, содержащимися в них, проверять содержимое других справочников, к которым вы имеете право доступа.
Каждая команда описывается в отдельном подразделе. Многие из команд, представленных в этом подразделе, имеют дополнительные свойства, которые доступны опытным пользователям. Все описанные здесь команды позволяют использовать систему эффективно и легко.
3.1. Структура файловой системы
Файловая система построена из обыкновенных файлов, символических связей и справочников. Эти компоненты обеспечивают способ организации, поиска и управления информацией. Прежде чем подробно описывать компоненты, дадим короткий обзор.
Обыкновенные файлы - это набор символов, хранящихся на диске. Они могут хранить тексты или программы или коды программ.
Специальные файлы соответствуют физическим устройствам (например, терминал или диск).
Символическая связь - это файл, который указывает на другой файл.
Справочник содержит имена других справочников (называемых подсправочниками) или файлов. Файлы вы можете группировать в справочники по своему выбору.
Все справочники и файлы организованы в три отдельные структуры. В этой иерархии файлы и справочники, которые имеют подчинение, называются взаимоотношением.
Этот тип отношений возможен для многих уровней иерархии файлов и справочников. Фактически не существует ограничений на число файлов и справочников, которые вы можете создать в вашем собственном справочнике. Также не существует ограничений на число уровней иерархии справочников.
Всякий раз, когда вы взаимодействуете с системой UNIX, то вы находитесь в определенном месте структуры файловой системы. Система UNIX автоматически помещает вас в определенную точку в файловой системе каждый раз, когда вы регистрируетесь. Из этой точки вы можете передвинуться по иерархии, чтобы работать в любом вашем справочнике над любым файлом, к которому вы имеете доступ.
3.2. Ваш собственный справочник
После того как вы успешно завершили процедуру регистрации, система UNIX помещает вас в определенное место в структуре файловой системы, называемое вашим собственным справочником. Регистрационное имя, назначенное вам системой UNIX, обычно является именем этого справочника. Каждый пользователь с полномочным регистрационным именем имеет уникальный собственный справочник в файловой системе.
Система UNIX способна держать связь со всеми собственными справочниками, поддерживая один или более системных справочников для их организации. Например, собственные справочники с регистрационными именами startship, mary2 и jmrs содержатся в системном каталоге, называемом home.
Внутри вашего собственного справочника вы можете создавать файлы и подсправочники. Вы можете перемещать и удалять ваши файлы и справочники и управлять доступом к ним. Вы несете ответственность за все, что создаете в своем собственном справочнике.
3.3. Текущий справочник
Все время, что вы будете работать в вашем собственном справочнике, предполагается, что он ваш текущий рабочий справочник. Если вы перейдете в другой справочник, то он становится вашим текущим справочником.
Команда pwd печатает имя справочника, в котором вы сейчас работаете. Например, если ваше регистрационное имя startship и вы задаете команду pwd в ответ на первую после регистрации подсказку, то система UNIX ответит следующим образом:
$ pwd<CR> /home/startship $
В ответ система назовет вам имя справочника, в котором вы работаете (startship) и местоположение этого справочника в файловой системе. Имя пути /home/startship говорит, что справочник root (обозначен косой чертой в строке) содержит справочник home, который в свою очередь содержит справочник startship. Все другие косые черты в имени пути используются для разделения имен справочников и файлов, и показывают положение каждого справочника по отношению к root. Имя справочника, которое показывает местоположение справочника в этом пути, называется полным именем справочника или именем пути.
Запомните, что вы можете определить ваше местоположение в файловой системе в любой момент времени, задав команду pwd. Это особенно полезно, если вы хотите прочитать или скопировать файл, а система UNIX говорит вам что файл, к которому хотите получить доступ, не существует. Этот файл может оказаться не в том справочнике, в котором вы ищете. Итак, команда pwd печатает полное имя пути справочника, в котором вы работаете в текущий момент времени.
3.4. Имя пути
Каждый файл и справочник системы UNIX идентифицируется уникальным именем пути. Имя пути показывает местоположение файла или справочника и обеспечивает направление поиска его. Существует 2 типа имени пути: полное и родственное.
3.4.1. Полное имя пути
Полное имя пути (иногда называемое абсолютным именем пути) дает направление, которое начинается в справочнике root и показывает путь далее по уникальной последовательности справочников к конкретному справочнику или файлу. Вы можете использовать полное имя пути для поиска любого файла или справочника в системе UNIX.
Так как полное имя пути всегда начинается со справочника root, то это имя начинается с символа косая черта (/). Последнее имя в полном имени пути может быть либо именем файла либо именем справочника. Все другие имена пути должны быть справочниками.
Чтобы понять как полное имя пути строится, обратитесь к следующему примеру. Предположим, что вы работаете в справочнике startship, расположенном в /home. Вы задаете команду pwd и система печатает полное имя пути вашего рабочего справочника:
/home/startship
где
/ - это корневой справочник (root); home - системный справочник, расположенный на один уровень ниже справочника root; / - разделяет имена справочников root и startship; startship - текущий рабочий справочник.
3.4.2. Родственное имя пути
Родственное имя пути дает направления, которые начинаются в вашем текущем рабочем справочнике и ведут вас вверх или вниз через серию справочников к конкретному файлу или справочнику. Двигаясь вниз из текущего справочника, вы можете получить доступ к своему файлу или справочнику. Двигаясь вверх из текущего каталога, вы пройдете через родительские справочники к родителю всех системных справочников, т.е. к root.
Родственное имя пути начинается с имени справочника или файла.
Одна точка (.) означает текущий справочник, две точки (..) - справочник, непосредственно находящийся выше текущего справочника в иерархии файловой системы. Справочник, представленный двумя точками, называется родительским для справочника, обозначенного одной точкой (вашего текущего справочника).
Например, вы находитесь в справочнике startship, который содержит справочники draft, letters и bin и файл mbox. Родственным именем пути для каждого из них является просто его имя.
Справочник draft, принадлежащий справочнику startship, содержит файлы outline и table. Родственное имя пути от startship к файлу outline:
draft/outline
Обратите внимание, что косая черта в этом имени пути разделяет имя справочника draft и имя файла outline. Здесь наклонная черта показывает, что outline является подчиненным справочнику draft, т.е. draft является родителем outline.
Чтобы подняться к родителю вашего текущего справочника, вы можете ввести две точки (..). Это означает, что если вы находитесь в справочнике draft, то .. является именем пути к startship, и ../.. является именем пути к родительскому справочнику для startship, т.е. к home.
Из справочника draft вы также можете проследить путь к файлу sanders, указав имя пути ../letters/sanders. Две точки (..) приводит вас к starship. Затем имена letters и sanders ведут вас вниз через справочник letters к файлу sanders.
Табл. приводит примеры полного и родственного имени пути.
Имя пути
Значение
/
Полное имя пути справочника root
/usr/bin
Полное имя пути справочника bin, который принадлежит справочнику usr, и который в свою очередь принадлежит справочнику root
/home/startship/bin/tools
Полное имя пути справочника tools, принадлежащего справочнику bin, который принадлежит справочнику startship, а он в свою очередь - справочнику home, а home - справочнику root
bin/tools
Родственное имя пути к файлу или справочнику tools в справочнике bin. Если текущим справочником является root (/), то система UNIX ищет /usr/bin/tools Если текущим справочником является startship, то система ищет полный путь: /home/startship/bin/tools
tools
Родственное имя пути файла или справочника tools в текущем справочнике
3.5. Правила именования справочников и файлов
Вы можете давать справочникам или файлам любые имена в соответствии со следующими правилами:
допустимы все символы, за исключением /;
некоторые имена лучше не использовать, такие как пробел, табуляция и следующие: ? " # $ ^ ( ) ; < > [ ] | \
@ ' ~ &. Если вы воспользуетесь символами пробел или табуляция в имени файла или справочника, то вы должны заключить имя в двойные кавычки в командной строке;
избегайте использования знаков + - или . в качестве первого символа в имени файла;
система UNIX различает большие и маленькие буквы. Например, система предполагает, что справочник (или файл) названный draft отличается от DRATF.
В следующем примере приведены допустимые имена справочников или файлов: