日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

快速学习命令的方法

發(fā)布時(shí)間:2025/6/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速学习命令的方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述:用戶使用shell跟內(nèi)核交互,Linux 中有很多命令,不同的命令有不同的功能。多個(gè)命令合起來可以完成一個(gè)大的功能。命令很多我們不可能記得每條命令的用法。

? ? ? 所以,我們必須有一種方法來快速知道一個(gè)命令是如何使用的,有什么作用。所以,幾乎所有的命令都提供了幫助手冊(cè),告訴命令的使用者如何使用命令、命令 的作用等等。幫助手冊(cè)頁很長,我們不可能為了使用一個(gè)命令,而從頭到尾把幫助手冊(cè)讀完,這時(shí)候需要一種快速讀懂(有目的的去讀)命令的幫助手冊(cè)的方法。是如何實(shí)現(xiàn)的呢?管理整個(gè)計(jì)算硬件的其實(shí)是核心(kernel 計(jì)算要系統(tǒng)),通常用戶(user)都是以 shell 來與核心溝通,讓核心達(dá)到我們所想要實(shí)現(xiàn)的目的。


shell 就是一個(gè)應(yīng)用程序,它讀入用戶鍵入的命令,把它轉(zhuǎn)換成 Linux 系統(tǒng)更易于理解的格式。它也包括一些基本的程序結(jié)構(gòu),讓用戶做選項(xiàng)、循環(huán),以及把值

存儲(chǔ)在變量中。


一、了解命令的基本格式

shell 執(zhí)行程序:

? ? shell 負(fù)責(zé)執(zhí)行終端請(qǐng)求的程序。

? ? 用戶每次向 shell ” 命令提示符[root@Node1 ~]# ” 鍵入一行信息,shell 會(huì)在分析后決定做什么。 shell 所涉及到的每行信息都遵循相同的基本格式。如:

[root@Node1?~]#?command???[optons?parameter1?|?parameter2]...??parameter1??parameter2?...命令??????選項(xiàng)????選項(xiàng)參數(shù)???????????????????命令參數(shù)(1)???命令參數(shù)(2)

命令,一般都會(huì)提供幫助文檔,只有了解了命令格式的各項(xiàng)意義,我們才可能很快學(xué)會(huì)新命令的使用。至少在命令行提示符中鍵入命令時(shí),不會(huì)寫錯(cuò)。

第一字段: command(命令) ? 可執(zhí)行文件

第二字段: 命令的選項(xiàng),些命令的選項(xiàng)帶參數(shù),有些命令的選項(xiàng)不帶參數(shù)

中括號(hào) [] 是可選擇項(xiàng),在鍵入該命令的時(shí)候可以選擇是否省略命令的選項(xiàng)。

豎線 “|” 表示左右兩邊任選一個(gè)作為,命令選項(xiàng)的參數(shù)。

省略號(hào)“...” 表示該命令選項(xiàng)可以有多個(gè),但是書寫時(shí),要按照下面的格式。

? ? 選項(xiàng)又分為:

? ? ? ? ? ? ? ? ? ? ?1、長選項(xiàng),使用 --options 格式。 一般選項(xiàng)名稱是完整的。如果一個(gè)命令的長選項(xiàng)有多個(gè),是不可以合并的。

? ? ? ? ? ? 2、短選項(xiàng),使用 -options 格式, 一般是長選項(xiàng)名的簡寫格式。如果一個(gè)命令的短選項(xiàng)有多個(gè),是可以合并的。

ls 命令的選項(xiàng) -b 和 --escape 作用是一樣的。

[root@Node1?~]#?ls?-b?/root/ anaconda-ks.cfg??install.log??install.log.syslog [root@Node1?~]#?ls?--escape?/root/ anaconda-ks.cfg??install.log??install.log.syslog

注意:長選項(xiàng)是不可以合并使用的,在命令行提示符中,鍵入的命令使用到多個(gè)長選項(xiàng)的時(shí)候要分開寫

[root@Node1?~]#?ls?--allblock-size=1?/etc/ ls:?unrecognized?option?'--allblock-size=1' [root@Node1?~]#?ls?--all?--block-size=4?/root/ .????????????????.bash_history??.bashrc??????install.log.syslog??.tcshrc ..???????????????.bash_logout???.cshrc???????.lesshst????????????.viminfo anaconda-ks.cfg??.bash_profile??install.log??.ssh

第三字段: ? ? 命令參數(shù)

? ? ? ? ? ? ? ?命令參數(shù)有多個(gè)需要使用空格隔開。


? ? 當(dāng)用戶按照上述描述的格式,在命令行提示符中鍵入命令以后,按 [Enter] 鍵后,shell 就分析執(zhí)行該命令。( Linux 中 [Enter] 為 <CR> 字符表示)shell 會(huì)先判斷該命令的類型,如果是內(nèi)部命令的話就直接執(zhí)行,否則的話,shell 會(huì)按照 $PATH 變量的值到磁盤搜索,用戶鍵入的命令。

? ? ?1、如果搜索到用戶鍵入的命令,產(chǎn)生中斷,由內(nèi)核(kernel)負(fù)責(zé)把命令文件從磁盤中加載到內(nèi)存

? ? ? ? 中來,并開始執(zhí)行該命令。此時(shí),命令就表示為一個(gè)進(jìn)程。

? ? ?2、如果 shell 按照 $PATH 變量的值到磁盤中找不到該命令的話,就會(huì)報(bào)錯(cuò)。

[root@Node1?~]#?tree?/etc -bash:?tree:?command?not?found

?說明:

? ? ?命令的位置不在 $PATH 中 和 命令不存在,都會(huì)報(bào)“command not found”

? ? ?如果,我們鍵入的命令的位置不在shell搜索 $PATH 路徑中,可以使用全路徑描述該命令,或把該

? ? ?命令所在的路徑追加到 $PATH 變量中。

? ? ?1、使用全路徑描述文件

????[root@Node1?etc]#?/usr/bin/tree??/etc

? ? ?2、把命令所在的路徑加到 $PATH 變量中。

????[root@Node1?~]#?vim?/etc/profile

? ? ?在 profile 文件中添加一行 $PATH=/path1/path2/:/path2/path3

? ? ?如,在編譯安裝 MySQL 數(shù)據(jù)庫,MySQL提供的工具所在的路徑設(shè)置為,shell默認(rèn)的搜索路徑

? ? ?($PATH)。這樣使用MySQL提供的一些命令,對(duì)MySQL服務(wù)器操作維護(hù)時(shí)

? ? ?就不需要輸入命令的全路徑了。這樣比較方便。在 profile 文件中添加一行?

? ? ?$PATH=/usr/local/mysql/bin 但是剛添加到 $PATH 中的路徑,shell并不知道。

? ? ?我們要通知shell,重讀 profile 文件,方法是:

?????[root@Node1?etc]#?.?profile

二、我們?cè)趺?#xff0c;知道一個(gè)命令的使用方法呢?

? ? 一般,命令都會(huì)提供幫助文檔,我們可以通過幫助文檔來查看一個(gè)命令的使用方法。我們的命令又分為: shell 內(nèi)置命令 和 外部命令。

命令的類型不同,獲取它的幫助文檔的方式也不同。所以,我們首先要判斷一個(gè)命令的類型?

判斷 command 類型,使用 【type】

[root@Node1?etc]#?type?cd cd?is?a?shell?builtin

得知【cd】命令,是 shell 內(nèi)置命令,我們可以使用下述方法查看該命令使用方法

[root@Node1?etc]#?help?cd cd:?cd?[-L|-P]?[dir]Change?the?shell?working?directory.Change?the?current?directory?to?DIR.??The?default?DIR?is?the?value?of?theHOME?shell?variable. ......[root@Node1?etc]#?type?ls ls?is?aliased?to?`ls?--color=auto'

ls命令,是外部命令。我們使用 【command --help】或【man】命令來查看命令幫助文檔。man 中文意思"男人",在 Linux 世界中遨游,不懂就問“男人”。所以要學(xué)會(huì) man 的使用。

我們非內(nèi)核命令的幫助文檔存放在,/usr/share 中。

? ?【man】命令是如何工作的?

? ? man 會(huì)按照它的配置文件 /etc/man.config 中 MANPATH 定義的路徑去搜索命令的幫助文檔,當(dāng)我

? ? 們用【man】去查看 command 的幫助文檔時(shí),如果 command 的幫助文檔不在man 程序的搜索路徑

? ? 中,man 是找不到 command 的幫助文檔的。所以,我們?cè)诰幾g安裝源程序的時(shí)候,如果我們安裝的

? ? 程序的幫助文檔目錄不在【man】的默認(rèn)搜索路徑下,則需要把程序的幫助文檔的路徑添加【man】

? ? 的索引路徑中??梢酝ㄟ^編譯 /etc/man.config 在 MANPATH 指令中添加上程序的幫助文檔的路徑

? ? 就可以了,如:把 MySQL 的幫助文檔的路徑添加到【man】的搜索路徑中

[root@node2?~]#?vim?/etc/man.config #?MANBIN????????????????/usr/local/bin/man # #?Every?automatically?generated?MANPATH?includes?these?fields # MANPATH?/usr/man MANPATH?/usr/share/man MANPATH?/usr/local/man MANPATH?/usr/local/share/man MANPATH?/usr/X11R6/man MANPATH?/usr/local/mysql/man/

? ? ?我們的幫助文檔是分章節(jié)的,不同章節(jié)表示不同的意思。了解幫助文檔的不同章節(jié)的含義,我們才可以使用【man】命令快速定位到需要的內(nèi)容。

查看的內(nèi)容。

? ? 1、查看命令有哪些章節(jié)?使用【whatis】檢索 whatis databases 數(shù)據(jù)庫。而我們剛安裝的程序的幫助文檔不會(huì)記錄到數(shù)據(jù)庫里,Linux 系統(tǒng)使用【makewhatis】來生成數(shù)據(jù)庫的。系統(tǒng)把生成數(shù)據(jù)庫的動(dòng)作做成了系統(tǒng)的周期性任務(wù),“每周的星期天零晨4點(diǎn)22分”執(zhí)行一次生成 whatis 數(shù)據(jù)數(shù)據(jù)的任務(wù)。所以我們剛安裝的程序,使用【whatis command】是查不到命令有多少章節(jié)的。如果需要查看的話,我們可以手動(dòng)執(zhí)行一下【makewhatis】命令,生成 whatis databases.?

?

[root@node2?~]#?whatis?shutdown shutdown?????????????(2)??-?shut?down?part?of?a?full-duplex?connection shutdown?????????????(3p)??-?shut?down?socket?send?and?receive?operations shutdown?????????????(8)??-?bring?the?system?down

??2、如章節(jié)表示的意義如下所述

man1???????用戶命令 man2???????系統(tǒng)調(diào)用 man3???????庫調(diào)用 man4???????設(shè)備文件 man5???????配置文件 man6???????游戲 man7???????雜項(xiàng) man8???????管理命令

2、使用【man N】來實(shí)現(xiàn)用戶隨意查看幫助文檔章節(jié)的內(nèi)容

[root@node2?~]#?man?8?shutdown

3、使用【help command】來查看 command 的使用方法,沒有 man 顯示那么詳細(xì).

[root@node2?~]#?shutdown?--help shutdown:?invalid?option?--?- Usage:????shutdown?[-akrhHPfnc]?[-t?secs]?time?[warning?message]-a:??????use?/etc/shutdown.allow-k:??????don't?really?shutdown,?only?warn.-r:??????reboot?after?shutdown.-h:??????halt?after?shutdown.-P:??????halt?action?is?to?turn?off?power.-H:??????halt?action?is?to?just?halt.-f:??????do?a?'fast'?reboot?(skip?fsck).-F:??????Force?fsck?on?reboot.-n:??????do?not?go?through?"init"?but?go?down?real?fast.

??應(yīng)用程序的幫助文檔,通常是有不同的段落組成的。每個(gè)段落描述了應(yīng)用程序的不同內(nèi)容。了解幫助文檔各段落表示的意義,我們可以快速找到我們想要讀取到的內(nèi)容。

手冊(cè)的段落:1、NAME???????????命令名稱2、DESCRIPTION????命令功能的詳細(xì)描述3、OPTIONS????????所有選項(xiàng)4、FILES??????????與當(dāng)前命令相關(guān)的配置文件5、EXAMPLES???????使用示例6、SYNOPSIS???????使用格式7、SEE?ALSO???????可參考的其它手冊(cè)

說明:

? ? 如果,我們想快速知道 command 是怎么使用的,可以查看幫助手冊(cè)的 EXAMPLES 段。命令的幫助手冊(cè)有很多字符組成,那么我們?nèi)绾味ㄎ坏?EXAMPLES 字符呢?

當(dāng)我們使用【man】打開查看命令的幫助手冊(cè)頁的時(shí)候,可以使用字符串搜索。

? ? 1、輸入"/keywork" ?從文檔的首部向尾部搜索,搜索到指定的字符會(huì)高亮顯示。

? ? 2、輸入"?keywork" ?從文檔的尾部向首部搜索,搜索到指定的字符會(huì)高亮顯示。

當(dāng)我們搜索到字符在文檔中多處出現(xiàn)有的時(shí)候,可以按一些“鍵”來快速顯示下一個(gè)搜索到的字符。

? ? 1、N鍵: ? ? 跟搜索命令相反,顯示找到的下一個(gè)關(guān)鍵字

? ? 2、n鍵: ? ? 跟搜索命令相同,顯示找到的下一個(gè)關(guān)鍵字


轉(zhuǎn)載于:https://blog.51cto.com/9528du/1433782

總結(jié)

以上是生活随笔為你收集整理的快速学习命令的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。