Визначте тип файлу за допомогою команди Linux «file».
Більшість людей дивляться на розширення файлу а потім вгадайте тип файлу з цього розширення. Наприклад, коли ви бачите файл із розширенням gif, jpg, bmp або png, ви думаєте про файл файл зображення, і коли ви бачите файл з розширенням zip, ви припускаєте, що файл був стиснутий за допомогою a утиліта стиснення zip.
Файл може використовувати одне розширення, але бути чимось зовсім іншим. Linux не використовує розширення файлів; скоріше, тип файлу є частиною імені файлу. Щоб дізнатися справжній тип файлу, скористайтеся файл команда.

Як працює команда «файл».
Команда file запускає три набори тестів щодо файлу:
- Тести файлової системи
- Магічні тести
- Мовні тести
Перший набір тестів, який повертає дійсну відповідь, підказує тип файлу для друку.
Тести файлової системи перевіряють повернення від системного виклику stat. Програма перевіряє, чи є файл порожнім і чи є це спеціальним файлом. Якщо тип файлу знайдено в системному заголовному файлі, він повертається як дійсний тип файлу.
Магічні тести перевіряють вміст файлу і, зокрема, кілька байтів на початку, які допомагають визначити тип файлу. Різні файли використовуються для порівняння файлу з його типом файлу, і вони зберігаються в:
- /etc/magic
- /usr/share/misc/magic.mgc
- /usr/share/misc/magic
Перевизначте ці файли, помістивши файл у свою домашню папку під назвою $HOME/.magic.mgc або $HOME/.magic.
Заключними тестами є мовні тести. Файл перевіряється, щоб перевірити, чи це текстовий файл. Тестуючи перші кілька байтів файлу, тест визначає, чи є файл ASCII, UTF-8, UTF-16 або іншим форматом, який ідентифікує файл як текстовий файл. Коли набір символів виводиться, файл перевіряється на різні мови.
Як використовувати команду «файл».
The файл команда приймає такий вигляд:
ім'я файлу.
Наприклад, щоб перевірити тип заголовка файлу touch.svg, виконайте таку команду:
файл touch.svg.
Вихід приблизно такий:
- touch.svg: масштабована векторна графіка SVG
Різні типи файлів дають різні результати, наприклад:
- Тип файлу ODS: електронна таблиця OpenDocument
- Тип файлу PDF: PDF-документ, версія 1.4
- Тип файлу CSV: текст ASCII, з дуже довгими рядками, з індикаторами рядків CRLF
Обробка кількох файлів
За замовчуванням команда file працює з одним файлом. Однак ви можете вказати ім’я файлу, яке містить список файлів, які будуть оброблені файл команда.
Наприклад, відкрийте файл під назвою тестові файли використовуючи редактор нано і додайте до нього ці рядки:
- /etc/passwd
- /etc/pam.conf
- /etc/opt
Збережіть файл і виконайте таку команду файлу:
файл -f testfiles.
Вихід буде приблизно таким:
- /etc/passwd: текст ASCII
- /etc/pam.conf: текст ASCII
- /etc/opt: каталог
Інший спосіб - запустити файл команду один раз, але вказуючи кілька цілей. Наприклад:
файл /etc/passwd /etc/pam.conf /etc/opt
Вихід буде приблизно таким:
- /etc/passwd: текст ASCII
- /etc/pam.conf: текст ASCII
- /etc/opt: каталог
Стандартні символи підстановки також працюють. Наприклад, щоб перевірити всі файли в поточному робочому каталозі, використовуйте:
файл *
Щоб перевірити каталоги, які починаються з літери D (з урахуванням регістру), спробуйте так:
файл D*
Результатами можуть бути, наприклад, робочий стіл, документи та завантаження.
Стислі файли
Коли ви запускаєте файл команду проти стиснутого файлу ви бачите виведення приблизно такого:
- file.zip: дані архіву ZIP, принаймні V2.0 для розпакування
Хоча цей результат говорить вам, що файл є архівним, ви не знаєте вміст файлу. Подивіться всередину zip-файлу, щоб побачити типи файлів у стисненому файлі. Наступна команда запускає команду file для файлів у файлі ZIP:
файл -z ім'я файлу.
Вихід тепер показує типи файлів в архіві.