Файл з точки зору операційної системи є найбільшою сукупністю даних, з якою можна виконувати різні стандартні операції: копіювання, перейменування, вилучення і т.д. З позицій користувача файл – це поіменована область на диску або іншому машинному носії даних. В файлах можуть зберігатись тексти програм, документи тощо.
В Linux поняття файла є універсальним. Всі фізичні пристрої (дисплей, принтер, клавіатура та ін) представляються як спеціальні файли, які зберігаються в каталозі /dev. До речі, каталоги в Linux розглядаються як третя різновидність файлів, оскільки вони теж займають деяке місце на диску.
Ім’я файла може бути довільним, однак має задовольняти деякі обмеження. По-перше, імена файлів не можуть включати в себе пропуски. По-друге, не рекомендується включати до складу імені такі символи:
/ * \? “ ‘ ^! @ $% & () { } []:; < >
По-третє, довжина імені файла не повинна перевищувати 256 символів. Не варто також забувати, що розрізняють великі та малі букви алфавіту.
Позначення кожного файла може складатись із двох частин, які розділяються точкою: основного імені файла і розширення імені файла. Розширення імені файла використовувати не обов’язково, але бажано, оскільки воно вказує на тип файла. Наприклад,
*. txt - текстовий файл;
*. bin - бінарний, тобто виконуваний, файл;
*. с - програма мовою Сі.
Для звертання до файлів поточного каталогу достатньо вказати лише ім’я файла та розширення імені файла (якщо воно існує). В загальному випадку для звертання до файла із каталога X, необхідно в імені файла вказувати весь шлях по дереву каталогів, починаючи від кореневого каталога і до каталога X. В такому випадку матимемо абсолютне складове ім’я файла. Наприклад, абсолютне складове ім’я файла /Home/user/file. txt
позначає файл file. txt, що знаходиться в каталозі user, який є підкаталогом каталога першого рівня /Home.
Якщо необхідний каталог X знаходиться по дереву каталогів нижче від поточного каталога, тоді при звертанні до такого файла із поточного каталога в імені файла допускається вказувати лише шлях від поточного каталога і до каталога X. В цьому випадку матимемо відносне складове ім’я файла.
При виконанні однакових операцій із групою файлів можна використовувати для них узагальнені імена. Символ * позначає будь-яку кількість будь-яких символів в основному імені файла або в розширенні імені файла. Ім’я файла із символами * по суті буде позначати не один файл, а групу файлів. Наприклад, запис *. txt буде позначати всі текстові файли поточного каталога, а запис M*. c позначатиме всі програми мовою С, імена яких розпочинаються із букви М.
Символ? позначає лише один довільний символ або відсутність одного символу в основному імені файла або в розширення імені файла. Наприклад, запис file?. txt може бути узагальненою формою позначення всіх файлів, основне ім’я яких включає 4 або 5 символів і розпочинаються словом file.
3. Розгляд структури каталогів Linux
Розглянемо призначення основних каталогів першого рівня.
Каталог /root. Він є робочим каталогом суперкористувача. Після реєстрації суперкористувач попадає саме в цей каталог.
Каталог /home. Цей каталог використовується для зберігання даних користувачів. В ньому створюються підкаталоги для кожного користувача під тим іменем, під яким реєструється користувач на початку сеанса роботи (login). Тільки в свому каталозі (а також в каталозі /tmp) рядовий користувач може створювати нові підкаталоги і файли.
Каталог /boot. В ньому містяться файли, що використовуються при початковому завантаженні операційної системи (ОС).
Каталоги /bin і /sbin. В цих каталогах містяться: системні утиліти і бінарні (тобто виконувальні) файли, оболонки, файли багатьох зовнішніх команд, редактори та т.п. Головною відмінністю між програмами, що зберігаються в згаданих каталогах є те, що програми з каталогу /sbin можуть бути виконані лише суперкористувачем.
Каталог /lib. В цьому каталозі знаходяться загальні системні бібліотеки. В одному з підкаталогів каталога /lib знаходиться ядро Linux.
Каталог /dev. Тут знаходяться файли, які представляють системні пристрої (термінали, принтери, вінчестери і т.п.).
Каталог /usr. Цей каталог призначено для зберігання файлів, які не змінюються та спільно використовуються різними користувачами. В підкаталогах /usr/bin і /usr/sbin міститься велика кількість програм, які за своїми функціями подібні до каталогів /bin та /sbin. Підкаталог /usr/share містить дані, які переносяться між комп’ютерами з різними операційними системами.
Каталог /mnt. В цьому каталозі знаходаться підкаталоги, що використовуються як точки монтування для інших файлових систем. До підкаталога /mnt/windows підключається файлова система ОС Windows, до підкаталогу /mnt/floppy підключаються дискети і т.д. Імена цих підкаталогів можуть бути змінені.
Каталог /etc. Цей каталог використовується для зберігання конфігураційних файлів ОС. Серед множини підкаталогів дуже важливим є підкаталог /etc/X11, де зберігаються файли конфігурації системи Х Window, а також підкаталог /etc/rc. d, де міститься сценарій початкового завантаження Linux.
Каталог /opt. В цьому каталозі інсталюються додаткові пакети програм.
Каталог /var. Тут зберігаються файли, вміст яких часто змінюється. Найважливіші такі підкаталоги:
/var/log – для зберігання системних журналів;
/var/mail – для організації поштових скриньок користувачів; /var/spool – для організації буферних черг для принтера, пошти і т.п.
Каталог /lost+found. Цей каталог призначений для зберігання пошкоджених даних, які можуть з’явитися після перевірки файлової системи Linux.
Каталог /tmp. Тут зберігаються тимчасові файли системи і користувачів.
Каталог /auto. Цей каталог використовується для конфігурування пристроїв з метою автоматичного знаходження і монтування носіїв інформації в момент їх встановлення.
4. Основні команди Linux
Вичерпну інформацію про формат будь-якої команди Linux можна отримати за допомогою довідкової команди man:
man<імя команди>
Далі розглядаються лише найпоширеніші команди в скороченому форматі.
4.1. Інформація про поточний каталог
Для видачі імені поточного каталогу використовується команда
pwd