Przejdź do głównej zawartości

file


  • file – program służący do określania typu pliku na podstawie jego zawartości, a nie rozszerzenia.
  • Wykrywa m.in. teksty, pliki binarne, skompresowane archiwa, pliki wykonywalne ELF, obrazy dysków, certyfikaty, itp.
  • Dostępny w większości dystrybucji Linux, *BSD, macOS, a także Windows (np. przez Cygwin/MSYS).

Okno terminala
file [opcje] plik...
  • Obsługuje wiele plików w jednym wywołaniu.
  • Może działać na plikach lokalnych lub urządzeniach blokowych.
  • Heurystyki opierają się na pliku magic, który zawiera reguły rozpoznawania typów.

ParametrOpis
-bPomija nazwę pliku w wyjściu (tylko typ)
-iWyświetla MIME typu pliku (np. text/plain; charset=us-ascii)
-f <plik>Czyta listę nazw plików z pliku wejściowego
-zPrzetwarza zawartość skompresowaną gzip (dekompresuje w locie)
--mime-typePokazuje tylko typ MIME (bez kodowania)
--mime-encodingPokazuje tylko kodowanie MIME
-LPodąża za dowiązaniami symbolicznymi
-hNie podąża za dowiązaniami (domyślnie)
--helpWyświetla pomoc
--versionInformacja o wersji

Okno terminala
# 1. Sprawdź typ jednego pliku
file obraz.jpg # -> JPEG image data...
# 2. Sprawdź tylko typ MIME bez nazwy pliku
file -b --mime-type dokument.pdf # -> application/pdf
# 3. Przetwórz wiele plików z listy
file -f pliki.txt
# 4. Zidentyfikuj zawartość archiwum gzip bez dekompresji
file -z archiwum.gz
  • Pierwszy przykład to podstawowe użycie wykrywające typ na podstawie magic bytes.
  • Drugi służy do automatycznej klasyfikacji w skryptach.
  • Trzeci pokazuje wsadową analizę.
  • Czwarty przydaje się przy analizie zawartości skompresowanej.

  • file działa niezależnie od rozszerzenia – polega na zawartości bajtowej.
  • Obsługuje wiele warstw – np. ELF + 64-bit + architektura + biblioteki współdzielone.
  • Dla plików tekstowych rozpoznaje kodowanie (ASCII, UTF-8, ISO-8859-1 itp.).
  • Baza danych magic może być lokalnie modyfikowana lub aktualizowana (/usr/share/misc/magic).
  • Niektóre systemy mogą używać uproszczonej wersji narzędzia (np. BusyBox).

Błąd / KomunikatPrzyczynaRozwiązanie
cannot open ": No such file or directoryNieprawidłowa ścieżkaSprawdź istnienie pliku i poprawną nazwę
ERROR: ... magic file not foundBrak pliku magic lub jego uszkodzenieZainstaluj ponownie pakiet file lub sprawdź zmienną środowiskową MAGIC
data jako typBrak rozpoznanego wzorca w plikuPlik może być binarny lub uszkodzony – sprawdź ręcznie heksadecymalnie