Skip to content

Jak určit typ souboru souboru v systému Linux

5 de Srpen de 2021
GettyImages 111033484 58dab7b85f9b5846836c0288

Většina lidí se podívá na příponu souboru a pak uhodne typ souboru z této přípony. Například když vidíte soubor s příponou gif, jpg, bmp nebo png, myslíte na soubor obrázku a když vidíte soubor s příponou zip, předpokládáte, že soubor byl komprimován pomocí komprese zip užitečnost. Soubor může používat jednu příponu, ale může to být něco úplně jiného. Linux nepoužívá přípony souborů; spíše je typ souboru součástí názvu souboru. Chcete -li zjistit skutečný typ souboru, použijte soubor příkaz.

Jak funguje příkaz „soubor“

Příkaz file spustí tři sady testů proti souboru:

  • Testy souborového systému
  • Magické testy
  • Jazykové testy

První sada testů pro vrácení platné odpovědi vyzve k vytištění typu souboru. Testy souborového systému zkoumají návrat ze systémového volání stat. Program zkontroluje, zda je soubor prázdný a zda se jedná o speciální soubor. Pokud je typ souboru nalezen v souboru záhlaví systému, je 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. K přiřazení souboru k jeho typu se používají různé soubory, které jsou uloženy v:

  • /etc/magie
  • /usr/share/misc/magic.mgc
  • /usr/share/různé/magie

Přepište tyto soubory umístěním souboru do své domovské složky s názvem $ HOME/.magic.mgc nebo $ HOME/.magic. Závěrečné testy jsou jazykové testy. Soubor je zkontrolován, aby se zjistilo, zda se jedná o textový soubor. Testováním prvních několika bajtů souboru test odvodí, zda je soubor ve formátu ASCII, UTF-8, UTF-16 nebo v jiném formátu, který identifikuje soubor jako textový soubor. Při odvozování znakové sady je soubor testován v různých jazycích.

Jak používat příkaz „soubor“

The soubor příkaz má následující podobu: název souboru

type = „code“> Například pro kontrolu typu názvu souboru dotek.svg, spusťte následující příkaz: soubor touch.svg

type = „code“> Výstup je něco takového:

  • touch.svg: SVG Scalable Vector Graphics image

Různé typy souborů vytvářejí různé výsledky, například:

  • Typ souboru ODS: Tabulka OpenDocument
  • Typ souboru PDF: Dokument PDF, verze 1.4
  • Typ souboru CSV: ASCII text, s velmi dlouhými řádky, s indikátory řádků CRLF

Práce s více soubory

Ve výchozím nastavení pracuje příkaz soubor s jediným souborem. Můžete však zadat název souboru, který obsahuje seznam souborů, které mají být zpracovány souborem soubor příkaz. Otevřete například soubor s názvem testovací soubory pomocí nano editoru a přidejte do něj tyto řádky:

  • /etc/passwd
  • /etc/pam.conf
  • /etc/opt

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

type = „code“> Výstup bude něco takového:

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

Další metodou je spuštění souboru soubor zadejte jedenkrát, ale určete několik cílů. Například: soubor /etc /passwd /etc/pam.conf /etc /opt

Výstup bude něco takového:

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

Standardní zástupné znaky také fungují. Chcete -li například otestovat všechny soubory v aktuálním pracovním adresáři, použijte: soubor *

Chcete -li otestovat adresáře, které začínají písmenem D (rozlišují velká a malá písmena), zkuste toto: soubor D*

Výsledkem může být například plocha, dokumenty a soubory ke stažení.

Komprimované soubory

Když spustíte soubor příkaz proti komprimovanému souboru uvidíte výstup něco takového:

  • file.zip: Data archivu ZIP, k rozbalení alespoň V2.0

I když vám tento výsledek říká, že soubor je archivním souborem, neznáte jeho obsah. Podívejte se dovnitř souboru zip a podívejte se na typy souborů v komprimovaném souboru. Následující příkaz spustí příkaz file proti souborům uvnitř souboru ZIP: soubor -z název_souboru

type = „code“> Výstup nyní zobrazuje typy souborů souborů v archivu.