欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux命令file的案例說明

Linux愛好者 ? 來源:C語(yǔ)言中文網(wǎng) ? 作者:C語(yǔ)言中文網(wǎng) ? 2020-12-24 11:41 ? 次閱讀

有人的地方,就有江湖。人往往是最難揣摩的。如果有一面神奇的魔鏡能看出一個(gè)人的內(nèi)心,世界會(huì)不會(huì)變得更加美好呢?

Linux 的世界里,file 就是這樣一面魔鏡,它可以看到每個(gè)文件的內(nèi)心。file 命令可以識(shí)別出文件的類型和編碼格式,這是其他命令所做不到的。

查看文件類型

開門見山,我們直接用 file 這面魔鏡來看看文件的“內(nèi)心”。

#不加任何選項(xiàng), 直接查看poetry文件[roc@roclinux ~]$ file poetry.txtpoetry.txt: ASCII text

使用不帶任何選項(xiàng)的 file 命令,即可查看指定文件的類型信息。

在上面的例子中可以看出 poetry.txt 的文件類型為 text,編碼格式為 ASCII。

#使用-b選項(xiàng)來查看poetry文件[roc@roclinux ~]$ file -b poetry.txtASCII text

上面的例子中,我們使用了-b選項(xiàng),可以使 file 命令的輸出不出現(xiàn)文件名,只顯示文件格式以及編碼。

#使用-i選項(xiàng)來查看poetry文件[roc@roclinux ~]$ file -i poetry.txtpoetry.txt: text/plain; charset=us-ascii

上面的例子中,我們使用了-i選項(xiàng),可以輸出文件的 MIME 類型字符串。

小科普,MIME 類型,即 Multipurpose Internet Mail Extensions,稱為多用途互聯(lián)網(wǎng)郵件擴(kuò)展類型,用來標(biāo)識(shí)和記錄文件的打開方式,一些常見的類型包括:

text/plain:普通文本。

text/html:HTML文本。

application/pdf:PDF文檔。

application/msword:Word文檔。

image/png:PNG圖片。

mage/jpeg:JPEG圖片。

application/x-tar:TAR文件。

application/x-gzip:GZIP文件。

設(shè)置輸出分隔符

從上面的例子可以看出,file 命令的輸出格式是:

文件名:文件類型和編碼格式

如果希望將中間的分隔符由冒號(hào)(:)改成其他符號(hào),則可以使用-F選項(xiàng)來實(shí)現(xiàn)。

[roc@roclinux ~]$ file poetry.txtpoetry.txt: ASCII text [roc@roclinux ~]$ file -F “=》” poetry.txtpoetry.txt=》 ASCII text

有些同學(xué)會(huì)問,這樣的功能有何意義呢?在一些自動(dòng)化文件分析的腳本中,開發(fā)者為了避免分隔符和普通字符重復(fù)而造成誤解析的情況,通常是會(huì)手工調(diào)整間隔符的。

查看軟鏈接文件

file 命令能查看所有文件的類型信息,那么問題來了,對(duì)于一個(gè)軟鏈接文件,file 命令是返回軟鏈接文件本身的類型信息,還是返回軟鏈接所指向的目標(biāo)文件的類型信息呢?讓我們通過試驗(yàn)得出結(jié)論吧:

#新建一個(gè)軟鏈接文件[roc@roclinux ~]$ ln -s poetry.txt poetry_s.txt #通過file命令查看軟鏈接文件[roc@roclinux ~]$ file poetry_s.txtpoetry_s.txt: symbolic link to `poetry.txt‘ #使用-L選項(xiàng)來查看軟鏈接文件[roc@roclinux ~]$ file -L poetry_s.txtpoetry_s.txt: ASCII text

試驗(yàn)是找到真相的最好方法。通過上面的示例,我們已經(jīng)很清楚地看到了:

如果通過 file 命令直接查看軟鏈接文件,則查看的就是軟鏈接文件本身的信息。

如果使用-L選項(xiàng)來查看軟鏈接文件,則查看的是軟鏈接指向的目標(biāo)文件的信息。

按照清單去工作

如果我們需要用 file 命令查看大量文件的類型信息,恰好這些文件的名稱都被存儲(chǔ)在了一個(gè)文本文件中,那么-f選項(xiàng)就派上用場(chǎng)了。

我們可以通過-f選項(xiàng)來指定這個(gè)文本文件,file 命令就會(huì)乖乖地去逐個(gè)查看每一個(gè)文件的類型信息,示例如下:

#文件中含有三個(gè)待查文件, 我們故意設(shè)置了一個(gè)不存在的文件, 位于最后一個(gè)[roc@roclinux ~]$ cat poetry_list.txt/root/book/poetry.txt /root/book/poetry_s.txt Nothing.txt #使用-f選項(xiàng)執(zhí)行file命令[roc@roclinux ~]$ file -f poetry_list.txt/root/book/poetry.txt: ASCII text/root/book/poetry_s.txt: symbolic link to `poetry.txt’Nothing.txt: ERROR: cannot open `Nothing.txt ‘ (No such file or directory)在上面的例子中,poetry_list.txt 包含了 3 行內(nèi)容:

poetry.txt。

指向poetry.txt的軟鏈接poetry_s.txt。

Nothing.txt,一個(gè)明顯不存在的文件。

從結(jié)果可以看出,前兩個(gè)如期輸出了類型信息,最后一個(gè)也如期報(bào)了錯(cuò)誤。

-z 選項(xiàng),想說愛你不容易

一次偶然的機(jī)會(huì),我在 man file 中發(fā)現(xiàn)了-z選項(xiàng),原文解釋是“Try to look inside compressed files”,看來 file 還可以查看壓縮文件內(nèi)部的文件。

那為什么要用“Try to”這樣的字樣呢,為了弄明白這個(gè)細(xì)節(jié),于是,我的試驗(yàn)開始了。

第一輪試驗(yàn)開始,我們先來試驗(yàn)“一個(gè)未經(jīng)壓縮的 tar 包”:

#制作一個(gè)未經(jīng)壓縮的tar包[roc@roclinux ~]$ tar -cvf poetry.tar poetry.txt poetry_s.txtpoetry.txt poetry_s.txt #嘗試使用-z選項(xiàng)[roc@roclinux ~]$ file -z poetry.tarpoetry.tar: POSIX tar archive (GNU)

似乎并不盡如人意,file 只是看出 poetry.tar 是一個(gè) tar 包,并沒有深入到 tar 包內(nèi)部,第一輪試驗(yàn)宣告失敗。

馬上進(jìn)入第二輪試驗(yàn),我們看看一個(gè)經(jīng)過 gzip 壓縮過的 tar 包情況如何?

#制作一個(gè)tar.gz包[roc@roclinux ~]$ tar -czvf poetry.tar.gz poetry.txt poetry_s.txtpoetry.txtpoetry_s.txt #使用-z選項(xiàng)查看[roc@roclinux ~]$ file -z poetry.tar.gzpoetry.tar.gz: POSIX tar archive (GNU) (gzip compressed data, from Unix, last modified: Tue Mar 1 17:43:59 2016)輸出的信息稍微豐富了一些,但還是停留在 tar 包的文件類型的層面,仍然沒有窺探到里面的 poetry.txt 和 poetry_s.txt 文件。第二輪試驗(yàn)也宣告失敗。 那 bzip2 壓縮的 tar 包是否 OK 呢?我們又趕快進(jìn)入了第三輪試驗(yàn)。

#制作一個(gè).tar.bz2文件[roc@roclinux ~]$ tar -cjvf poetry.tar.bz2 poetry.txt poetry_s.txtpoetry.txtpoetry_s.txt #使用-z選項(xiàng)查看[roc@roclinux ~]$ file -z poetry.tar.bz2poetry.tar.bz2: POSIX tar archive (GNU) (bzip2 compressed data, block size = 900k)

如你所見,第三輪試驗(yàn)仍然是失敗的。我已經(jīng)開始懷疑人生了。信念讓我堅(jiān)持,不能服輸。哈哈,就這樣,我們?cè)俅翁ど险鞒?。我懷疑file只能窺探到單個(gè)文件壓縮的情況,于是,第四輪試驗(yàn)開始了。

#制作一個(gè)只包含1個(gè)文件的bz2文件[roc@roclinux ~]$ bzip2 -c poetry.txt 》 poetry.bz2 #使用-z選項(xiàng)查看[roc@roclinux ~]$ file -z poetry.bz2poetry.bz2: ASCII text (bzip2 compressed data, block size = 900k)

結(jié)果依然讓我失望,這到底是要鬧哪樣啊?到了這步田地,也就剩下單個(gè) gzip 壓縮文件的情況沒有嘗試了,我再碰碰運(yùn)氣吧,如果-z選項(xiàng)還是不能如愿地顯示壓縮文件包含文件的類型信息,我就打算給 file 的作者寫郵件投訴了。

于是,第五輪試驗(yàn)開始了。

#制作一個(gè)僅包含1個(gè)文件的gz文件[roc@roclinux ~]$ gzip -c poetry.txt 》 poetry.gz #嘗試用-z選項(xiàng)查看, 竟然查出結(jié)果了, 看到了ASCII text字樣[roc@roclinux ~]$ file -z poetry.gzpoetry.gz: ASCII text (gzip compressed data, was “poetry.txt”, from Unix, last modified: Tue Mar 1 19:01:22 2016) #再試試沒有-z選項(xiàng)的情況, 確實(shí)沒有探測(cè)出ASCII text類型[roc@roclinux ~]$ file poetry.gzpoetry.gz: gzip compressed data, was “poetry.txt”, from Unix, last modified: Tue Mar 1 19:01:22 2016

終于,終于,我們終于成功了,我們通過試驗(yàn)找到了答案。

直到這步我們才知道,man 中 -z 選項(xiàng)的解釋雖然是“Try to look inside compressed files”,但其實(shí)只支持對(duì) gzip 包內(nèi)部文件的窺探,而對(duì)于 tar、tar.gz、tar.bz2 和 bz2 包全部都不支持。

大膽猜測(cè),file 的作者可能是迫于開發(fā)時(shí)間的壓力,僅僅支持了 gzip 的情況,但是又不希望未來僅支持這一種壓縮類型,因此寫上“Try to”,為日后的擴(kuò)展留下了可能性。

原文標(biāo)題:每天一個(gè) Linux 命令(62):file 命令

文章出處:【微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11352

    瀏覽量

    210528
  • File
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    14388

原文標(biāo)題:每天一個(gè) Linux 命令(62):file 命令

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    常用linux命令

    使用command A | command B | command C命令,將A命令產(chǎn)生的標(biāo)準(zhǔn)輸出作為B命令的標(biāo)準(zhǔn)輸入(注意只能接收前一個(gè)命令的標(biāo)準(zhǔn)輸出)。
    的頭像 發(fā)表于 01-20 14:26 ?134次閱讀

    Linux實(shí)時(shí)查看日志的四種命令詳解

    如何在Linux中實(shí)時(shí)查看日志文件的內(nèi)容?那么有很多實(shí)用程序可以幫助用戶在文件更改或不斷更新時(shí)輸出文件的內(nèi)容。在Linux中實(shí)時(shí)顯示文件內(nèi)容的常用命令是tail命令(有效地管理文件)。
    的頭像 發(fā)表于 01-13 10:45 ?452次閱讀
    <b class='flag-5'>Linux</b>實(shí)時(shí)查看日志的四種<b class='flag-5'>命令</b>詳解

    詳解Linux sort命令之掌握排序技巧與實(shí)用案例

    linux系統(tǒng)使用過程中,提供了sort排序命令,支持常用的排序功能。 常用參數(shù) sort命令支持很多參數(shù),常用參數(shù)如下: ? 短參數(shù) 長(zhǎng)參數(shù) 說明 -n – number-sort
    的頭像 發(fā)表于 01-09 10:10 ?252次閱讀

    Linux grep命令詳解

    Linux grep命令是一種非常常用的文本搜索工具,它可以在給定的文件中搜索匹配的字符串,并輸出匹配的行。grep是全稱“global search regular expression print”,可以識(shí)別正則表達(dá)式,并使用正則表達(dá)式進(jìn)行搜索。
    的頭像 發(fā)表于 12-25 09:39 ?278次閱讀

    盤點(diǎn)Linux系統(tǒng)中的常見命令

    作為運(yùn)維同學(xué)怎能不知道Linux系統(tǒng)中的lsmod、lsof、lspci、lsscsi命令呢,今天就來盤一盤她及實(shí)例。
    的頭像 發(fā)表于 12-03 09:48 ?380次閱讀
    盤點(diǎn)<b class='flag-5'>Linux</b>系統(tǒng)中的常見<b class='flag-5'>命令</b>

    Linux常用命令

    remove nplay 復(fù)制、剪切、刪除 復(fù)制: cp file1 file2 遞歸復(fù)制: cp -r dir/* dir/ 剪切: mv file path 刪除: rm -rf fil
    的頭像 發(fā)表于 11-06 16:04 ?179次閱讀
    <b class='flag-5'>Linux</b>常用<b class='flag-5'>命令</b>

    Linux系統(tǒng)中shell命令解析

    shell是Linux系統(tǒng)的用戶界面,提供了用戶與內(nèi)核交互的一種接口,它接收用戶輸入的命令并到送到內(nèi)核去執(zhí)行,因此也被稱為Linux命令解釋器。
    的頭像 發(fā)表于 11-05 15:40 ?385次閱讀

    Linux實(shí)用命令大全

    Linux實(shí)用命令大全
    的頭像 發(fā)表于 10-23 13:50 ?314次閱讀
    <b class='flag-5'>Linux</b>實(shí)用<b class='flag-5'>命令</b>大全

    Linux lsof命令的基本用法

    linux 系統(tǒng)中,一切皆文件。通過文件不僅僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件。所以 lsof 命令不僅可以查看進(jìn)程打開的文件、目錄,還可以查看進(jìn)程監(jiān)聽的端口等 socket 相關(guān)的信息。本文將介紹 lsof 命令
    的頭像 發(fā)表于 10-23 11:52 ?454次閱讀
    <b class='flag-5'>Linux</b> lsof<b class='flag-5'>命令</b>的基本用法

    Linux開發(fā)怎么學(xué)?

    file.txt 文件的權(quán)限為 755 chmod 755 file.txt 4.學(xué)習(xí) Shell 編程: Shell 是 Linux 操作系統(tǒng)的命令行解釋器,它提供了豐富的編程接
    發(fā)表于 10-10 14:34

    CC256x與HCI命令應(yīng)用說明

    電子發(fā)燒友網(wǎng)站提供《CC256x與HCI命令應(yīng)用說明.pdf》資料免費(fèi)下載
    發(fā)表于 09-11 09:37 ?0次下載
    CC256x與HCI<b class='flag-5'>命令</b>應(yīng)用<b class='flag-5'>說明</b>

    Linux中cut命令的實(shí)用示例

    Linux command cut 用于文本處理。您可以使用此命令通過選擇列從文件中提取部分文本。
    的頭像 發(fā)表于 08-05 15:14 ?379次閱讀

    Linux的col命令介紹

    RLF)后輸出到標(biāo)準(zhǔn)輸出。還可以將空白符用等價(jià)制表符(Tab)或空格(Space)來替換。 在許多 Linux 說明文件里,包含控制字符。當(dāng)我們運(yùn)用 Shell 特殊字符 > 和 &
    發(fā)表于 04-08 06:34

    util-linux修復(fù)WallEscape漏洞,影響Linux系統(tǒng)wall命令使用

    WallEscape 主要影響“wall”命令操作,Linux 系統(tǒng)中的常規(guī)下,該指令被用作向系統(tǒng)所有登錄用戶的終端發(fā)布消息。然而在處理命令行參數(shù)輸入時(shí),過濾器未正確識(shí)別和過濾轉(zhuǎn)義序列
    的頭像 發(fā)表于 03-29 14:35 ?1042次閱讀

    linux命令概述

    電子發(fā)燒友網(wǎng)站提供《linux命令概述.pdf》資料免費(fèi)下載
    發(fā)表于 03-11 09:18 ?3次下載