Продовження епопеї ОС Linux
:: Файлова система:

Файлова система-це зібрання файлів і ієрархія каталогів. Якщо ви виконаєте команди cd і ls -F, то, очевидно, побачите каталоги: bin, dev, etc, home, install, lib, mnt, proc, root, tmp, user, usr та var. (Можете побачити і дещо відмінний варіант, оскільки різні версії Linux можуть мати відмінності).
Файли розсортовані по цих каталогів у відповідності з функціями, виконуваними ними. Уточнимо, яке ж призначення мають ці каталоги.
/bin
bin — це скорочено від `binaries” (тобто двійкові або виконувані файли). Тут знаходиться багато важливих системних програм. Використовуйте команду ls -F /bin щоб подивитися тут наявний список файлів. Ви можете виявити тут вже знайомі команди, начебто cp, ls і mv. Це і є програми відповідних команд. Коли, наприклад, ви використовуєте команду cp, ви виконуєте програму /bin/cp.
Використовуючи ls -F, ви побачите, що більшість (якщо не всі) файлів в /bin мають праворуч від імені зірочка («*»). Це говорить про те, що виконувані файли.
/dev
Наступна зупинка на нашому шляху — dev. Знову подивіться на вміст за допомогою ls -F.
«Файли» в /dev відомі як драйвери пристроїв — вони використовуються для доступу до пристроїв і ресурсів системи, таких як диски, модеми, пам’ять і т. д. Наприклад, як ви можете читати дані з файлу, точно також ви можете читати вхідні сигнали від миші, маючи доступ до /dev/mouse. Імена файлів, що починаються на fd — це дисководи гнучких дисків. fd0 — перший дисковід, fd1 — другий.
Ось перелік деяких з найбільш використовуваних файлів пристроїв.
· /dev/console/ відноситься до системної консолі, тобто до монітора, безпосередньо пов’язаній з системою.
· Різні /dev/ttyS і /dev/cua пристрої використовуються для доступу до послідовним портам. Наприклад, /dev/ttyS0 відноситься до `COM1″ під MS-DOS. Пристрої /dev/cua відносяться до «дзвоном» (`callout”) пристроїв, які використовуються спільно з модемами.
· Пристрої, імена яких починаються з hd, мають доступ до жорстких дисків. /dev/hda відноситься до всього першого жорсткого диска, а hda1 тільки до першого розділу /dev/hda.
· Пристрої з іменами, що починаються на sd — SCSI-драйвери. Якщо у вас SCSI жорсткий диск, замість доступу до нього через /dev/hda, ви будете звертатися до /dev/sda. SCSI стрічки доступні через пристрої st, а SCSI CD-ROM через sr.
· Пристрої lp забезпечують доступ до паралельних портів. /dev/lp0 відноситься до `LPT1″ в MS-DOS.
· /dev/null використовується як «чорна діра» — будь-які дані, послані сюди, кануть в Лету. Якщо ви хочете придушити вивід команди на екран, ви можете перенаправити цей висновок в /dev/null.
/etc
/etc містить безліч різноманітних системних файлів конфігурації. Вони включають /etc/passwd (файл паролів), /etc/rc (командний файл ініціалізації) і т. д.
/sbin
/sbin використовується для зберігання важливих системних двійкових файлів, використовуваних системним адміністратором.
/home
home містить домашні каталоги користувачів. Наприклад, /home/larry — домашній каталог користувача «larry». На знову інстальованої системою цей каталог може бути порожнім у зв’язку з тимчасовою відсутністю зареєстрованих користувачів.
/lib
/lib містить образи поділюваних бібліотек (shared library images). Ці файли містять код, який можуть використовувати багато програми. Замість того, щоб кожна програма мала свою власну копію цих виконуваних файлів, вони зберігаються в одному загальнодоступному місці — в /lib. Це дозволяє зробити виконувані файли менше і заощадить місце у системі.
/proc
/proc — це «віртуальна файлова система», до якої файли зберігаються в пам’яті, а не на диску. Вони пов’язані з різними процесами, що відбуваються в системі, і дозволяють отримати інформацію про те, що роблять програми і процеси в зазначений час.
/tmp
Багато програми потребують створення робочих файлів, які потрібні короткий час. Канонічне місце для цих файлів в /tmp (там зазвичай частіше проводиться прибирання сміття).
/usr
/usr — це дуже важливий каталог. Він складається з ряду підкаталогів, які в свою чергу містять найбільш важливі і корисні програми та файли конфігурації, які використовуються системою.
Різні каталоги, описані вище, необхідні для нормального функціонування системи, але більшість речей, що містяться в /usr необов’язкові для системи. Але це такі необов’язкові речі, які роблять систему корисною і цікавою. Без /usr ви б мали досить нудну систему, що містить тільки програми, на зразок cp і ls. /usr містить багато великих програмних пакетів і конфігураційних файлів, які їх супроводжують.
/usr/bin
/usr/bin справжнє сховище для різних програм UNIX. Він містить більшість виконуваних програм, яких немає ні в яких інших місцях, наприклад, у тому /bin їх немає.
/usr/etc
Точно також, як і /etc, містить різноманітні системні програми і конфігураційні файли. /usr/etc містить навіть більше утиліт і файлів. Загалом, файли, що знаходяться в /usr/etc несуттєві для системи, на відміну від тих, які перебувають у /etc, і дуже суттєві.
/usr/lib
/usr/lib містить бібліотеки-«заглушки» і «статичні» бібліотеки, еквівалентні файлів з /lib. При компіляції програма «зв’язується» з бібліотеками, які перебувають у /usr/lib, які в свою чергу направляють програми звертатися в /lib, якщо їм нужет актуальний код. Крім того, багато інші програми зберігають у /usr/lib свої конфігураційні файли.
/usr/local
/usr/local великою мірою схожий на /usr — він містить різні програми і файли, несуттєві для системи, але перетворюють її в задоволення і захоплення. Загалом, ці програми, що знаходяться в /usr/local спеціалізуються на специфіці вашої системи, т. е. /usr/local сильно відрізняється в різних UNIX. Тут ви знайдете такі великі програмні пакети, як TeX (система форматування документів) та Emacs (великий і потужний редактор), якщо ви встановите.
/usr/man
Цей каталог містить сторінки Керівництва. Тут два підкаталогу для кожного «розділу» Керівництва. (За допомогою команди «man man» ви можете отримати більш детальну інформацію). Наприклад, /usr/man/man1 містить вихідні тексти (неформатований оригінал) сторінок Керівництва в розділі 1 і /usr/man/cat1 містить форматовані сторінки для розділу 1.
/usr/src
/usr/src містить вихідні коди для різних програм вашої системи. Найбільш важлива річ тут, це /usr/src/linux, містить вихідні коди ядра Linux.
/var
/var містить каталоги, які часто змінюються в розмірі або мають тенденцію швидко зростати. До числа таких каталогів відносяться:
/var/adm
/var/adm містить різні файли, цікаві системного адміністратора, специфічні системні файли, які фіксують помилки і проблеми, що виникають в системі. Інші файли фіксують входи у систему, як і невдалі спроби увійти.
/var/spool
/var/spool містить файли, які попередньо формуються для інших програм. Наприклад, якщо ваша машина підключена до мережі, вхідна пошта буде поміщатися в /var/spool/mail до тих пір, поки ви не прочитаєте її або не видалите. Вхідні та вихідні новини поміщаються в /var/spool/news і т. д.