學(xué)會(huì)使用 Linux 命令

前面已經(jīng)介紹了不少 Linux 系統(tǒng)下的命令了蚤霞,但是命令這個(gè)概念還是比較模糊酗失,有時(shí)叫命令,有時(shí)又叫可執(zhí)行程序昧绣,有時(shí)叫軟件规肴,那到底有什么區(qū)別呢?還有許多命令還有復(fù)雜而神秘的命令行參數(shù)夜畴,加上參數(shù)后得到的結(jié)果和不加參數(shù)是不一樣的拖刃。今天我們就再進(jìn)一步學(xué)習(xí)一下命令,學(xué)會(huì)真正使用 Linux 命令贪绘。

今天要分享的內(nèi)容如下:

  • type:命令的簡(jiǎn)單說(shuō)明
  • which:顯示會(huì)執(zhí)行哪個(gè)可執(zhí)行程序
  • man:顯示命令手冊(cè)頁(yè)
  • apropos:顯示一系列適合的命令(等價(jià)于:man -k
  • info:顯示命令信息
  • whatis:顯示一個(gè)命令的簡(jiǎn)潔描述
  • alias:創(chuàng)建命令別名

1. 到底什么是命令

命令有一下四種形式:

  • 是一個(gè)可執(zhí)行程序兑牡,/usr/bin 目錄下存儲(chǔ)的文件就是可執(zhí)行程序。 這些可執(zhí)行程序都是不同編程語(yǔ)言開(kāi)發(fā)出來(lái)的税灌。
  • 是一個(gè)內(nèi)建于 shell 自身的命令均函。Ubuntu 18.04 默認(rèn)的 shell 是 Bash,Bash 有若干個(gè)內(nèi)建的命令菱涤,如:cd 命令苞也。
  • 配置在環(huán)境變量中的 shell 函數(shù),這里先不要管什么是 shell 函數(shù)粘秆,后面我們學(xué)習(xí) shell 編程的時(shí)候就會(huì)明白了如迟。
  • 由 alias 創(chuàng)建的命令別名,其實(shí)我們之前一直使用的 ls 就是這樣的一個(gè)命令攻走,在 Ubuntu 18.04 上殷勘,我們執(zhí)行 ls 命令,其實(shí)執(zhí)行的是:ls --color=auto陋气。

那我們使用一個(gè)命令的時(shí)候,到底是上述四種命令中的哪一類呢引润?我們可以使用 type 來(lái)查看巩趁,用法是:type command。下圖是一些例子:

20190325152139032_940614435.png

2. which

在 Linux 系統(tǒng)中,我們安裝的軟件有時(shí)不止一個(gè)版本议慰,可能安裝了好幾個(gè)版本蠢古,那我們要運(yùn)行這個(gè)軟件的時(shí)候到底執(zhí)行的是哪一個(gè)版本呢?這時(shí)候我們可以使用 which 命令來(lái)查看别凹,用法是:which command草讶,下圖是一些例子:

20190325152630432_1403065033.png

不知大家有沒(méi)有注意到,which cd 沒(méi)有任何輸出結(jié)果炉菲,在 Ubuntu 18.04 中堕战,如果 which 后面跟的不是一個(gè)可執(zhí)行程序,則不會(huì)返回任何信息拍霜。其實(shí) which 只對(duì)可執(zhí)行程序有效嘱丢,不包括內(nèi)建命令和命令別名,別名是真正的可執(zhí)行程序的替代物祠饺。 當(dāng)我們?cè)囍褂?shell 內(nèi)建命令時(shí)越驻,例如:cd ,就不會(huì)有任何返回道偷。

3. 獲取命令幫助文檔

知道了什么是命令缀旁,我們?cè)賮?lái)看看怎么查看命令的幫助文檔,也就相當(dāng)于說(shuō)明書(shū)啦勺鸦,我們不知道怎么使用一個(gè)命令的時(shí)候并巍,看看說(shuō)明書(shū)是很有必要的。

3.1. help

help 是用來(lái)得到 shell 內(nèi)建命令的幫助文檔祝旷,用法:help command履澳。例如:help cd

chaojun@ubuntu:~/file/code/alavening/ALD_A113X$ help cd
cd: cd [-L|[-P [-e]] [-@]] [dir]
    Change the shell working directory.

    Change the current directory to DIR.  The default DIR is the value of the
    HOME shell variable.

上面的內(nèi)容我刪除了一些,留下部分用來(lái)說(shuō)明問(wèn)題怀跛,[] 中的表示可選項(xiàng)距贷,這里我們先不討論 -L、-P吻谋、-e 的含義忠蝗;| 表示互斥,比如選擇了 -L 就不能在選擇 -P漓拾。雖然 cd 命令的幫助文檔很簡(jiǎn)潔準(zhǔn)確阁最,但它決不是教程。正如我們所看到的骇两,它似乎提到了許多 我們還沒(méi)有談?wù)摰降臇|西速种!不要擔(dān)心,我們會(huì)學(xué)到的低千。

3.2. --help

許多可執(zhí)行程序支持一個(gè) --help 選項(xiàng)配阵,這個(gè)選項(xiàng)是顯示命令所支持的語(yǔ)法和選項(xiàng)說(shuō)明。例如:

chaojun@ubuntu:~/file/code/alavening/ALD_A113X$ mkdir --help
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.

Mandatory arguments to long options are mandatory for short options too.
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask
  -p, --parents     no error if existing, make parent directories as needed
  -v, --verbose     print a message for each created directory
  -Z                   set SELinux security context of each created directory
                         to the default type
      --context[=CTX]  like -Z, or if CTX is specified then set the SELinux
                         or SMACK security context to CTX
      --help     display this help and exit
      --version  output version information and exit

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/mkdir>
or available locally via: info '(coreutils) mkdir invocation'
chaojun@ubuntu:~/file/code/alavening/ALD_A113X$ 

上面是 mkdir 命令的幫助信息,但并不是所有的命令都有 --help 幫助信息棋傍。

3.3. man 手冊(cè)

許多希望被命令行使用的可執(zhí)行程序救拉,提供了一個(gè)正式的文檔,叫做手冊(cè)或手冊(cè)(man page)瘫拣。一個(gè)特殊的叫做 man 的分頁(yè)程序亿絮,可用來(lái)瀏覽他們。用法:man program麸拄。

使用 man 手冊(cè)查看幫助信息的時(shí)候派昧,man 的輸出信息會(huì)被重定向到 less 這個(gè)軟件中,所以我們查看 man 手冊(cè)的時(shí)候如何上下翻頁(yè)使用的是 less 的快捷鍵感帅,如果你忘記了 less 的快捷鍵斗锭,建議回頭看看 一些對(duì)使用 Linux 系統(tǒng)有幫助的命令

man 所顯示的參考手冊(cè)失球,被分成幾個(gè)章節(jié)岖是,它們不僅僅包括用戶命令,也包括系統(tǒng)管理員命令实苞、程序接口豺撑、文件格式等等。下面是每個(gè)章節(jié)的具體含義:

  • 1:用戶命令
  • 2:程序接口內(nèi)核系統(tǒng)調(diào)用
  • 3:C 庫(kù)函數(shù)程序接口
  • 4:特殊文件黔牵,比如說(shuō)設(shè)備結(jié)點(diǎn)和驅(qū)動(dòng)程序
  • 5:文件格式
  • 6:游戲娛樂(lè)聪轿,如屏幕保護(hù)程序
  • 7:其他方面
  • 8:系統(tǒng)管理員命令

有時(shí)候,我們需要查看參考手冊(cè)的特定章節(jié)猾浦,從而找到我們需要的信息陆错。 比如我們要查找一種文件格式,而同時(shí)它也是一個(gè)命令名時(shí)金赦,這種情況尤其需要指定章節(jié)號(hào)音瓷。沒(méi)有指定章節(jié)號(hào),我們總是得到第一個(gè)匹配項(xiàng)夹抗,可能在第一章節(jié)绳慎。指定章節(jié)號(hào)的用法是:man [1-8] program

4. apropos

當(dāng)我們需要某種功能的命令或者可執(zhí)行程序的時(shí)候漠烧,我們不知道有什么命令或者程序或者函數(shù)可以滿足杏愤,這時(shí)候我們就可以使用 apropos 來(lái)模糊搜索匹配的命令或可執(zhí)行程序或者函數(shù),雖然很粗暴已脓,但有時(shí)還是很有用的珊楼。

比如,我們要知道和 TCP 相關(guān)的信息度液,我們就可以 apropos tcp厕宗,如下圖是返回結(jié)果:

20190325160332602_294594691.png

5. whatis

whatis 程序用來(lái)顯示匹配特定關(guān)鍵字的手冊(cè)頁(yè)的名字和一行命令說(shuō)明邓了,例如:whatis ls。man 手冊(cè)其實(shí)是很多而且晦澀難懂的媳瞪,所以有時(shí)候我們可以使用 whatis 命令查看一下某個(gè)命令的簡(jiǎn)單描述。

6. info

GNU 項(xiàng)目提供了一個(gè)命令程序手冊(cè)頁(yè)的替代物照宝,稱為 "info"蛇受。info 內(nèi)容可通過(guò) info 閱讀器程序讀取。info 頁(yè)是超級(jí)鏈接形式的厕鹃,和網(wǎng)頁(yè)很相似兢仰。下面是一個(gè)例子:

20190325161252469_849812512.png

看上去是不是很復(fù)雜,還要學(xué)習(xí)怎么使用 info 查看工具的快捷鍵剂碴,我看到就頭大了把将,我是不想去了解了,放后面吧忆矛,如果其他幫助信息都找不到說(shuō)明的時(shí)候再來(lái)看吧察蹲,當(dāng)然如果你感興趣可以先自己去找資料學(xué)習(xí)哦。

7. README 和其它程序文檔

許多安裝在你系統(tǒng)中的軟件催训,都有自己的文檔文件洽议,這些文件位于 /usr/share/doc 目錄下。 這些文件大多數(shù)是以文本文件的形式存儲(chǔ)的漫拭,可用 less 閱讀器來(lái)瀏覽亚兄。一些文件是 HTML 格式, 可用網(wǎng)頁(yè)瀏覽器來(lái)閱讀采驻。我們可能遇到許多以 ".gz" 結(jié)尾的文件审胚。這表示 gzip 壓縮程序 已經(jīng)壓縮了這些文件。gzip 軟件包包括一個(gè)特殊的 less 版本礼旅,叫做 zless膳叨,zless 可以顯示由 gzip 壓縮的文本文件的內(nèi)容。

8. 用別名(alias)創(chuàng)建你自己的命令

現(xiàn)在是時(shí)候各淀,感受第一次編程經(jīng)歷了懒鉴!我們將用 alias 命令創(chuàng)建我們自己的命令。但在開(kāi)始之前碎浇,我們需要展示一個(gè)命令行小技巧临谱。可以把多個(gè)命令放在同一行上奴璃,命令之間 用”;”分開(kāi)悉默。例如:

cd /usr; ls; cd -

正如我們看到的,我們?cè)谝恍猩下?lián)合了三個(gè)命令苟穆。首先更改目錄到 /usr抄课,然后列出目錄 內(nèi)容唱星,最后回到原始目錄(用命令 cd -),結(jié)束在開(kāi)始的地方。現(xiàn)在跟磨,通過(guò) alias 命令 把這一串命令轉(zhuǎn)變?yōu)橐粋€(gè)命令间聊。我們要做的第一件事就是為我們的新命令構(gòu)想一個(gè)名字。 比方說(shuō) "test" 抵拘。在使用 "test" 之前哎榴,查明是否 "test" 命令名已經(jīng)存在系統(tǒng)中,為了查清此事僵蛛,可以使用 type 命令:type test尚蝌,返回結(jié)果是:test is a shell builtin,噢哦充尉,不行飘言,那我們換一個(gè)吧,type foo驼侠,返回:bash: type: foo: not found姿鸿,可以,foo 沒(méi)有被占用倒源,然后我們創(chuàng)建命令別名:alias foo='cd /usr; ls; cd -'般妙,現(xiàn)在我們就可以使用 foo 代替 cd /usr; ls; cd - 了。

如果不需要某個(gè)別名了相速,我們可以使用 unalias 刪除碟渺,例如:unalias foo

注意:上面的操作知識(shí)臨時(shí)生效的突诬,終端模擬器關(guān)閉后就不生效了苫拍,后面的文章會(huì)介紹如何讓它永久生效。

好了今天就分享到這里吧旺隙,內(nèi)容比較多绒极,希望大家不要為了閱讀而閱讀,而是要親自去實(shí)踐蔬捷。即使你跟不上我更新的節(jié)奏垄提,那也沒(méi)關(guān)系,文章都可以永久免費(fèi)閱讀的周拐,你慢慢挨著學(xué)習(xí)铡俐,相信你以后一定都能學(xué)會(huì)的。

歡迎關(guān)注微信公眾號(hào):eglinux妥粟,最新文章會(huì)在這個(gè)公眾號(hào)首發(fā)审丘,免費(fèi)提供 CSDN 下載服務(wù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末勾给,一起剝皮案震驚了整個(gè)濱河市滩报,隨后出現(xiàn)的幾起案子锅知,更是在濱河造成了極大的恐慌,老刑警劉巖脓钾,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件售睹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡可训,警方通過(guò)查閱死者的電腦和手機(jī)侣姆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)沉噩,“玉大人,你說(shuō)我怎么就攤上這事柱蟀〈桑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵长已,是天一觀的道長(zhǎng)畜眨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)术瓮,這世上最難降的妖魔是什么康聂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮胞四,結(jié)果婚禮上恬汁,老公的妹妹穿的比我還像新娘。我一直安慰自己辜伟,他們只是感情好氓侧,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著导狡,像睡著了一般约巷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上旱捧,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天独郎,我揣著相機(jī)與錄音,去河邊找鬼枚赡。 笑死氓癌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贫橙。 我是一名探鬼主播顽铸,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼料皇!你這毒婦竟也來(lái)了谓松?” 一聲冷哼從身側(cè)響起星压,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鬼譬,沒(méi)想到半個(gè)月后娜膘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡优质,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年竣贪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巩螃。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡演怎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出避乏,到底是詐尸還是另有隱情爷耀,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布拍皮,位于F島的核電站歹叮,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏铆帽。R本人自食惡果不足惜咆耿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望爹橱。 院中可真熱鬧萨螺,春花似錦、人聲如沸愧驱。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)冯键。三九已至惹盼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惫确,已是汗流浹背手报。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留改化,地道東北人掩蛤。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像陈肛,于是被迫代替她去往敵國(guó)和親揍鸟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容