Как да определите вида на файла с Linux

Повечето хора гледат разширението на файл и след това отгатват вида на файла от това разширение. Например, когато видите файл с разширение 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).

Различните видове файлове дават различни резултати, както следва:

Персонализиране на изхода от файловата команда

По подразбиране файловата команда предоставя името на файла и всички подробности над него. Ако просто искате детайлите без името на файла да се повтарят, използвайте следния ключ:

файл -b файл1

Резултатът ще бъде нещо като това:

Данни на изображението във формат PNG, 640 x 341, 8-битова / цветна RGB, несвързани

Можете също така да промените разделителя между името на файла и типа.

По подразбиране разделителят е двоеточие (:), но можете да го промените на всичко, което ви харесва, като символа на тръбата, както следва:

файл -F '|' ФАЙЛ_1

Резултатът ще бъде нещо подобно:

ФАЙЛ_1 | Данни на изображението във формат PNG, 640 x 341, 8-битова / цветна RGB, несвързани

Работа с множество файлове

По подразбиране ще използвате файловата команда срещу един файл. Можете обаче да зададете име на файл, който съдържа списък с файлове, които да бъдат обработени от командата за файла:

Като пример открийте файл, наречен testfiles, като използвате редактора за нано и добавете следните редове:

Запишете файла и изпълнете следната команда:

файл -f тестови файлове

Резултатът ще бъде нещо като това:

/ etc / passwd: ASCII текст
/etc/pam.conf: ASCII текст
/ etc / opt: директория

Компресирани файлове

По подразбиране, когато стартирате файловата команда срещу компресиран файл, ще видите изход от този вид:

file.zip: ZIP архивни данни, най-малко V2.0 за извличане

Докато това ви казва, че файлът е архивен файл, вие наистина не знаете съдържанието на файла. Можете да разгледате вътре файла с цип, за да видите файловите типове на файловете в компресирания файл.

Следната команда изпълнява файловата команда срещу файловете в ZIP файл:

файл -z име на файл

Извеждането ще покаже файловите типове файлове в архива.

резюме

По принцип повечето хора просто ще използват файловата команда, за да намерят основния тип файл, но за да разберат повече за всички възможности, които файловата команда предлага, въведете следното в прозореца на терминала:

човек файл