File (Unix)

file (ang. file – plik) – standardowy program uniksowy, będący podstawową komendą tegoż systemu. Służy do określania typu informacji zawartych w pliku.

Użycie

file [opcje] nazwa

Historia

Narzędzie file pojawiło się pierwszy raz w Unix Research Version 4 w 1973. System V przyniósł wiele znaczących zmian. Jedną z większych było przeniesienie informacji o typach plików do oddzielnego pliku, zamiast włączania go do programu bezpośrednio.

Większość dużych dystrybucji BSD i Linuksa używa opensource'owej reimplementacji napisanej przez Iana Darwina. Została ona poszerzona przez Geoffa Collyera w 1989 i od tego czasu była wielokrotnie modyfikowana przez programistów, którymi byli m.in. Guy Harris, Chris Lowth i Eric Fischer.

Opcje

Opcja Znaczenie
-b Nie podawanie nazw plików na początku wierszy wynikowych (tryb skrócony).
-c Powoduje sprawdzanie wydruku przetworzonej postaci pliku magicznego. Jest to zwykle używane w połączeniu z aby odpluskwić plik liczb magicznych przed jego zainstalowaniem.
-C Zapisuje plik wynikowy magic.mgc, który zawiera wstępnie przetworzoną wersję pliku.
-f NAZWA Odczytuje nazwy testowanych plików z NAZWA (po jednym w wierszu) przed listą argumentów. Obecna musi być albo nazwa pliku albo przynajmniej jeden argument będący nazwą pliku; aby testować standardowe wejście, należy użyć argumentu -jako nazwy pliku.
-i Powoduje wypisywanie przez polecenie file łańcuchów stanowiących typy MIME, zamiast bardziej tradycyjnej postaci czytelnej dla człowieka. Zatem może ono raczej wypisać text/plain; charset=us-ascii zamiast ASCII text. Aby ta opcja działała, file zmienia sposób w jaki obsługuje rozpoznane pliki (takie jak wiele typów plików tekstowych, katalogi itd.) oraz posługuje się alternatywnym plikiem liczb magicznych.
-k Nie zatrzymuje się po znalezieniu pierwszego dopasowania, kontynuuje testowanie.
-m LISTA Podaje alternatywną listę plików z liczbami magicznymi. Może to być pojedynczy plik lub rozdzielona dwukropkami lista plików.
-n Wymusza wyprowadzenie danych wyjściowych po sprawdzeniu każdego pliku. Jest to przydatne jedynie podczas sprawdzania listy plików. W zamierzeniu ma być przydatne programom, które wymagają wyprowadzania typów plików w potoku.
-v Drukuje informacje o wersji i kończy.
-z Próbuje zaglądać do plików skompresowanych.
-L powoduje, że program podąża za dowiązaniami symbolicznymi, podobnie jak w przypadku opcji ls o identycznej nazwie (na systemach, które obsługują dowiązania symboliczne).
-s Powoduje, że file czyta również argumenty będące plikami specjalnymi urządzeń blokowych i znakowych. Jest to przydatne do określania rodzaju systemu plików w przypadku danych na surowych partycjach dysków, stanowiących pliki specjalne urządzeń blokowych. Opcja ta powoduje również, że file nie zważa na zgłaszany przez stat rozmiar pliku, gdyż w niektórych systemach funkcja ta zgłasza zero dla surowych partycji dysków.

Przykłady

$ file file.c
file.c: C program text
$ file program
program: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked 
    (uses shared libs), stripped
$ file /dev/wd0a
/dev/wd0a: block special (0/0)
$ file -s /dev/hda1
/dev/hda1: Linux/i386 ext2 filesystem
$ file -s /dev/hda5
/dev/hda5: Linux/i386 swap file
$ file compressed.gz
compressed.gz: gzip compressed data, deflated, original filename, `compressed', last
    modified: Thu Jan 26 14:08:23 2006, os: Unix
$ file data.ppm
data.ppm: Netpbm PPM "rawbits" image data

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.