русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ФАЙЛОВАЯ СИСТЕМА


Дата добавления: 2015-07-04; просмотров: 536; Нарушение авторских прав


 

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

 

/

|

-----------------------------------------------------------

| | | | | | | | | |

bin boot dev etc lib mnt sys . . . tmp unix usr

 

Kорневой каталог имеет имя "/". Он обычно содержит каталоги:

 

bin для наиболее используемых команд;

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

dev для специальных файлов, представляющих устройства (дисплеи, диски...);

etc для хранения команд администратора системы;

lib важнейшие библиотеки;

mnt для подключения (примонтирования) новых файловых систем;

sys средства для изменения конфигурации системы;

tmp для хранения временных файлов;

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

 

А также обычные (выполняемые) файлы:

 

unix ядро;

boot загрузчик.

 

Полные имена файлов будут: /bin, /usr, ..., /unix, /boot.

 

В свою очередь эти каталоги могут содержать каталоги следующего уровня. Например, каталог "usr", кроме прочего, содержит каталоги:

 

bin хранит дополнительные команды;

games игры;

include хранит фрагменты системных программ;

lib хранит дополнительные библиотеки.

 

полные имена этих файлов будут:

 

/usr/bin /usr/games /usr/include /usr/lib

 

Если в каталоге "/usr/include" содержится каталог "sys", который в свою очередь, содержит каталог "conf", то полное имя файла "conf" будет



 

/usr/include/sys/conf

 

Формальным признаком полного имени является то, что оно начинается со слэша ("/").

 

Относительное имя начинается не с "/", и определят имя относительно своего местоположения. Если (пользователь?) в данный момент находится в директории /usr файловой системы, то он может обратиться к этому же файлу по относительному имени

 

include/sys/conf

 

Есть два специальных имени:

 

. это "имя" текущего директория и

.. это "имя" родительского директория (т.е. директория,

 

находящегося на ступеньку выше данного на пути к корню).

 

 

В качестве имени файла как правило может использоваться любая последовательность из букв, цифр и подчеркиваний. Могут использоваться и другие символы, однако ряд этих символов при использовании в имени требует специального экранирования. (Лучше не пользоваться специальными символами в именах - иногда это может привести к сложностям в обращении к таким именам, поскольку спецсимволы могут иметь в shell некоторый специальный смысл).

 

В ряде систем длина имени ограничивается 14-ю символами (этого ограничения желательно придерживаться для переносимости файлов), однако в других системах допускаются более длинные имена - например, до 256 символов.

 

В общем случае не являются обязательными и какие-то расширения в именах. Хотя ряд команд требуют наличия некоторых фиксированных расширений в именах, например расширение ".с" для исходных файлов для Си-компилятора.

 

КСТАТИ. В ОС UNIX большие и маленькие буквы воспринимаются как различные, поэтому "FILE", "file" и "File" - это три различных имени!

 

ВАЖНОЕ ЗАМЕЧАНИЕ. Отдельные части файловой системы могут находиться на различных физических устройствах, например, на нескольких жестких и гибких дисках (или в различных частях одного диска). Соответствующие фрагменты (поддеревья файловой системы) монтируются (присоединяются) в единую файловую систему командой mount (обычно это функция администратора системы), после чего пользователь может обращаться к любым доступным файлам, при этом в имени никак не отражается устройство, на котором файл находится или создается (т.е. никаких "A:").

 

 

Командный язык ОС Unix - shell оперирует с командами. Более подробно о нем разговор далее, а пока рассмотрим несколько команд работы с файловой системой.

 

Например, в результате выполнения команды

 

ls -l /usr

 

где ls - имя команды; -l - флаг, говорящий о том, что выдача должна быть в длинном формате; /usr -имя каталога, который надо echo. На экран будет выведено

 

drwxrwxr-x 2 root 2048 nov 3 12:11 bin

-rwxr--r-- 1 root 861 may 11 20:11 boot

drwxrwxr-x 2 root 1024 jan 9 11:55 dev

drwxrwxr-x 1 root 4096 may 11 20:11 dos

drw-r--r-- 3 root 4096 nov 17 12:01 include

drwxr-xr-x 7 root 480 nov 17 12:30 lib

 

Первая строка означает, что это каталог (d-directory), где первая триада "rwx" разрешает владельцу каталога: r - читать, w - писать и х - выполнять (более точно, для файлов типа каталог w означает разрешение создавать файлы в каталоге и удалять их из него, а х разрешает доступ к файлам каталога); членам группы, в которую входит владелец, также разрешены все три операции. Последняя триада отражает права доступа прочих пользователей, которым разрешено только читать и выполнять (запрещено писать в этот файл, т.е. изменять содержимое каталога).

 

Далее, 2 - это число связей файла (т.е. где-то в системе есть еще одно имя, связанное с этим файлом); root - имя владельца, 2048 - число символов в файле, nov 3 12:11 - дата и время создания или последней модификации файла (3 ноября в 12-11); bin - имя файла (каталог команд).

 

 

Во второй строке указан обычный текстовый файл (boot), который прочие пользователи могут только читать.

 

Команда "pwd" (без флагов и аргументов) сообщает местоположение пользователя в файловой системе. С ее помощью выводится полное имя текущего каталога.

 

При входе в систему пользователь оказывается в определенной заранее вершине дерева. Пусть, например, это будет каталог "/usr".

 

Изменить местонахождение можно командой "cd <каталог>". Так можно перейти в каталог /usr/include/sys, набрав команду

 

cd /usr/include/sys

 

здесь указано полное имя , или

 

cd include/sys

 

здесь указано относительное имя.

 

Отличительный признак относительного имени - отсутствие символа "/" в начале.

 

Команда "cd .." осуществит переход вверх на предыдущий уровень. Из "/usr/include/sys" произойдет переход в "/usr/include", а команда "cd" (т.е. без параметров) осуществит переход в начальный директорий пользователя (т.е. директорий, в котором пользователь оказывается при входе в систему).

 

Создать новые каталоги можно с помощью команды

 

mkdir <имена создаваемых каталогов>

 

Так команда "mkdir err new" создаст в данном каталоге два новых каталога с относительными именами "err" и "new".

 

Удалить пустой (не содержащий файлов) каталог можно с помощью команды

 

rmdir <имена удаляемых каталогов>

 

Удалить обычный файл можно командой

 

rm <имена удаляемых файлов>

 

Наиболее естественный для пользователя способ создания файлов - это использование текстового редактора "ed" или экранного редактора "red" (а также стандартных "vi" и "ех", или многочисленных прочих "фирменных").

 

В ОС Unix около 200 базовых команд - инструментальных средств, позволяющих пользователю решать многие свои проблемы, не прибегая к программированию на языках типа Си или использованию специальных пакетов.

 

Командой

 

rm файл-1

 

можно удалить "файл-1".

 

Командой

 

rmdir файл-1

 

можно удалить "файл-1", если это директорий, причем пустой (т.е. не содержит файлов).

 

Командой

 

mv старое-имя новое-имя

 

можно переназвать файл.

 

Командой

 

cp старое-имя новое-имя

 

можно скопировать файл (сохранив также старый).

 

Очень важна команда

 

chmod 755 расчет

 

которая превращает файл "расчет", подготовленный в редакторе, в командный, иначе "расчет" при попытке вызова не будет выполнятся. Набор цифр здесь соответствует триадам двоичных представлений восьмеричных чисел и триадам прав доступа к файлам (rwx - чтение, запись, выполнение). То есть определяет, что создатель расчета может не только выполнить или распечатать текст этого расчета, но и вносить в него изменения (7:111 - rwx). А члены группы и прочие пользователи могу только читать и выполнять, но не могут изменять этот расчет (55:101101 - r-xr-x).

 



<== предыдущая лекция | следующая лекция ==>
ВВЕДЕНИЕ | ПРОСТЕЙШИЕ СРЕДСТВА SHELL


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.061 сек.