青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Prayer

在一般中尋求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

中文man手冊:file--確定文件類型

Posted on 2009-03-13 10:41 Prayer 閱讀(452) 評論(0)  編輯 收藏 引用 所屬分類: ShellLINUX/UNIX/AIX

FILE

Section: User Commands (1)
Updated: Copyright but distributable

 

名稱

file - 確定文件類型  

總覽

file [ -bcnsvzL ] [ -f 命名文件 ] [ -m 幻數文件 ] file ...  

描述

本手冊頁說明了3.27版本 file 命令的使用. File 命令試圖檢查每個參數以判定文件的類型. 檢查共有三組,按如下順序進行:文件系統檢查,幻數檢查,以及語言檢查. 文件系統 檢查成功則輸出文件類型.

輸出的類型一般會包含以下的詞中的一個: text (文件中僅有 ASCII 字符,可以用 ASCII 終端讀此文件,以保證內容的可靠性), executable (文件中保存的是程序編譯后的結果,一些UNIX 內核或其它內核能理解這類文件), 或者 data 表示所有其它類型文件(data 一般為二進制文件或者不可打印的). 但是有的常用的文件格式(如core文件、tar包),雖然也包含二進制數據,卻不屬于這一類如果要修改 /usr/share/magic 或者程序本身, preserve these keywords . 當文件為``text'' 類型時,認為此文件為可讀文件. 不要象在Berkeley環境中那樣做 - 要把``shell commands text''改為``shell script''.

文件系統檢查是建立在對 stat(2) 系統調用結果的分析上的. 程序會分析文件是否為空,或者是否是某種特殊文件. 對于所有可在現有系統上使用的文件類型 (比如套接口文件,動態鏈接文件,命名管道文件(FIFOs) 等),只要它在系統頭文件 sys/stat.h 中已經定義過,就可以被檢查到.

幻數檢查用來檢查文件中是否有特殊的固定格式的數據. 規范的例子如二進制可執行文件(編譯后的程序) a.out ,該文件格式在標準include目錄下的 a.out.h 文件中定義,也可能在 exec.h 中定義. 這些文件在文件開始部分附近的一個特殊位置保存有一個'幻數' , 通過幻數告訴UNIX 操作系統此文件是二進制可執行文件, 和其中包含的其它類型. 幻數的概念已經擴展到數據文件.任何在文件固定位置有與文件類型相關的不變標識符的文件都可以這樣表示. 這些文件中的信息可以從幻數文件 /usr/share/magic 中讀取.

如果文件為 ASCII 文件, file 會試圖檢查它的語言. 語言檢查在文件開始的幾個塊中(任意位置)查找是否有特殊字符串(參看 names.h) .br 指出此文件很可能是 troff(1) 輸入文件, 而關鍵字 struct 指出此文件是C程序. 語言檢查不如前兩組檢查可靠,所以放在最后執行.它也用來檢查一些混合文件(例如 tar(1) 存檔文件)并確定文件是`ascii text'類型還是`data'類型.  

選項

-b
不輸出文件名 (簡要模式).
-c
檢查時打印輸出幻數文件的解析結果.常與 -m 一起使用,用來在安裝幻數文件之前調試它.
-f 命名文件
從在參數表前的 命名文件 中讀出將要檢查的文件名(每行一個文件).要有 命名文件 ,或者至少有一個文件名參數; 如果要檢查標準輸入, 使用``-''作為文件參數.
-m list
指定包含幻數的文件列表.可以是單個文件,也可以是用冒號分開的多個文件.
-n
每檢查完一個文件就強制刷新標準輸出. 僅在檢查一組文件時才有效. 一般在將文件類型輸出到管道時才采用此選項.
-v
打印程序版本并退出.
-z
試圖查看壓縮文件內部信息.
-L
(在支持符號鏈接的系統上)選項顯示符號鏈接文件的原文件, 就像 ls(1) 命令的like-named 選項.
-s
通常, file 只是試圖去檢查在文件列表中那些 stat(2) 報告為正常文件的文件的類型.由于讀特殊文件將可能導致不可知后果,所以這樣可以防止發生問題.使用 -s 選項時 file 命令也將去讀文件列表中的塊特殊文件和字符特殊文件. 一般用于從原始磁盤分區中獲得文件系統類型,此文件為塊特殊文件. 這個選項也導致 file 命令忽略 stat(2) 報告的文件大小,因為在有些系統中原始磁盤分區的大小報告為0.
 

文件

/usr/share/magic - 默認的幻數列表  

ENVIRONMENT

環境變量 MAGIC 用于設置默認的幻數文件.  

參看

magic(4) - 幻數文件的格式.
strings(1), od(1), hexdump(1) - 檢查非textfile的工具.  

標準的一致性

本程序比System V 的FILE命令強大, 幾乎能分辨出所有的模糊語言. 與System V 的FILE命令大部分兼容.本版本能識別更多的magic, 但是,也將因此在有些情況下會產生不同輸出(盡管更加精確).

本版本與System V的顯著區別就是本版本對空格是作為分隔符來處理的, 所以不能在格式字符串中包含空格. 例如,現有幻數文件中的
>10    string  language impress        (imPRESS data)

要改為
>10    string  language\ impress       (imPRESS data)

另外, 格式字符串中的反斜線符號也要避免.例如,現有幻數文件中的
0      string          \begindata      Andrew Toolkit document

要改為
0      string          \\begindata     Andrew Toolkit document

SunOS releases 3.2及以后的版本包括從System V 發展來的 file(1) 命令,但有所擴展.本版本與Sun的file命令差別不大.它包括對 `&' 操作符的擴展,例如,
>16    long&0x7fffffff >0              not stripped
 

MAGIC DIRECTORY

幻數文件項主要是從USENET收集來的,許多人都為此作出了貢獻. Christos Zoulas (下邊將提到的)將收集附加項信息及修正幻數文件項. 幻數文件項的合并表將會定時發布.

幻數文件項的順序非常重要.不同的系統上的幻數項放的順序可能不同. 如果老的 file 命令使用幻數文件,請將舊的幻數文件改名保存, (如改為 /usr/share/magic.orig) 以便日后做比較用.  

舉例

$ file file.c file /dev/hda
            file.c:   C program text
            file:     ELF 32-bit LSB executable, Intel 80386, version 1,
            dynamically linked, not stripped
            /dev/hda: block special
            $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}
            /dev/hda:   x86 boot sector
            /dev/hda1:  Linux/i386 ext2 filesystem
            /dev/hda2:  x86 boot sector
            /dev/hda3:  x86 boot sector, extended partition table
            /dev/hda4:  Linux/i386 ext2 filesystem
            /dev/hda5:  Linux/i386 swap file
            /dev/hda6:  Linux/i386 swap file
            /dev/hda7:  Linux/i386 swap file
            /dev/hda8:  Linux/i386 swap file
            /dev/hda9:  empty
            /dev/hda10: empty
            
 

歷史

There has been a file 命令至少是從研究版本6(手冊頁時間為1975年1月)開始加入UNIX中的. System V 版本引入了一個重要變化:幻數類型的外部表.程序的運行時間有輕微下降, 但是復雜性大大增加了.

本程序是基于System V 版本的,由Ian Darwin獨立設計和編寫.

John Gilmore對源代碼做了較大修改,在第一版基礎上有較大提高. Geoff Collyer發現了一些不足之處,并提供了一些幻數文件項. 本程序一直在完善中.  

作者

由Ian F. Darwin寫源碼, UUCP 地址 {utzoo | ihnp4}!darwin!ian, 電子郵件 ian@sq.com, 郵寄地址: P.O. Box 603, Station F, Toronto, Ontario, CANADA M4Y 2L8.

由Rob McMahon修改, cudcv@warwick.ac.uk, 1989, 并對`&'操作符進行了擴充(不再僅僅是簡單的 `x&y != 0',而是象`x&y op z'這樣).

由Guy Harris修改, guy@netapp.com, 1993,完成:

恢復``old-style'' `&' 操作符為原來的功能,因為 1) Rob McMahon所做的修改打破了原來的使用方式, 2) 本版本的 file 命令支持的SunOS 的``new-style'' `&' 操作符也處理 `x&y op z', 3) Rob的修改對某些情況沒有考慮到;

引入多級`>';

引入``beshort'', ``leshort'', 等關鍵字使得程序能夠按照一定的比特順序查看文件中的比特數,而不是僅按運行 file 時的本地比特順序查看.

由Ian Darwin和其他作者(包括Christos Zoulas(christos@astron.com))修改, 1990-1999.  

合法性通告

版權所屬 (c) Ian F. Darwin, Toronto, Canada, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993.

本軟件獨立于美國電話電報公司,Sun微系統公司,Digital設備公司, Lotus發展公司 , California大學董事會,X聯盟或者MIT,或者自由軟件基金會.

本軟件獨立于美國商業部的任何出口規定,可以自由用于任何國家和行星.

任何人無需授權即可在任何計算機系統上使用此軟件用于任何目的,可以自由修改和發布,但要遵守以下限制:

1. 作者對使用此軟件造成的任何后果不負任何責任,無論多么嚴重,即使這些后果是由于軟件造成的.

2. 禁止不如實說明本軟件的來源,無論是明確說錯或是忽略. 由于很少有用戶讀源碼, 所以在文件中一定要說明軟件來源.

3. 修改后的版本必須明白的標明,禁止將其作為原始軟件.由于很少有用戶讀源碼, 所以在文件中一定要說明軟件來源.

4. 禁止刪除或修改本通告.

隨同本包發布的幾個支持文件(getopt, strtok)由 Henry Spencer完成,同樣適用以上條款.

隨同本包發布的幾個支持文件(strtol, strchr)屬于公共域的;都做了標記.

文件 tar.h 和 is_tar.c 由 tar 程序組的John Gilmore完成,無需遵從以上條款.  

臭蟲

必定存在一種更好的方法來根據Magdir中的glop來自動創建Magic 文件.是什么方法呢?要更好的實現,那么幻數文件應該編譯成二進制 (就是說, ndbm(3) 或者, 在異種網絡環境中采用定長的 ASCII 字符串)來加快啟動速度.這樣,程序就能達到Version 7 中的 file命令那樣的運行速度,同時又具有System V 版本的靈活性.

File 使用的一些算法雖然提高了速度,但精確性降低了,因此在對 ASCII 文件內容操作有時會出錯.

對 ASCII 文件的支持(基本上是對編程語言)過于簡單,效率較低,需要重新編譯并更新.

在一系列連續行后應該跟著有一個``else''從句.

幻數文件和關鍵詞應該有正則表達式的支持. 使用 ASCII TAB 作為分隔符非常不足取,導致很難編輯文件, 但也因此受到保護.

在關鍵詞中使用大寫字母是可取的. 例如, troff(1) 命令與查看手冊頁的宏. 正則表達式支持將使這易于實現.

本程序沒有實現對 FORTRAN 的理解. 應該能夠通過在開始行中出現的關鍵字識別出FORTRAN . 正則表達式支持將使這易于實現.

文件 ascmagic 中的關鍵詞表可能應歸入Magic文件. 這能通過使用象`*'這樣的關鍵詞來實現偏移量.

另一個優化是要對幻數文件排序,這樣,我們就可以在取得第一個比特,第一個詞,第一個長整型,等等的時候完成對它們所有的檢查.抱怨在幻數文件項中的沖突.制定一條規則,將幻數項在文件偏移量的基礎上排序,勝過在幻數文件里指定位置嗎?

本程序應提供一種方法來評價一種猜測有"多么好". 我們去除了一些先前的設想(如,將 ``From '' 作為文件的最初5個字符) 因為它們不如其它的設想好(如,``Newsgroups:'' 對"Return-Path:"). 如果沒有其它的設想提出,就很可能會采納第一種設想.

本程序比某些file命令執行速度慢.

本手冊,特別是本部分,比較長.  

可用性

可以通過匿名FTP登陸到 ftp.astron.com 在目錄下 /pub/file/file-X.YY.tar.gz 獲得作者的命令的最新版本 (http://www.fanqiang.com)     進入【UNIX論壇
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久青青草原一区二区| 欧美成人官网二区| 免费成人黄色| 久久久久久9| 久久久av毛片精品| 午夜欧美不卡精品aaaaa| 亚洲影院色无极综合| 欧美一级欧美一级在线播放| 欧美在线视频免费观看| 久久久综合网| 亚洲高清不卡av| 久久夜色精品国产噜噜av| 久久国产一区二区| 欧美www视频| 日韩午夜av电影| 亚洲欧美成人| 美女久久一区| 欧美性开放视频| 国产亚洲免费的视频看| 尤物yw午夜国产精品视频| 午夜日韩视频| 欧美激情综合色| 国产精品青草久久| 在线观看91久久久久久| 免费在线观看一区二区| 欧美激情国产日韩| 国产美女高潮久久白浆| 亚洲国产午夜| 午夜精彩国产免费不卡不顿大片| 久久精品免费电影| 亚洲国产婷婷香蕉久久久久久99| 99精品国产在热久久| 欧美亚洲专区| 欧美日韩伦理在线免费| 一区在线电影| 午夜天堂精品久久久久| 国产精品久久久久国产精品日日| 亚洲国产高清一区| 欧美一区2区三区4区公司二百| 欧美大片va欧美在线播放| 99国产精品| 欧美激情欧美激情在线五月| 国产一区在线播放| 亚洲欧美精品中文字幕在线| 亚洲电影观看| 久久天天狠狠| 国产一区视频在线看| 亚洲一区二区三区四区在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 中文在线资源观看网站视频免费不卡 | 亚洲欧美视频一区二区三区| 欧美成人四级电影| 国产一区自拍视频| 久久久久久噜噜噜久久久精品| 在线亚洲美日韩| 欧美日韩福利| 中文一区字幕| 亚洲精品日韩在线| 欧美激情精品久久久久| 亚洲精品一区二区在线观看| 欧美成人精品一区二区| 久久久www成人免费毛片麻豆| 国产欧美一区二区三区在线看蜜臀| 亚洲欧美变态国产另类| 亚洲一区999| 欧美日韩麻豆| 亚洲一卡久久| 一区二区三区高清不卡| 欧美日韩在线免费观看| 亚洲一区二区av电影| 一区二区三区高清不卡| 国产精品国产一区二区| 性娇小13――14欧美| 欧美亚洲在线| 亚洲国产精品传媒在线观看| 亚洲国产91精品在线观看| 老司机午夜免费精品视频 | 国产精品mv在线观看| 亚洲素人一区二区| 久久伊人精品天天| 99re6这里只有精品| 99精品热视频| 国产亚洲一级高清| 久久综合网色—综合色88| 久久综合给合久久狠狠色| 亚洲七七久久综合桃花剧情介绍| 亚洲人体大胆视频| 国产精品亚洲产品| 欧美xart系列高清| 欧美三级视频在线| 欧美制服丝袜第一页| 久久久999精品免费| 亚洲精品一区二区三区不| 亚洲少妇诱惑| 一区二区三区在线高清| 91久久精品一区二区三区| 欧美日韩国产精品自在自线| 欧美一区二区高清| 免播放器亚洲一区| 性8sex亚洲区入口| 欧美国产视频一区二区| 欧美在线免费观看视频| 欧美激情视频免费观看| 欧美专区在线观看一区| 欧美激情国产日韩| 裸体一区二区三区| 国产精品成人免费精品自在线观看| 久久免费少妇高潮久久精品99| 欧美日本在线播放| 欧美1区2区视频| 国产精品区一区| 亚洲激情黄色| 亚洲国产成人在线| 香蕉亚洲视频| 亚洲一区二区影院| 欧美日本二区| 亚洲国产成人精品久久久国产成人一区 | 99国产精品99久久久久久| 国产在线视频不卡二| 亚洲乱码国产乱码精品精天堂 | 久久精品国产精品亚洲| 欧美日韩dvd在线观看| 久久夜色精品国产| 国产午夜亚洲精品理论片色戒| 亚洲精品一区二区三区樱花| 在线观看91精品国产入口| 久久大香伊蕉在人线观看热2| 一本不卡影院| 欧美久久久久久久久久| 亚洲欧美中文在线视频| 午夜老司机精品| 国产精品久久久久久久久久三级 | 99视频在线观看一区三区| 老司机午夜精品视频在线观看| 久久一区中文字幕| 好看的日韩视频| 久久国产精彩视频| 六月天综合网| 久久免费黄色| 亚洲电影免费观看高清完整版在线观看 | 久久狠狠一本精品综合网| 欧美亚洲免费电影| 国产美女高潮久久白浆| 亚洲一区二区三区欧美| 亚洲一区二区欧美日韩| 国产精品女主播| 亚洲永久免费观看| 久久精品国产欧美亚洲人人爽| 国产日韩精品在线观看| 欧美亚洲综合在线| 蜜臀久久99精品久久久画质超高清| 精品成人一区| 老牛国产精品一区的观看方式| 乱人伦精品视频在线观看| 激情五月综合色婷婷一区二区| 久久久噜噜噜久久狠狠50岁| 欧美黑人国产人伦爽爽爽| 亚洲国产视频直播| 国产精品国产精品| 欧美一区二区精品久久911| 免费短视频成人日韩| 亚洲一本视频| 久久综合狠狠综合久久激情| 亚洲精品视频免费在线观看| 欧美日韩国产限制| 亚洲理论在线观看| 国产精品一区二区久久国产| 欧美综合77777色婷婷| 欧美激情精品久久久久久| 亚洲天堂激情| 激情久久综合| 欧美激情一区二区三级高清视频| 亚洲精品乱码久久久久久蜜桃91| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 亚洲午夜在线视频| 国语自产精品视频在线看一大j8| 欧美1级日本1级| 欧美亚洲在线播放| 亚洲精品美女| 老色鬼久久亚洲一区二区| 99热精品在线观看| 国产午夜精品在线| 欧美成人精品h版在线观看| 亚洲神马久久| 亚洲国产小视频| 久久人人爽人人| 亚洲制服少妇| 亚洲精品韩国| 一区二区三区在线观看欧美| 欧美午夜精品久久久久免费视 | 欧美午夜剧场| 欧美va亚洲va国产综合| 亚洲在线中文字幕| 亚洲美女电影在线| 欧美成人午夜| 久久久久国产免费免费| 亚洲砖区区免费| 久久久水蜜桃av免费网站| 亚洲一区二区四区| 亚洲另类黄色|