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:
- testy souborového systému
- magické testy
- jazykové testy
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:
- Typ souboru ISO - spouštěcí sektor DOS / MBR ISO 9660 Datový souborový systém CD-Rom "label" (bootovatelný); oddíl 2: ID = 0xef, start-CHS (0x3ff, 254,63), end-CHS (0x3ff, 4,63) startsector 1496, 4736 sektorů
- Typ souboru ODS - Tabulka OpenDocument
- Typ souboru PDF - dokument PDF, verze 1.4
- Typ souboru CSV - text ASCII s velmi dlouhými čarami s čárovými indikátory CRLF
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:
- / etc / passwd
- /etc/pam.conf
- / etc / opt
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