1. 程式人生 > >從零開始的linux 第六章

從零開始的linux 第六章

file查看文件類型 獲取命令的使用幫助whatis help 查看命令類型 type

從零開始的linux 第六章


宇宙浩瀚,無邊無界,地球也不過是太陽系八大行星之一,作為無數行星中的一枚,地球實在算不上特別....但...小編的博客,絕~對~特~別~~

技術分享

(↑看過小編博客的同學回答)

好啦~~這周小編就不廢話了,直接進入正題吧~~

上周小編講了設置和取消別名 alias ualias ,使別名永久生效的配置文件 /etc/bashrc 以及 ~/.bashrc 查看當前所在的路徑 pwd ,文本編譯器 nano.小編這裏就不做過多的演示啦,已經忘記的同學可以回顧一下第五章的內容~~

小編接下來就直接開始說這周的內容,這周的內容可能會有些雜亂...

技術分享

(吐槽:你每次講的都很亂!)

額...好吧~不要在意這些細節,雖然亂,但是小編自認為是講的很清楚的技術分享

好啦,正題開始:小編在前面說了很多關於文件類型的,其實,之前的查看只是一個大概,對於有些文件,開頭雖然是“-”但實際上用 ls 查看時,顏色卻顯示的是綠色。

技術分享

比如小編上面這張圖,此時,用前面小編說的方法就不太精準了,因為小編前面所介紹的,是文件系統可分為的類型,而這其中,以“-”開頭(註意!小編說的以“-”開頭,說的是用 ls -l 查看文件時,文件權限位前面的字符)的文件又有許多類型。那,查看這些類型的文件需要用什麽方法呢?這就需要小編接下來要介紹的命令:

file:查看文件類型(註:該命令可查看任何文件包括目錄的類型)

小編現在試著查看一下上面那個文件的類型

技術分享

file 命令後面跟上所要查看的文件,即可查看該文件的類型~~什麽??你說看不懂??沒關系,小編也看不懂~~(害羞)嗯,這個時候,我們就需要用谷歌或者百度翻譯~~總之,我們只需要知道 /usr/bin 目錄下的 ls 這個文件,就是我們經常使用的命令就行啦~

file 命令比較簡單,但是也有些選項:

file -b :文件類型輸出時不顯示文件名(無實用)

技術分享

與之輸入 file 命令的區別就是,在顯示文件類型時候,前面的文件名不顯示了

file -L :若查看的文件時軟鏈接,則直接查看軟鏈接所對應的文件

這句話什麽意思呢?小編先隨便去找一個軟鏈接文件

技術分享

所謂軟鏈接,就是一個文件指向另一個文件。關於軟鏈接的具體描述,小編以後再慢慢地跟同學們詳談~~~現在小編直接用 file 來查看這個文件

技術分享

嗯,這次顯示的內容就短了,內容清晰了~~~這裏所顯示的內容,大概是"該符號鏈接鏈接到soelim"文件,意思就是這是一個符號鏈接(也稱作為軟鏈接),該鏈接鏈接到 soelim 文件。

(敲黑板)註意,註意!鏈接文件後面顯示的是一個文件的完整路徑,而小編找的這個軟鏈接所鏈接的文件剛好和這個軟鏈接在同一個目錄下,所以只有一個文件名稱。

下面,小編用 file -L 來查看一下

技術分享

這次顯示的就基本和上面的一樣了~~因為 /usr/bin 目錄下所放置的文件都是所有用戶都能使用的命令,所以在這個目錄下查看文件類型時,所顯示內容的基本相同~


那麽,關於 file 命令,小編就介紹到這裏,該命令還有許多選項,但是基本是用不到的,所以小編就不做過多的介紹了~~那麽有興趣想研究其他選項的同學,可以使用命令幫助來查看命令的功能及其描述。如何查看命令的使用幫助,小編接下來會跟同學們詳細講解(哇~~小編終於成功的扯到這上面了,哼哼~~完美的銜接上下文~~)


我們現在所使用的每一條命令,都有它們的使用幫助,這些使用幫助裏包含命令的解釋(描述),命令的選項,每個選項的作用,作者信息,等等....

我們如何獲取這些使用幫助呢?

(敲黑板!)註意了!!註意!!下面小編講的很重要!超級重要!!

whatis:顯示命令的簡要說明,也可顯示命令幫助文檔的章節

這個命令的前半部分相信就不需要小編解釋了,而後面“顯示命令幫助文檔的章節”這個具體是什麽,等小編講完同學們就會明白啦~~

技術分享

使用格式 whatis 後面直接跟上想查看的命令即可。顯示出來的 whatis 對 ls 命令的解釋為“列出目錄的內容”。ls 命令經過我們的實際驗證,確實是列出目錄的內容,但 whatis 命令是如何查找這些命令的描述的呢??小編現在先去刪除一個文件,再來試一下用whatis命令

技術分享

what??居然查不出來了~~小編剛才刪除的文件是 /var/cache/man/ 目錄下的 index.db 文件,這個文件是 whatis 命令的數據庫文件(僅在Centos7中),whatis命令會將所有搜集到的命令的描述轉成二進制存放在 index.db 文件中。如何重建 whatis 命令的數據庫呢?


mandb:更新命令信息,將其存放在whatis數據庫中(Centos7中)

技術分享

技術分享

這是重建 whatis 數據庫時候小編截到的兩張圖,註意看最後一行,“Updating index cache for path`/usr/share/man/man3`”和第二張圖的 man5 ,這就是命令所對應的幫助文檔的章節,whatis所搜集的數據庫,實際上是查看這些幫助文檔,然後將每條命令的描述記錄下來,將這些命令的描述記錄下來之後,沒查看一條命令,whatis就會在其存放的數據庫中去查看。所以,使用 whatis 來查找一個命令並非實時性的,而此時,我們若新安裝了一個命令,whatis 命令的數據庫並不會跟著更新,而是需要我們手動去更新,否則使用 whatis 是查不到新安裝的命令的。而更新數據庫Centos7和Centos6中有些區別:

Centos6中 whatis 數據庫位置:/var/cache/man/whatis

手動更新其數據庫:makewhatis


Centos7中 whatis 數據庫位置:/var/cache/man/index.db

手動更新其數據庫:mandb

whatis這條命令需要更新數據庫,而每次更新都會去幫助文檔中一個一個的查,這過程需要消耗時間,並且,我們要獲取命令的幫助,不僅要獲取命令的描述,還要獲取命令如何使用,和其選項,功能等等,顯然,whatis命令是不能滿足我們的需求

我們在不知道如何使用命令時,想快速的獲取該命令的選項及其功能,此時,有些命令中會有自帶的長選項來幫我們快速的獲取幫助

--help

技術分享

命令後面跟上 --help 選項,就會出現該命令的使用幫助。小編再試一個~

技術分享

啊咧??居然沒有,不能獲取 pwd 命令的幫助麽?

對於有些命令來說, help 的使用是不一樣的,那究竟是哪些命令呢?


註意咯~~小編這裏要延伸一個內容:內部命令;外部命令

那,什麽是內部命令,什麽是外部命令呢??

嗯...這個就當成作業吧~~同學們私下了解一下內部命令和外部命令(吐槽:你果然是解釋不清楚吧!怎麽會有這樣的小編!)

技術分享

(↑小編此時的心情)


使用 help 來獲取命令的幫助,對於不同的命令來說,格式為:

COMMAND(命令) --help:外部命令獲取幫助

help - COMMAND:內部命令獲取幫助


那麽,使用 help 對於不同類型的命令,獲取命令幫助的方式不同,我們要如何識別這些命令是外部命令還是內部命令呢?

路人甲:“獲取幫助的時候兩種格式都試一下,第一個不行就用第二個~~”

小編怎麽會有這麽笨的學生技術分享...不過...好像並沒有錯技術分享...

技術分享

(↑氣憤的路人甲)

好啦好啦~~小編開個玩笑~~用路人甲的方法也是可以的~~但是,我們現在可是專業人士,嗯,專業人士,所以還是用專業一點的方法吧~~

type:查看命令類型

技術分享

type COMMAND 可以查看一個命令的類型,小編這裏用 type 查看 pwd 命令看到,pwd 是shell的內嵌命令。


小編這裏又涉及到一個內容~什麽是 shell 嗯...這個也當成作業吧~~(吐槽:別攔我,我要打死小編!!)嘛~~淡定淡定~~總要給同學們留點思考的空間嘛~~所謂shell內嵌命令,就是小編所說的內部命令,而使用內部命令獲取幫助的方法:

技術分享

成功獲取了 pwd 命令的幫助。

但是,用 help 命令只顯示命令的簡要幫助,有時候我們希望獲得更詳細的信息,比如,即想看命令的幫助,又想看命令的描述,怎麽辦呢?

路人丙:“先用 whatis 命令查看描述,再用 help 獲取幫助~~”

技術分享

(↑這次打人的是小編)

路人丙:“我也沒有說錯...為什麽打我...剛才你都沒打路人甲技術分享

沒辦法,誰叫人家路人甲是女生,而你是男生呢技術分享

技術分享

(↑路人乙用嘲諷的臉看著路人丙)“可憐的男人”


好啦~~至於如何獲取更加更加詳細的命令幫助~~小編就下期再跟大家講解吧~~

不要忘記小編留的作業!!兩個作業!!


(滑稽)那麽,又到了放松的時間~~就讓剛剛受過傷的路人丙給大家唱一首【男人花】吧

【男人花】

--被嘲諷後的路人丙

【當保護你的她】

【變成要你保護的她】

【...............】

【男人 也是一朵花~】

【也害怕風吹雨打~】

【.............】

本文出自 “13125850” 博客,請務必保留此出處http://13135850.blog.51cto.com/13125850/1957578

從零開始的linux 第六章