Повечето хора гледат разширението на файл и след това отгатват вида на файла от това разширение. Например, когато видите файл с разширение gif, jpg, bmp или png, бихте помислили за файл с изображение, и когато видите файл с разширение на zip, предполагате, че файлът е бил компресиран чрез помощна програма за компресиране на zip .
Всъщност даден файл може да има едно разширение, но да е нещо съвсем различно и ако даден файл няма разширение, как можете да определите типа на файла?
В Linux можете да откриете истинския тип файл, използвайки файловата команда.
Как работи командата за файлове
Според документацията командата на файла изпълнява три серии от тестове срещу файл:
- тестовете на файловата система
- магически тестове
- езикови тестове
Първият набор от тестове, за да се върне валиден отговор, причинява отпечатването на типа на файла.
Тестовете на файловата система изследват връщането от стационарно системно повикване. Програмата проверява дали файлът е празен и дали е специален файл. Ако типът на файла е намерен в заглавния файл на системата, той ще бъде върнат като валиден тип файл.
Магическите тестове проверяват съдържанието на файла и конкретно няколко байта в началото, които помагат да се определи типа на файла. Има различни файлове, които се използват за съвпадение на файла с файловия му тип и се съхраняват в / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic. Можете да замените тези файлове, като поставите файл в началната си папка, наречена $ HOME / .magic.mgc или $ HOME / .magic.
Крайните тестове са езикови тестове. Файлът се проверява, за да се види дали е текстов файл. Като тествате първите няколко байта на файл, можете да изведете дали е ASCII, UTF-8, UTF-16 или друг формат, който определя файла като текстов файл. След като се направи изводът на знака, файлът се тества срещу различни езици. Например е файла AC програма.
Ако никой от тестовете не работи, изходът е просто данни.
Как да използвате командата Файл
Командата за файла може да се използва, както следва:
файловото име на файла
Например, представете си, че имате файл, наречен file1, който ще изпълни следната команда:
файл файл1
Резултатът ще бъде нещо като това:
file1: PNG данни, 640 x 341, 8-битова / цветна RGB, непроменлива
Изведеният изход определя файла1 като файл с изображение или за по-точен преносим мрежов графичен файл (PNG).
Различните видове файлове дават различни резултати, както следва:
- ISO файлов тип - зареждащ сектор DOS / MBR ISO 9660 CD-Rom файлова система за данни "етикет" (стартиращ); дял 2: ID = 0xef, старт-CHS (0x3ff, 254,63), end-CHS (0x3ff, 4,63) начален сектор 1496, 4736 сектора
- Тип на файла ODS - Spreadsheet на OpenDocument
- PDF файлов тип - PDF документ, версия 1.4
- CSV файл тип - ASCII текст, с много дълги линии, с CRLF линия индикатори
Персонализиране на изхода от файловата команда
По подразбиране файловата команда предоставя името на файла и всички подробности над него. Ако просто искате детайлите без името на файла да се повтарят, използвайте следния ключ:
файл -b файл1
Резултатът ще бъде нещо като това:
Данни на изображението във формат PNG, 640 x 341, 8-битова / цветна RGB, несвързани
Можете също така да промените разделителя между името на файла и типа.
По подразбиране разделителят е двоеточие (:), но можете да го промените на всичко, което ви харесва, като символа на тръбата, както следва:
файл -F '|' ФАЙЛ_1
Резултатът ще бъде нещо подобно:
ФАЙЛ_1 | Данни на изображението във формат PNG, 640 x 341, 8-битова / цветна RGB, несвързани
Работа с множество файлове
По подразбиране ще използвате файловата команда срещу един файл. Можете обаче да зададете име на файл, който съдържа списък с файлове, които да бъдат обработени от командата за файла:
Като пример открийте файл, наречен testfiles, като използвате редактора за нано и добавете следните редове:
- / И т.н. / ако съществува
- /etc/pam.conf
- / И т.н. / неучастие
Запишете файла и изпълнете следната команда:
файл -f тестови файлове
Резултатът ще бъде нещо като това:
/ etc / passwd: ASCII текст
/etc/pam.conf: ASCII текст
/ etc / opt: директория
Компресирани файлове
По подразбиране, когато стартирате файловата команда срещу компресиран файл, ще видите изход от този вид:
file.zip: ZIP архивни данни, най-малко V2.0 за извличане
Докато това ви казва, че файлът е архивен файл, вие наистина не знаете съдържанието на файла. Можете да разгледате вътре файла с цип, за да видите файловите типове на файловете в компресирания файл.
Следната команда изпълнява файловата команда срещу файловете в ZIP файл:
файл -z име на файл
Извеждането ще покаже файловите типове файлове в архива.
резюме
По принцип повечето хора просто ще използват файловата команда, за да намерят основния тип файл, но за да разберат повече за всички възможности, които файловата команда предлага, въведете следното в прозореца на терминала:
човек файл