Общее·количество·просмотров·страницы

Java Dev Notes - разработка на Java (а также на JavaScript/Python/Flex и др), факты, события из АйТи

среда, 22 декабря 2010 г.

Файловая система Unix

Рассмотрим подробно Filesystem Hierarchy Standard - описание файловой системы Unix-подобных систем.

Файлы можно разделить на 4 категории: разделяемые/неразделяемые (shareable/unshareable) и статические/изменяемые (static/variable).

Static shareable:
/usr
/opt

Static unshareable:
/etc
/boot

Variable shareable:
/var/mail
/var/spool/news

Variable unshareable:
/var/run
/var/lock

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

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

  • bin - необходимые исполняемые файлы для команд

  • boot - статические файлы для системного загрузчика

  • dev - файлы устройств

  • etc - специфичная для данного хоста конфигурация

  • lib - необходимые системные бибилиотеки и модули ядра

  • media - точка монтирования для сменяемых носителей

  • mnt - точка монтирования для временной файловой системы

  • opt - дополнительное ПО

  • sbin - необходимые системные исполняемые файлы

  • srv - данные для сервисов, предоставляемых системой

  • tmp - временные файлы

  • usr - важный каталог =)

  • var - изменяемые данные



Дополнительно могут быть установлены следующие каталоги (или символьные ссылки):

  • home - содержит домашние каталоги пользователей

  • root - домашний каталог пользователя root



Каталог /bin



Каталог /bin содержит необходимые исполняемые файлы для команд. Каталог должен содержать следующие файлы или символьные ссылки на команды:


  • cat - конкатенация файлов

  • chgrp - меняет группу владения

  • chmod - меняет модификаторы доступа

  • chown - меняет владельца файла и группу

  • cp - копирование файлов

  • date - печать или установка системной даты и времени

  • dd - конвертация и копирование файлов

  • df - отчет по использованию диска файловой системой

  • dmesg - вывод буфера сообщений ядра с стандартный поток вывода

  • echo - печать строки текста

  • false - ничего не делает, возвращает "неуспех"

  • hostname - просмотр или установка имени хоста

  • kill - посылает сигналы процессам

  • ln - создание ссылок на файлы

  • login - вход в сессию системы

  • ls - вывод списка файлов в каталоге

  • mkdir - создание каталогов

  • mknod - создание специальных файлов

  • more - утилита для листания текста

  • mount - монтирование файловой системы

  • mv - перенос/переименование файлов

  • ps - отчет по процессам

  • pwd - печать названия текущего рабочего каталога

  • rm - удаление файлов/каталогов

  • rmdir - удаление пустых каталогов

  • sed - работа с потоками sed

  • sh - командная оболочка

  • stty - печать и изменение настроек терминала

  • su - изменение пользовательского ID

  • sync - сброс буферов файловой системы

  • true - ничего не делает, возвращает "успех"

  • umount - отмонтирование файловой системы

  • uname - вывод информации о системе



Дополнительно в /bin могут быть установлены следующие программы:

  • csh - C-shell

  • ed - редактор

  • tar - архивационная утилита

  • cpio - еще одна архивационная утилита

  • gzip - утилита сжатия от GNU

  • gunzip - утилита разжатия от GNU

  • zcat - утилита разжатия от GNU

  • netstat - сетевая статистика

  • ping - тест сети по протоколу ICMP




Если утилиты gunzip и zcat существуют, то они должны быть символьными линками на gzip.

Каталог /boot



Содержит все, что необходимо для загрузки системы кроме конфигурационных файлов, которые не нужны в момент загрузки. Каталог содержит данные, которые используются до момента, когда ядро начало выполнения программ в user-mode. Здесь могут находится главные загрузочные сектора, и map-файлы секторов.

Каталог /dev



Содержит файлы устройств. Примеры:

  • /dev/null - null-устройство. Принимает любой вывод, отправленный в файл, всегда возвращает "успех" при записи в него (но реально данные никуда не записываются). Когда данные читаются из него, сразу же возвращает маркер EOF. Иногда на жаргоне его называют "черной дырой".

  • /dev/zero - файл, который возвращает нули (0x00)при чтении из него. При записи в него всегда возвращает "успех", но реально данные никуда не записываются.

  • /dev/random - файл, который служит генератором случайных чисел. Также возможно писать в него (но зачем?). Блокирующий ввод/вывод

  • /dev/urandom - то же самое, что и /dev/random, но ввод/вывод здесь неблокирующий

  • /dev/full - при записи в этот файл возвращается маркер переполнения устройства



Каталог /etc



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

  • csh.login - файл инициализации для C-shell (systemwide)

  • exports - контроль доступа для файловой системы NFS

  • fstab - статическая информация о файловых системах

  • ftpusers - список пользователей и контроль доступа для FTP-демона

  • gateways - список шлюзов

  • gettydefs - настройки терминала для getty

  • group - файл пользовательской группы

  • host.conf - конфигурационный файл хоста

  • hosts - статическая информация о хостах (локальный DNS)

  • hosts.allow - разрешенный список хостов для TCP Wrappers

  • hosts.deny - запрещенный список хостов для TCP Wrappers

  • hosts.equiv - список доверенных хостов для rlogin, rsh, rcp

  • hosts.lpd - список доверенных хостов для lpd

  • inetd.conf - файл конфигурации для inetd

  • inittab - файл конфигурации для программы init

  • issue - сообщение перд логином и файл идентификации

  • ld.so.conf - список дополнительных каталогов, где искать зашаренные бибилиотеки

  • motd - содержит сообщение, которое показывается юзеру после логина

  • mtab - динамическая информация о файловых системах

  • mtools.conf - файл настроек для mtools

  • networks - статическая информация об именах сетей

  • passwd - файл с паролями

  • printcap - база данных системы печати lpd

  • profile - файл инициализации для sh shell login

  • protocols - список IP-протоколов

  • resolv.conf - файл настроек резолвера

  • rpc - список протоколов RPC

  • securetty - контроль доступа TTY для root

  • services - имена портов для сетевых сервисов

  • shells - пути к оболочкам

  • syslog.conf - файл настроек для syslogd



Каталог /home



Содержит домашние каталоги пользователей.

Каталог /lib



Содержит необходимые системные бибилиотеки и модули ядра.

Каталог /media



Точка монтирования для сменяемых носителей. Следующие каталоги или символьные ссылки на каталоги могут содержаться в /media:

  • floppy - флоппи-дисковод

  • cdrom - CD привод


Каталог /sbin



Содержит системные исполняемые файлы.

Комментариев нет:

Отправить комментарий

Постоянные читатели