Maybaygiare.org

Blog Network

tiedosto(1) – Linux man page

Name

file – määritä tiedostotyyppi

Synopsis

file file …

file-c

file

Description

tämä käsikirjasivu dokumentoi tiedostokomennon version 5.04.

tiedosto testaa jokaisen argumentin yrittäessään luokitella sitä. On olemassa kolme sarjaa testejä, suoritetaan tässä järjestyksessä: tiedostojärjestelmätestit, taikatestit, andlanguage testit. Ensimmäinen testi, joka onnistuu, aiheuttaa tiedostotyypin tulostamisen.

tulostettu tyyppi sisältää yleensä jonkin sanan tekstin (tiedosto sisältää vain tulostusmerkkejä ja muutamia yleisiä ohjausmerkkejä ja on helposti luettavissa ASCII-päätteellä), suoritettavan (tiedosto sisältää jonkin ohjelman kokoamisen tuloksen jonkin unixkernelin tai toisen ymmärrettävässä muodossa) tai mitä tahansa muuta tarkoittavan tiedon (tieto on yleensä ’binäärinen’ tai ei-tulostettava). Poikkeuksia ovat tunnetut tiedostomuodot (core files, tararchives), joiden tiedetään sisältävän binääritietoa. Kun muokkaat magic tiedostoja tai itse ohjelman, varmista säilyttää nämä avainsanat. Käyttäjät ovat riippuvaisia siitä, että kaikissa hakemiston luettavissa tiedostoissa on painettu sana ”teksti”. Älä tee kuten Berkeley teki ja vaihda komentotulkin komentoteksti komentotulkin komentotekstiksi.

tiedostojärjestelmätestit perustuvat paluun tutkimiseen stat(2) – järjestelmäkutsusta. Ohjelma tarkistaa, onko tiedosto tyhjä vai onko se jonkinlainen erikoistiedosto. Kaikki tunnetut tiedostotyypit, jotka soveltuvat käytettävään järjestelmään (sockets, symbolic links, or named pipes (FIFOs) on those system thatimplement them) ovat intuition, jos ne on määritelty järjestelmän otsikkotiedostossa

taikatestejä käytetään tarkistamaan tiedostoja, joissa on tietoja erityisesti kiinteässä muodossa. Kanoninen esimerkki tästä on binäärinen suoritettava (käännetty ohjelma)A.out-tiedosto, jonka muoto on määritelty #include <a.out.h>
ja mahdollisesti #sisältävät <exec.h>
standardissa ovat hakemistot. Näillä tiedostoilla on ’maaginen numero’, joka on tallennettu tiettyyn paikkaan lähelle tiedoston alkua, joka kertoo UNIX-käyttöjärjestelmälle, että tiedosto on binääritiedosto, ja mikä useista tyypeistä. ”Magian” käsitettä on sovellettu laajennettuna datatiedostoihin. Mikä tahansa tiedosto, jossa on jokin invariantti tunniste pienellä kiinteällä siirrolla tiedostoon, voidaan yleensä kuvata tällä tavalla. Näiden tiedostojen tunnistetiedot luetaan koostetusta magic file /usr/share/misc/magic-tiedostosta.mgc tai tiedostot hakemistossa / usr / share/misc / magic, jos koottua tiedostoa ei ole olemassa. Lisäksi, jos $HOME/.Magic.MGC tai $HOME/.magic on olemassa, sitä käytetään mieluummin järjestelmän magic-tiedostoja. Jos/etc / magic on olemassa, sitä käytetään yhdessä muiden taikatiedostojen kanssa.

Jos tiedosto ei täsmää mihinkään taikatiedoston merkinnöistä, tutkitaan, näyttääkö se tekstitiedostolta. ASCII -, ISO-8859-x -, ei-iso-8-bittiset ASCII-merkistöt (kuten Macintosh-ja IBM PC-järjestelmissä käytetyt), UTF-8-koodatut Unicode -, UTF-16-koodatut Unicode-ja EBCDIC-merkistöt voidaan erottaa toisistaan eri tavualueiden ja-jaksojen perusteella, jotka muodostavat tulostettavan tekstin kussakin sarjassa. Jos tiedosto läpäisee jonkin näistä testeistä, sen ominaisuusjoukko ilmoitetaan. ASCII -, ISO-8859-x -, UTF-8-ja extended-ASCII-tiedostot tunnistetaan ”tekstiksi”, koska ne ovat useimmiten luettavissa lähes millä tahansa terminaalilla; UTF-16 ja EBCDIC ovat vain ”merkkitietoja”, koska vaikka ne sisältävät tekstiä, se vaatii käännöksen ennen kuin sitä voidaan lukea. Lisäksi tiedosto pyrkii määrittämään tekstityyppisten tiedostojen muita ominaisuuksia. Jos tiedoston rivit päättyvät UNIX-standardin LF sijasta CR, CRLF tai NEL, tämä ilmoitetaan. Tiedostot, jotka sisältävät sulautettuja pakenemissekvenssejä tai ylijännitteitä, tunnistetaan myös.

kun tiedosto on määrittänyt tekstityyppisessä tiedostossa käytettävän merkistön, se yrittää määrittää millä kielellä tiedosto on kirjoitettu. Kielikokeissa etsitään erityisiä kieliä (vrt. #include <names.h>
), jotka voivat esiintyä missä tahansa tiedoston ensimmäisissä lohkoissa. Esimerkiksi avainsana. br osoittaa,että tiedosto on mitä todennäköisimmin troff(1) – syötetiedosto, aivan kuten avainsanan rakenne kertoo C-ohjelmasta. Nämä testit ovat vähemmän luotettavia kuin kaksi edellistä ryhmää, joten ne suoritetaan viimeisenä. Kielitestirutiinit testaavat myös jonkin verran sekavuutta(kuten Tar (1) – arkistot).

mikä tahansa tiedosto, jota ei voida tunnistaa kirjoitetuksi mihinkään edellä luetelluista merkistöistä, on yksinkertaisesti ”data”.

valitsimet

 -b, --brief

Älä esitä tiedostonimiä tulostusriveille (lyhyt tila).

– C, –compile
Write a magic.MGC-tulostustiedosto, joka sisältää ennalta jäsennetyn version taikatiedostosta tai hakemistosta.

-c, –checking-printout
Cause a checking printout of the parsed form of the magic file. Tätä käytetään yleensä yhdessä-m-lipun kanssa uuden taikatiedoston vianetsintään ennen sen asentamista.

-e, –exclude testname
Exclude the test named in testname from the list of tests made to determine the file type. Kelvolliset testinimet ovat:

apptype
EMX application type (vain EMX: ssä).

teksti’ erityyppisiä tekstitiedostoja (tällä testillä yritetään arvata tekstin koodaus, riippumatta ”encoding” – vaihtoehdon asetuksesta).

koodaus
erilaiset tekstikoodaukset pehmeisiin taikatesteihin.

tokens ” etsii tunnettuja tokeneita tekstitiedostojen sisältä.

cdf ” tulostaa yhdistettyjen asiakirjatiedostojen yksityiskohdat.

pakkaa
tarkistaa pakatut tiedostot ja katsoo niiden sisälle.

elf’ tulostaa ELF-tiedoston tiedot.

soft ” konsultoi taikatiedostoja.

tar ” tutkii tar-tiedostoja.

-F, –erotinerotin
käytä määritettyä merkkijonoa erotuksena tiedostonimen ja palautetun tiedoston tuloksen välillä. Oletusarvo on”:”.

-f, –files-from namefile
Lue tutkittavien tiedostojen nimet namefile-tiedostosta (yksi per rivi) ennen argumenttiluetteloa. Joko nimitiedoston tai vähintään yhden tiedostonimiargumentin on oltava mukana; vakiosyötteen testaamiseksi käytä tiedostonimiargumenttia” -”.

-h, –no-dereference
– valinta aiheuttaa sen, että symbolisia linkkejä tukevissa järjestelmissä ei tule noudattaa symlinkkejä. Tämä on oletusarvo, jos ympäristömuuttujaa POSIXLY_CORRECT ei ole määritelty.

-i, –mime
saa tiedoston komennon tulostamaan MIME-tyypin merkkijonoja perinteisempien ihmisten luettavien merkkijonojen sijaan. Näin se voi sanoa ”text/plain; charset=us-ascii ”ratherthan” ASCII text”. Jotta tämä vaihtoehto toimisi, tiedosto muuttaa tapaa, jolla se käsittelee itse komennon tunnistamia tiedostoja (kuten monet tekstin tiedostotyypit, hakemistot jne.), ja käyttää vaihtoehtoista ’magic’ – tiedostoa. (Katso tiedostot-osio alla).

–mime-tyyppi, –mime-koodaus
Like-i, mutta tulosta vain määritelty Elementti(t).

-L, –dereference
-vaihtoehto aiheuttaa symlinkkien seuraamisen, kuten LS(1): ssä (symbolisia linkkejä tukevissa järjestelmissä). Tämä on oletusarvo, jos environmentvariable POSIXLY_CORRECT on määritelty.

-m, –magic-file magicfiles
Määritä vaihtoehtoinen luettelo magiaa sisältävistä tiedostoista ja hakemistoista. Tämä voi olla yksittäinen kohde tai kaksoispisteellä erotettu lista. Jos käännetty taikatiedosto löytyy tiedoston tai hakemiston vierestä, sitä käytetään sen sijaan.

-n, –no-pad
älä pad tiedostonimiä niin, että ne tasaantuvat tulosteessa.

-n, –no-puskuri
pakota stdout huuhdeltavaksi jokaisen tiedoston tarkistamisen jälkeen. Tämä on hyödyllistä vain, jos tarkistat tiedostoluettelon. Se on tarkoitettu käytettäväksi ohjelmille, jotka haluavat filetypeoutput-ohjelman putkesta.

-p, –preserve-date
järjestelmissä, jotka tukevat utime(2) tai utimes(2), yrittävät säilyttää analysoitujen tiedostojen käyttöajan, teeskennellä, että tiedosto ei koskaan lue niitä.

-r, –raw
älä käännä painamattomia merkkejä \ooo. Yleensä tiedosto kääntää painamattomia merkkejä niiden oktaaliesitys.

-s, –special-files
normaalisti tiedosto yrittää vain lukea ja määrittää niiden argumenttitiedostojen tyypin, jotka stat(2) – raportit ovat tavallisia tiedostoja. Tämä estää ongelmia, koskalukemalla erityisiä tiedostoja voi olla erikoinen seurauksia. Valitsimen-S määrittäminen saa tiedoston lukemaan myös argumenttitiedostoja, jotka ovat block orcharacter special-tiedostoja. Tämä on hyödyllinen määritettäessä tietojen tiedostojärjestelmätyypit raw levyosioita, jotka ovat lohko erityisiä tiedostoja. Tämä vaihtoehto aiheuttaa myös sen, että tiedosto ei huomioi stat: n(2) ilmoittamaa tiedostokokoa, koska joissakin järjestelmissä se ilmoittaa RAW-levyosioille nollakoon.

-v, –versio
tulosta ohjelman versio ja poistu.

-z, –uncompress
yritä katsoa pakattujen tiedostojen sisälle.

— help
tulosta ohjeviesti ja poistu.

tiedostot

/usr/share/misc/magic.mgc

oletuksena koottu lista taikuudesta.
/ usr/share/misc / magic ” – kansio, joka sisältää oletusmagiatiedostot.

ympäristö

ympäristömuuttujan magiaa voidaan käyttää magiatiedoston oletusnimen asettamiseen. Jos muuttuja on asetettu, tiedosto ei yritä avata$HOME/.Magic. tiedosto Lisää”.mgc” tämän muuttujan arvoon tapauksen mukaan. Ympäristömuuttuja POSIXLY_CORRECT ohjaa (symbolisia linkkejä tukevissa järjestelmissä), yrittääkö tiedosto seurata symlinkkejä vai ei. Jos asetettu, sitten tiedosto seuraa symlink, muuten se ei. Tätä ohjataan myös-L-ja-h-vaihtoehdoilla.

Katso myös

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

standardien mukaisuus

tämän ohjelman uskotaan ylittävän System V-rajapinnan määritelmän tiedostolle(CMD), niin lähelle kuin sen sisältämästä epämääräisestä kielestä voi päätellä.Sen käyttäytyminen on enimmäkseen yhteensopiva samannimisen System V-ohjelman kanssa. Tämä versio tietää enemmän taikuutta, kuitenkin, joten se tuottaa erilaisia (vaikkakin enemmän accurate) lähtö monissa tapauksissa.

yksi merkittävä ero tämän version ja systeemi V: n välillä on se, että tässä versiossa käsitellään mitä tahansa valkoista tilaa erottimena, jolloin patternstringien välilyönnit täytyy karata. Esimerkiksi

>10 string language impress (imPRESS data)

olemassa olevassa taikatiedostossa olisi muutettava

>10 string language\ impress (imPRESS data)

lisäksi tässä versiossa, jos kuviomerkkijono sisältää takaviivan, se on paettava. Esimerkiksi

0 string \begindata Andrew Toolkit document

olemassa olevassa taikatiedostossa olisi muutettava muotoon

0 string \\begindata Andrew Toolkit document

SunOS julkaisee 3.2 ja myöhemmin Sun Microsystems sisältää Tiedostokomento johdettu System V one, mutta joitakin laajennuksia. Minun versioni eroaa Sunista vain vähän. Se sisältää”&” – operaattorin laajennuksen, jota käytetään esimerkiksi

>16 long&0x7fffffff >0 not stripped

Taikahakemisto

taikatiedostomerkinnät on kerätty eri lähteistä, lähinnä USENETISTÄ, ja niitä ovat toimittaneet useat tekijät. Christos Zoulas (osoite alla) kerää ylimääräisiä tai korjattuja taikatiedostomerkintöjä. Magic-tiedostomerkintöjen konsolidointi jaetaan määräajoin.

taikatiedoston merkintäjärjestys on merkittävä. Riippuen siitä, mitä järjestelmää käytät, järjestys, että ne kootaan voi olla väärä. Jos vanha tiedostokomentosi käyttää taikatiedostoa, pidä vanha taikatiedosto ympärillä vertailutarkoituksia varten (nimeä se uudelleen muotoon /usr/share/misc/magic.orig).

Examples

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

dynamically linked (uses shared libs), stripped

/dev/wd0a: block special (0/0)
/dev/hda: block special (3/0)

$ file-s /dev/wd0{B,D}
/ dev / wd0b: data
/ dev / wd0d: x86 boot sector

History

jokaisessa Unixissa on ollut tiedostokomento ainakin Tutkimusversiosta 4 lähtien (man-sivu päivätty marraskuulle 1973). System V-versio esitteli onesimerkittävä suuri muutos: ulkoinen luettelo magic tyypit. Tämä hidasti ohjelmaa hieman, mutta teki siitä paljon joustavamman.

tämän järjestelmän V-versioon perustuvan ohjelman on kirjoittanut Ian Darwin <[email protected]> katsomatta kenenkään muun lähdekoodia.

John Gilmore tarkisti koodia laajasti, tehden siitä ensimmäistä versiota paremman. Geoff Collyer löysi useita puutteita ja toimitti taikatiedostot. ”& ” operator by Rob McMahon, [email protected], 1989.

Guy Harris [email protected], teki monia muutoksia vuodesta 1993 nykypäivään.

Primary development and maintenance from 1990 to the present by Christos Zoulas ([email protected]).

muutettu Chris Lowth, [email protected], 2000: Käsittele-i-vaihtoehtoa MIME-tyyppisten merkkijonojen tulostamiseksi vaihtoehtoisen taikatiedoston ja sisäisen logiikan avulla.

muutettu Eric Fischer ([email protected] heinäkuuta 2000 tunnistaakseen merkkikoodit ja pyrkiäkseen tunnistamaan muiden kuin ASCII-tiedostojen kielet.

muutettu Reuben Thomas ([email protected]), 2007 jotta 2008, parantaa MIME tukea ja yhdistää MIME ja ei-MIME magic, tukea hakemistoja sekä tiedostoja ofmagic, soveltaa monia virheenkorjauksia ja parantaa rakentaa järjestelmä.

”magic” – hakemiston (taikatiedostot) avustajien lista on liian pitkä tähän. Tiedät kuka olet, kiitos. Monet avustajat on lueteltu lähdetiedostoissa.

Legal Notice

Copyright © Ian F. Darwin, Toronto, Canada, 1986-1999. Kuuluvat standardin Berkeley Software Jakelu tekijänoikeus; katso tiedosto laillinen.Ilmoitus lähteenjakelussa.

tiedostot tar.h ja is_tar.c ovat John Gilmoren kirjoittamia hänen public-domain tar (1) – ohjelmastaan, eivätkä ne kuulu edellä mainitun lisenssin piiriin.

bugit

magdirin kaikesta glopista täytyy olla parempi tapa automatisoida Taikatiedoston rakentaminen. Mitä nyt?

tiedosto käyttää useita algoritmeja, jotka suosivat nopeutta tarkkuuden sijaan, joten sitä voidaan johtaa harhaan tekstitiedostojen sisällöstä.

tekstitiedostojen tuki (ensisijaisesti ohjelmointikielille) on yksinkertainen, tehoton ja vaatii päivitystä.

ascmagicin avainsanaluettelo kuuluu todennäköisesti Taikatiedostoon. Tämä voitaisiin tehdä käyttämällä jotain avainsanaa, kuten ’*’ offset-arvolle.

valittaa taikatiedostomerkintöjen ristiriidoista. Tehdä sääntö, että magic merkinnät lajittelu perustuu tiedoston offset eikä sijainti sisällä magic-tiedoston?

tämä käsikirjasivu ja erityisesti tämä osio on liian pitkä.

Palautuskoodi

tiedosto palauttaa tuloksesta 0 ja virheestä ei-nolla.

Jos tiedoston operand nimeämää tiedostoa ei ole olemassa, sitä ei voida lukea tai tiedoston operandin nimeämän tiedoston tyyppiä ei voida määrittää, tämä ei ole virhe, joka vaikuttaa poistumistilaan.

saatavuus

alkuperäisen tekijän uusimman version saa anonyymillä FTP-palvelimella ftp.astron.com in the directory / pub / file / file-X. YZ.tervaa.gz

BSD 9. lokakuuta 2008 BSD

Vastaa

Sähköpostiosoitettasi ei julkaista.