File (program)
Z Wikipedii
- Właściwy tytuł tego artykułu to file. Z powodu ograniczeń technicznych tytuł tego artykułu jest nieprawidłowy.
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.
Spis treści |
[edytuj] Użycie
file [opcje] nazwa
[edytuj] 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 wielkrotnie modyfikowana przez programistów, którymi byli m.in. Guy Harris, Chris Lowth i Eric Fischer.
[edytuj] 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. |
[edytuj] 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
Zarządzanie plikami i systemem plików: | cat • cd • chmod • chown • chgrp • cp • du • df • file • fsck • ln • ls • lsof • mkdir • more • mount • mv • pwd • rcp • rm • rmdir • split • touch • tree | ||
Zarządzanie procesami | anacron • at • chroot • cron • crontab • htop • kill • killall • nice • ps • sleep • screen • time • timex • top • renice • wait • watch | ||
Zarządzanie użytkownikami/systemem | env • finger • id • locale • mesg • passwd • su • sudo • uname • uptime • w • wall • who • write | ||
Przetwarzanie tekstu | awk • cut • diff • ex • head • iconv • join • less • more • nkf • paste • sed • sort • tail • tr • uniq • wc • xargs • perl | ||
Programowanie shellowe | echo • expr • unset | Drukowanie | lp |
Komunikacja inetd • netstat • ping • rlogin • traceroute |
Wyszukiwanie find • grep • strings • whereis |
Różne banner • bc • cal • man • yes |