Jak určit typ souboru souboru pomocí systému Linux

Většina lidí se dívá na příponu souboru a pak odhaduje typ souboru z této přípony. Pokud například uvidíte soubor s příponou gif, jpg, bmp nebo png, uvažujete o souboru s obrázkem a při zobrazení souboru s příponou zip předpokládáte, že soubor byl komprimován pomocí nástroje pro kompresi zip .

Ve skutečnosti může mít soubor jedno rozšíření, ale něco úplně jiného a pokud soubor nemá žádné rozšíření, jak zjistíte typ souboru?

V Linuxu můžete zjistit pravý typ souboru pomocí příkazu souboru.

Jak Příkaz souboru funguje

Podle dokumentace spustí příkaz souboru tři soubory testů proti souboru:

První soubor testů pro vrácení platné odpovědi způsobí tisk typu souboru.

Testy souborového systému zkoumají návrat ze státního volání systému. Program kontroluje, zda je soubor prázdný a zda je to zvláštní soubor. Pokud je typ souboru nalezen v souboru záhlaví systému, bude vrácen jako platný typ souboru.

Magické testy kontrolují obsah souboru a konkrétně několik bajtů na začátku, které pomáhají určit typ souboru. Existují různé soubory, které se používají k tomu, aby pomohly shodit soubor s jeho typem souboru a jsou uloženy v / etc / magic, / usr / share / misc / magic.mgc, / usr / share / misc / magic. Tyto soubory můžete přepsat umístěním souboru do domovského adresáře nazvaného $ HOME / .magic.mgc nebo $ HOME / .magic.

Konečné testy jsou jazykové testy. Soubor je zkontrolován, zda je textový soubor. Testováním prvních pár bajtů souboru můžete vyvodit, zda jde o soubor ASCII, UTF-8, UTF-16 nebo jiný formát, který určuje soubor jako textový soubor. Jakmile je znaková sada odvozena, soubor je testován na různých jazycích. Například je soubor AC program.

Pokud žádný z testů nepracuje, výstup je pouze dat.

Jak používat příkazy souborů

Příkaz souboru lze použít následovně:

název souboru

Představte si například, že máte soubor nazvaný file1, který by spustil následující příkaz:

souboru1

Výstupem bude něco jako:

file1: PNG obrazová data, 640 x 341, 8bitová / barevná RGB, nepřekládaná

Zobrazený výstup určuje, že soubor1 bude obrazový soubor nebo bude přesnější soubor přenosného síťového grafiky (PNG).

Různé typy souborů mají různé výsledky takto:

Přizpůsobte výstup z příkazu souboru

Ve výchozím nastavení souborový příkaz obsahuje název souboru a všechny podrobnosti nad souborem. Pokud chcete podrobnosti bez názvu souboru opakovat, použijte následující přepínač:

soubor -b soubor1

Výstupem bude něco jako:

PNG obrazová data, 640 x 341, 8bitová / barevná RGB, nepřekládaná

Můžete také změnit oddělovač mezi názvem souboru a typem.

Ve výchozím nastavení je oddělovačem dvojtečka (:), ale můžete jej změnit na libovolné, jako je symbol potrubí, takto:

soubor -F '|' soubor1

Výstup bude nyní podobný:

soubor1 | PNG obrazová data, 640 x 341, 8bitová / barevná RGB, nepřekládaná

Manipulace s více soubory

Ve výchozím nastavení použijete souborový příkaz proti jedinému souboru. Můžete však určit název souboru, který obsahuje seznam souborů, které mají být zpracovány příkazem souboru:

Jako příklad otevřete soubor s názvem testfiles pomocí editoru nano a přidejte tyto řádky:

Uložte soubor a spusťte následující příkaz:

soubor -f testfiles

Výstupem bude něco jako:

/ etc / passwd: text ASCII
/etc/pam.conf: text ASCII
/ etc / opt: adresář

Komprimované soubory

Ve výchozím nastavení při spuštění příkazu souboru proti komprimovanému souboru se zobrazí něco podobného:

file.zip: ZIP archivovat data, nejméně V2.0 extrahovat

Zatímco to vám říká, že soubor je archivní soubor, neznáte obsah souboru. Můžete vidět uvnitř souboru zip a zobrazit typy souborů souborů v komprimovaném souboru.

Následující příkaz spustí příkaz souboru proti souborům uvnitř souboru ZIP:

soubor -z název souboru

Na výstupu budou nyní zobrazeny typy souborů souborů v archivu.

souhrn

Obecně platí, že většina lidí jednoduše použije souborový příkaz k nalezení základního typu souboru, ale zjistí více o všech možnostech, které příkazu souboru nabízí do okna terminálu zadejte následující:

man soubor