Типи файлів в Ubuntu, українськомовна документація щодо Ubuntu
Початківцям Ubuntu часто нелегко звикнути до певної специфіки поводження з файлами в цій системі. Однак насправді все вкрай просто і дуже елегантно, в цій статті буде спроба пояснити всі тонкощі, щоб потім при використанні системи ви не дивувалися деяким незрозумілим з першого погляду речам.
Назви файлів та папок
Якщо пам'ятаєте, у Linux всі імена файлів є регістрозалежними, тобто можна спокійно створити в одному каталозі два файли з однаковими іменами, але записаними в різних регістрах, наприклад, Ubuntu.txt і ubuntu.txt .
Крім того, в іменах файлів можна використовувати абсолютно будь-які символи, і це не перебільшення - дійсно будь-які, які побажаєте, крім прямого слеша / 1) . Однак через деякі причини утримуйтеся від використання таких символів: \ * , а також символів перенесення рядка та табуляції. Можна підписувати свої файли китайськими ієрогліфами, рунами, грецькими літерами і взагалі будь-чим, якщо вам, звичайно, буде зручно використовувати такі імена 2) .
Ну і, насамкінець, ще раз зверніть увагу, що роздільником каталогів у дорозі до файлу в Linux завжди є символ / , на відміну від Windows, в якій використовується зворотний сліш - \ .
Доступ до файлів та каталогів
У попередній статті вже було розказано про права доступу до файлів, тому ви повинні знати, що в Linux можна обмежити доступ до файлу на редагування або просто повністю заборонити доступ до вмісту за допомогою механізму розмежування прав. Наприклад, всі системні конфігураційні файли закриті для редагування звичайного користувача, і якщо ви спробуєте зберегти якісь зміни в такий файл, Ubuntu повідомить, що увас не вистачає на це правий. Деякі файли неможливо навіть відкрити і подивитися їх вміст. Каталоги, з точки зору механізму розмежування прав в Ubuntu, мало чим відрізняються від файлів і теж мають обмеження на запис файлу простим користувачем (наприклад, у вас нічого не вийде зі збереженням файлу в каталог /usr ). Але якщо ви досі не знаєте, як це обійти, уважно прочитайте про користувачів, групи та права доступу.
Вміст та розширення файлів
"Тип файлу визначається його розширенням!" — саме так ви вважаєте після того, як якийсь час провели в операційній системі Windows. Найцікавіше, як і розробники цієї ОС вважають останню частину імені файлу після точки визначальною його тип, недарма вони за умовчанням приховують розширення для зареєстрованих типів файлів. Наприклад, файл Блакитний льодопад.mp3 вважається музикою у форматі mp3 3), а Уранія.txt - текстовим файлом 4). Насправді все трохи не так, розширення - це лише частина імені файлу, яке ніяк не залежить від вмісту, а тип файлу зазвичай визначається по-іншому 5) .
Наприклад, перейдіть в Ubuntu в якусь папку з mp3 файлами і перейдіть на режим відображення списком 6) . У стовпці «Тип» поруч із mp3-файлами ви побачите «Звук»:

Тепер перейменуйте будь-який файл, приписавши йому замість mp3 розширення ?? .

Бачите тип файлу не змінився. Якщо ви зараз спробуєте відкрити такий файл, то він спокійнісінько відкриється як mp3 в програвачі 7) .
Звичайно, розширення потрібно, мало того, Ubuntu покладається в першу чергу саме на нього - тобто, якщо перейменувати mp3-файл, додавши до нього розширення txt, то Ubuntu вважатиме такий файл текстовим:

Однак те, щоUbuntu вміє дивитися не тільки на ім'я файлу, що рятує від багатьох проблем. Тому не дивуйтеся, коли зустрінете в Ubuntu файли взагалі без розширення, з якими система спокійнісінько працює, нічого при цьому не питаючи.
До речі, в Ubuntu є потужна утиліта визначення типу файлу, яка взагалі не дивиться на ім'я та розширення, а намагається ідентифікувати файл лише за вмістом. Вона буває корисною, коли файл з якихось причин не відкривається, оскільки дозволяє переконатися, що в ньому містяться дані саме того типу, якого ви і очікуєте там побачити. Утиліта ця - консольна, і називається file. Ось що вона говорить про перейменований у текстовий документ аудіофайл у форматі mp3:

Обдурити утиліту file практично неможливо, а знає вона про більшість форматів файлів, що використовуються.
Виконувані файли
У питаннях виконуваних файлів, тобто, якщо просто, звичайних програм, Ubuntu кардинально відрізняється від Windows. У Windows виконувані файли мають розширення exe (в основному), а всередині являють собою нечитаний набір байтів. А в Ubuntu може бути навіть текстовий файл. Відразу скажу, що exe - це програми для Windows і в Ubuntu вони не працюють без Wine (програми для запуску виконуваних файлів Windows в Linux), але взагалі кажучи і у Wine вони працюють далеко не завжди.
Отже, що таке виконуваний файл з погляду Ubuntu? Фактично це будь-який файл, який позначений як виконуваний і який Ubuntu зможе запустити на виконання. Це означає ось що: у кожного файлу є спеціальна властивість-перемикач, що не залежить ні від імені, ні від вмісту, що відповідає за виконання. Якщо файл позначений як виконуваний, то взагалі кажучи він таким і є, а якщо не помічений - то цеЗвичайний файл з даними і безпосередньо запустити його на виконання не можна. Інша річ, що не будь-який файл, помічений як виконуваний, Ubuntu зможе виконати, хоча в арсеналі Ubuntu є безліч методів запуску файлів з різним вмістом.
Характерним прикладом незвичайних з першого погляду виконуваних файлів Linux є звані скрипти. Скрипти - це звичайні текстові файли, що містять набір інструкцій для програми-інтерпретатора, яка займається власне виконанням скриптів. Так от, якщо на скрипті встановлено властивість виконуваності, то це програма, яку можна запустити звичайним чином, а якщо не встановлено - то це лише текстовий файл. Тобто зробити файл виконуваним або ж навпаки, усунути можливість його виконання, можна зміною всього одного його властивості.
Мало того, насправді ця магічна властивість-перемикач виконуваності є одним із трьох прав доступу, про які я миттєво згадував у попередній статті. Я говорив, що кожен файл має три групи прав доступу - для користувача-власника, для групи-власника і для всіх інших, кожна група складається в свою чергу з трьох прав: на читання, модифікування та виконання. Так ось, право на виконання і є цим чарівним перемикачем виконуваності.
З цього випливає дуже кумедне властивість: той самий файл може бути одночасно і виконуваним, і не виконуваним, припустимо, якщо на його виконання є права тільки у користувача-власника. Тоді користувач, якому належить цей файл, зможе його запустити як програму, а для решти він буде звичайним файлом з даними.
Ось так все насправді просто і красиво, сподіваюся, ви усвідомили основну логіку і не плутатиметеся при роботі з файлами, що виконуються вUbuntu.
Текстові файли
Текстові файли в Ubuntu всюди. Усі налаштування зберігаються у вигляді текстових файлів, вихідні коди всіх програм представляють собою текстові файли, багато програм в Ubuntu є насправді скриптами, тобто теж текстовими файлами. І звичайно Ubuntu вміє працювати з текстовими файлами як завгодно. І цю тему навіть не довелося б торкатися, якби не одна проблема операційних систем Windows. Справа в тому, що в Windows досі де-не-де ще використовується застарілий в 90-х минулого століття спосіб збереження звичайного тексту, зокрема, в текстових файлах 8) .
Насамкінець хочеться сказати, що дуже рекомендується так чи інакше перекласти всю текстову інформацію на використання utf8 , оскільки фактично лише це кодування нормально розпізнається скрізь і завжди, а в майбутньому швидше за все тільки воно і використовуватиметься.
Аудіофайли
Що ж до форматів, то Ubuntu підтримує всі існуючі аудіо-формати, проте для відтворення деяких потрібні додаткові кодеки. Про те, як їх поставити, я розповім в одній із наступних статей.
Запуск в іншій програмі та зміна асоціацій файлів з програмами
Коли ви трохи освоїтеся в Ubuntu, у вас, можливо, виникне бажання познайомитися з доступними у достатку в репозиторіях програмами. І незабаром після того, як ви оберете з незліченної множини альтернатив відповідні для себе додатки, перед вами, швидше за все, постане цілком закономірне питання: а як відкрити цей файл у встановлених вами програмах, а не в доступних за замовчуванням?
Тут є два виходи: запустити спочатку програму, і в цій програмі відкрити файл, або вказати Nautilus відкрити файл у потрібній програмі. Для цього натисніть правою кнопкою мишіна потрібному вам файлі, виберіть пункт «Властивості» і перейдіть на вкладку «Відкрити у програмі»:

У меню містяться всі програми, які повідомили Ubuntu про підтримку вибраного типу файлів. Вам залишиться тільки вибрати потрібну програму. Якщо у списку його немає, не впадайте у відчай, виберіть пункт «Інша програма…». Відкриється вікно, де можна вибрати зі всіх встановлених програм, або спробувати знайти потрібне в інтернеті:

Після додавання програми таким чином, вона завжди з'являтиметься в меню «Відкрити у програмі…». Якщо ви помилилися і ця програма не підходить для відкриття цього типу файлів, виділіть непотрібний додаток, натисніть на ньому правою кнопкою миші та виберіть пункт «Забути асоціацію».
А як бути, якщо ви хочете, щоб певний тип файлів завжди відкривався в іншій програмі, а не в тій, яка встановлена за замовчуванням? Наприклад, щоб усі фільми відкривалися у встановленому вами VLC, а не в Totem, який відкриває ці файли за замовчуванням. Для цього потрібно змінити асоціацію файлу з програмою. Робиться це дуже просто: йдете до «Параметри системи», вибираєте пункт «Відомості про систему» і там рядок «За замовчуванням». Тепер можна змінити програми для основного типу файлів:

Як бачите, вибір типів файлів не дуже великий. А як же бути з тими файлами, яких тут нема? На щастя, подібний функціонал доступний у вже згадуваній утиліті Ubuntu Tweak, тому якщо ви хочете змінити асоціації відразу для великої кількості типів файлів, то раджу вам використовувати саме її.
Автозапуск змінних носіїв
Якщо ми відкрили «Довідки про систему» зробимо ще одну важливу річ. Зверніть увагу на пункт "Змінні носії". Він дозволяє вибрати,що робити системі при підключенні змінного носія (ДВД-диск, флешка, карта пам'яті тощо) з певним типом даних:

Кнопка «Інший носій» дозволяє налаштувати менш поширені типи носіїв. При активованій «галочці» навпаки «Ніколи не питати і не запускати програми при підключенні носія» система взагалі ніяк не реагуватиме на приєднання змінного носія.
Як висновок
У цій статті я спробував докладно розповісти про основні особливості роботи з файлами в Ubuntu. Сподіваюся, ви змогли розібратися, що до чого і вловити основні моменти. Насамкінець хочеться помітити, що Ubuntu без будь-якого додаткового програмного забезпечення підтримує більшість поширених форматів файлів, специфічні файли, швидше за все, можна як мінімум сконвертувати в один із стандартних форматів за допомогою різних програм, удосталь доступних у репозиторіях Ubuntu.
Трохи пізніше я розповім як поставити пакет повної підтримки мультимедіа форматів, який не входить до Ubuntu за замовчуванням через недосконале законодавство деяких країн, з яким, на жаль, доводиться рахуватися, але для цього необхідно розглянути таку важливу тему: