Maybaygiare.org

Blog Network

fil (1) – Linux mann side

Navn

fil-bestem filtype

Synopsis

fil fil …

fil-C

fil

Beskrivelse

denne manualsiden dokumenterer versjon 5.04 av filkommandoen.

fil tester hvert argument i et forsøk på å klassifisere det. Det er tre sett med tester, utført i denne rekkefølgen: filsystem tester, magiske tester, andlanguage tester. Den første testen som lykkes, fører til at filtypen skrives ut.

typen som skrives ut vil vanligvis inneholde ett av ordene tekst (filen inneholder bare utskrift tegn og noen vanlige kontroll tegn og isprobably trygt å lese på EN ASCII terminal), kjørbar (filen inneholder resultatet av å kompilere et program i en form forståelig For Noen UNIXkernel eller en annen), eller data som betyr noe annet (data er vanligvis ‘binær’ eller ikke-utskrivbare). Unntak er kjente filformater (kjernefiler, tararkiver) som er kjent for å inneholde binære data. Når du endrer magiske filer eller selve programmet, sørg for å bevare disse søkeordene. Brukere er avhengige av å vite at alle lesbare filer i en katalog har ordet ‘tekst’ trykt. Ikke gjør Som Berkeley gjorde og endre ‘shell kommandoer tekst’ til ‘shell script’.

filsystemtestene er basert på å undersøke avkastningen fra et stat(2) systemkall. Programmet sjekker for å se om filen er tom, eller om det er en slags spesiell fil. Alle kjente filtyper som passer til systemet du kjører på (stikkontakter, symbolske lenker eller navngitte rør (Fifoer) på de systemene som implementerer dem) er intuited hvis de er definert i systemhodefilen

de magiske testene brukes til å se etter filer med data i bestemte faste formater. Det kanoniske eksempelet på dette er en binær kjørbar (kompilert program) a. out-fil, hvis format er definert i # include <a. out.h>
og muligens #inkluderer <exec.h>
i standarden inkluderer katalog. Disse filene har en’ magisk nummer ‘ lagret i et bestemt sted nær begynnelsen av filen som forteller UNIX operatingsystem at filen er en binær kjørbar, og hvilke av flere typer av disse. Konseptet med en ‘magi’ har blitt brukt ved forlengelse til datafiler. Enhver filmed noen invariant identifikator på en liten fast offset i filen kan vanligvis beskrives på denne måten. Informasjonen som identifiserer disse filene, leses fraden kompilerte magiske filen / usr/share/misc / magic.mgc, eller filene i katalogen /usr/share/misc/magic hvis den kompilerte filen ikke eksisterer. Inaddition, om $HJEM/.Magic.mgc eller $HJEM/.magic eksisterer, det vil bli brukt i preferanse til system magic files. Hvis/etc / magic eksisterer, detvil bli brukt sammen med andre magiske filer.

hvis en fil ikke samsvarer med noen av oppføringene i den magiske filen, undersøkes den for å se om den ser ut til å være en tekstfil. ASCII, ISO-8859-x, ikke-ISO 8-bitextended-ASCII-tegnsett (som de som brukes På Macintosh OG IBM PC-systemer), Utf-8-kodet Unicode, Utf-16-kodet Unicode og EBCDIC-tegnsettkan skilles ut av de forskjellige områdene og sekvensene av byte som utgjør utskrivbar tekst i hvert sett. Hvis en fil passerer noen av disse testene, er denskaraktersett rapportert. ASCII, ISO-8859-x, UTF-8, og extended-ASCII-filer er identifisert som ‘tekst’ fordi de vil være mest lesbare på nesten alle; Utf-16 og EBCDIC er bare ‘tegndata’ fordi, mens de inneholder tekst, er det tekst som vil kreve oversettelse før den kan leses. I tillegg vil filen forsøke å bestemme andre egenskaper av tekst-type filer. Hvis linjene i en fil avsluttes AV CR, CRLF eller NEL, i stedet For Unix-standard LF, vil dette bli rapportert. Filer som inneholder innebygde escape-sekvenser eller overstriking vil også bli identifisert.

når filen har bestemt tegnsettet som brukes i en tekst-type fil, vil den forsøke å finne ut på hvilket språk filen er skrevet. Languagetests ser etter bestemte strenger (jfr. # inkluder <navn.h>
) som kan vises hvor som helst i de første blokkene av en fil. For eksempel, keyword. br indikerer at filen er mest sannsynlig en troff (1) input fil,akkurat som søkeord struct indikerer Et C-program. Disse testene er mindre pålitelige enn de to foregående gruppene, så de utføres sist. Languagetest rutiner også teste for noen miscellany(for eksempel tjære (1) arkiver).

enhver fil som ikke kan identifiseres som skrevet i noen av tegnsettene nevnt ovenfor, sies ganske enkelt å være ‘data’.

Alternativer

 -b, --brief

ikke legg filnavn til utgangslinjer (kort modus).

-C, –compile
Skriv en magi.mgc utdatafil som inneholder en pre-analysert versjon av den magiske filen eller katalogen.

-c, –checking-print
Forårsake en kontroll utskrift av analysert form av den magiske filen. Dette brukes vanligvis sammen med-m-flagget for å feilsøke en ny magisk fil førinstallerer den.

-e, –exclude testname
Ekskluder testen navngitt i testname fra listen over tester som er gjort for å bestemme filtypen. Gyldige testnavn er:

apptype
EMX applikasjonstype (kun PÅ EMX).

tekst’ Ulike typer tekstfiler (denne testen vil prøve å gjette tekstkodingen, uavhengig av innstillingen av ‘koding’ – alternativet).

koding
Ulike tekstkodinger for myke magiske tester.

tokens Ser etter kjente tokens i tekstfiler.

cdf ‘ Skriver ut detaljer Om Sammensatte Dokumentfiler.

komprimer
Sjekker for, og ser på innsiden, komprimerte filer.

elf ‘ Skriver UT ELF fil detaljer.

soft ‘ Konsulterer magiske filer.

tar ‘ Undersøker tjære filer.

-F, –separator separator
Bruk den angitte strengen som separator mellom filnavnet og filresultatet returnert. Standard er ‘:’.

-f, –files-from namefile
Les navnene på filene som skal undersøkes fra namefile (en per linje) før argumentlisten. Enten namefile eller minst ett filenameargument må være til stede; for å teste standardinngangen, bruk’- ‘ som et filnavnargument.

-h, –no-dereference
alternativet fører symlinks ikke følges (på systemer som støtter symbolske lenker). DETTE er standard hvis miljøvariabelen POSIXLY_CORRECT ikke er definert.

-i, –mime
Fører til at filkommandoen sender ut mime-typestrenger i stedet for de mer tradisjonelle lesbare. Dermed kan det si ‘text / plain; charset=us-ascii ‘ratherthan’ ASCII text’. For at dette alternativet skal fungere, endrer filen måten den håndterer filer som er gjenkjent av kommandoen selv (for eksempel mange av tekstfiltyper, kataloger etc), og bruker en alternativ ‘magisk’ fil. (Se DELEN FILER nedenfor).

–mime-type, –mime-koding
Liker-i, men skriv ut bare de angitte elementene.

-l, –dereference
alternativet fører symlinks som skal følges, som lignende-navngitt alternativ i ls(1) (på systemer som støtter symbolske lenker). Dette er standard hvis environmentvariable POSIXLY_CORRECT er definert.

-m, –magic-file magicfiles
Angi en alternativ liste over filer og kataloger som inneholder magi. Dette kan være et enkelt element, eller en kolon-separert liste. Hvis en kompilert magisk fil er funnetlongside en fil eller katalog, vil den bli brukt i stedet.

-N, –no-pad
ikke legg filnavn slik at de justeres i utdataene.

-n, –no-buffer
Tvinge stdout å bli spylt etter å ha sjekket hver fil. Dette er bare nyttig hvis du sjekker en liste over filer. Det er ment å bli brukt av programmer som ønsker filetypeoutput fra et rør.

-p, –preserve-date
på systemer som støtter utime(2) eller utimes (2), forsøke å bevare tilgangen tid av filer analysert, å late som om filen aldri lese dem.

-r, –raw
ikke oversett tegn som ikke kan skrives ut til \ooo. Normalt fil oversetter unprintable tegn til deres oktal representasjon.

-s, –special-files
Normalt forsøker filen bare å lese og bestemme typen argumentfiler som stat (2) rapporter er vanlige filer. Dette forhindrer problemer, fordilesing av spesielle filer kan ha spesielle konsekvenser. Angi alternativet-s fører til at filen også leser argumentfiler som er blokk orcharacter spesielle filer. Dette er nyttig for å bestemme filsystem typer av data i raw – partisjoner, som er blokk spesielle filer. Dette alternativet fører også til at filen ser bort fra filstørrelsen som rapportert av stat(2), siden det på enkelte systemer rapporterer en nullstørrelse for raw-diskpartisjoner.

-v, –version
Skriv ut versjonen av programmet og avslutt.

-z, –uncompress
Prøv å se i komprimerte filer.

–help
Skriv ut en hjelpemelding og avslutt.

Filer

/usr/share/misc/magic.mgc

standard kompilert liste over magi.
/usr/share/misc/magic’ Katalog som inneholder standard magiske filer.

Miljø

miljøvariabelen MAGIC kan brukes til å angi standard magisk filnavn. Hvis den variabelen er satt, vil filen ikke forsøke å åpne$HOME/.Magic. fil legger ‘.mgc ‘ til verdien av denne variabelen etter behov. MILJØVARIABELEN POSIXLY_CORRECT kontroller (på systemer som støtter symbolske lenker), om filen vil forsøke å følge symlinker eller ikke. Hvis satt, følger filen symlink, ellers gjør det ikke. Dette styres også av-L og-h-alternativene.

se Også

magic(5), strings(1), od(1), hexdump(1,) file(1posix)

Standarder Konformitet

dette programmet antas å overskride System V Grensesnitt Definisjonen AV FILEN(CMD), så nær som man kan bestemme fra vage språket som finnes der.Dens oppførsel er for det meste kompatibel Med System V-programmet med samme navn. Denne versjonen vet mer magi, men så det vil produsere forskjellige (om enn mernøyaktig) utgang i mange tilfeller.

den ene signifikante forskjellen mellom Denne versjonen og System V er at denne versjonen behandler ethvert hvitt mellomrom som en skilletegn, slik at mellomrom i patternstrings må unngås. For eksempel må

>10 string language impress (imPRESS data)

i en eksisterende magisk fil endres til

>10 string language\ impress (imPRESS data)

i tillegg, i denne versjonen, hvis en mønsterstreng inneholder en skråstrek, må den rømmes. For eksempel

0 string \begindata Andrew Toolkit document

i en eksisterende magisk fil måtte endres til

0 string \\begindata Andrew Toolkit document

SunOS utgivelser 3.2 og senere Fra Sun Microsystems inkluderer en filkommando avledet Fra System V one, men med noen utvidelser. Min versjon er forskjellig fra Suns bare på mindre måter. Det inkluderer utvidelsen av’ & ‘operatør, brukt som for eksempel

>16 long&0x7fffffff >0 not stripped

Magic Directory

de magiske filoppføringene er hentet fra ulike kilder, hovedsakelig USENET, og bidratt av ulike forfattere. Christos Zoulas (adresse nedenfor) vilsamle flere eller korrigerte magiske filoppføringer. En konsolidering av magiske filoppføringer vil bli distribuert med jevne mellomrom.

rekkefølgen på oppføringer i den magiske filen er betydelig. Avhengig av hvilket system du bruker, kan rekkefølgen de er satt sammen være feil. Hvis din gamle filkommando bruker en magisk fil, behold den gamle magiske filen for sammenligningsformål (endre navn på den til /usr/share/misc/magic.orig).

Eksempler

$ file file.c file /dev/{wd0a,hda}file.c: C program textfile: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),

dynamisk koblet (bruker delte libs), strippet

/dev/wd0a: blokk spesiell (0/0)
/dev/hda: blokk spesiell (3/0)

$ fil-s /dev/wd0{b,d}
/dev / wd0b: data
/ dev / wd0d: x86 boot sector

History

det har vært en fil kommando i HVER UNIX siden Minst Forskning Versjon 4 (man page datert November, 1973). System V-versjonen introduserte enbetydelig stor endring: den eksterne listen over magiske typer. Dette reduserte programmet litt, men gjorde det mye mer fleksibelt.

dette programmet, basert På System V-versjonen, ble skrevet av Ian Darwin <[email protected]> uten å se på noen andres kildekode.

John Gilmore revidert koden omfattende, noe som gjør den bedre enn den første versjonen. Geoff Collyer funnet flere utilstrekkeligheter og gitt noen magiske fileentries. Bidrag fra’ & ‘ operatør Av Rob McMahon, [email protected] 1989.

Guy Harris, [email protected], gjort mange endringer fra 1993 til i dag.

Primær utvikling og vedlikehold fra 1990 til i dag Av Christos Zoulas ([email protected]).

Endret Av Chris Lowth, [email protected] år 2000: Håndter-i-alternativet for å skrive ut mime-type strenger, ved hjelp av en alternativ magisk fil og intern logikk.

Endret Av Eric Fischer ([email protected]), juli 2000, for å identifisere tegnkoder og forsøke å identifisere språkene til ikke-ASCII-filer.

Endret Av Reuben Thomas ([email protected]), 2007 til 2008, for å forbedre MIME støtte og flette MIME og ikke-MIME magi, støtte kataloger samt filer ofmagic, bruke mange feilrettinger og forbedre bygge systemet.

listen over bidragsytere til’ magic ‘ katalogen (magiske filer) er for lang til å inkludere her. Du vet hvem du er-takk! Mange bidragsytere er oppførti kildefilene.

Juridisk Merknad

Copyright  © Ian F. Darwin, Toronto, Canada, 1986-1999. Dekket av Standard Berkeley Software Distribution copyright; se filen LEGAL.LEGG MERKE til i kildedistribusjonen.

filene tar.h og is_tar.c ble skrevet Av John Gilmore fra hans public domain tar(1) program, og er ikke dekket av ovennevnte lisens.

Bugs

det må være en bedre måte å automatisere byggingen Av Den Magiske filen fra alle glop i Magdir. Hva er det?

fil bruker flere algoritmer som favoriserer hastighet over nøyaktighet, og dermed kan det bli villedet om innholdet i tekstfiler.

støtten for tekstfiler (primært for programmeringsspråk) er forenklet, ineffektiv og krever rekompilering for å oppdatere.

listen over søkeord i ascmagic tilhører sannsynligvis I Den Magiske filen. Dette kan gjøres ved å bruke noen søkeord som ‘ * ‘ for offset verdi.

Klage på konflikter i de magiske filoppføringene. Lag en regel om at de magiske oppføringene sorteres basert på filforskyvning i stedet for posisjon i den magiske filen?

denne manualsiden, og spesielt denne delen, er for lang.

Returkode

fil returnerer 0 på suksess, og ikke-null på feil.

hvis filen som er navngitt av filen operand ikke finnes, kan ikke leses, eller typen av filen som er navngitt av filen operand ikke kan fastslås, er dette ikke beconsidered en feil som påvirker utgangsstatusen.

Tilgjengelighet

du kan få den opprinnelige forfatterens nyeste versjon av anonym FTP på ftp.astron.com i katalogen / pub / fil / fil-X. YZ.tjære.gz

BSD 9. oktober 2008 BSD

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.