Linux基礎–命令幫助的獲取及history歷史命令

第一部分    Linux系統如何獲取命令幫助

    1、命令類型以及簡單幫助的獲取

        linux系統上,基本命令分為兩類,一類是內建命令,一類是外部命令。所謂內建命令,是指由linux內核自帶的系統命令,而外部命令是后期一些程序軟件安裝過后生成的一些命令。

        <1>可以通過type命令來查看命令的類型,type的基礎用法為:type COMMAND

        例如:type cd

        QQ圖片20160726195914.png

        例如:type date

        QQ圖片20160726200048.png

        <2>可以通過whatis COMMAND獲取命令的簡單功能介紹,通過which COMMAND來獲取命令的完整路徑信息,whereis來獲取命令的全部路徑信息

        11.png 

        <3>通過上述方法得到命令的相關信息后,針對內部命令,可以利用help COMMAND進行簡單用法的幫助獲?。会槍ν獠棵?,可以利用COMMAND –help 來獲取命令的簡單使用說明

        22.png

        33.png

    2、man和info的使用

        通過第一步分對命令的簡單用法和簡單說明信息的了解后,基本知道了一個命令的簡單功能和簡單的使用方法,那么對于外部命令的詳細的使用方法以及完整性的說明信息就得借助man來進一步了解

        man是一種格式化輸出相關幫助手冊信息的工具,通過man幫助,我們可以了解到外部命令的詳細說明信息,使用信息等等一些詳細的說明,當然,man的功能不僅僅是輸出命令的幫助信息,對于一些配置文件的信息,我們也可以通過man來獲取詳細的幫助,具體man的功能按章節可以分為幾部分:

            1:用戶命令的幫助信息章節

            2:系統調用的幫助信息章節

            3:C庫調用的幫助信息章節

            4:設備文件及特殊文件的幫助信息章節

            5:配置文件的幫助信息章節

            6:游戲的幫助信息章節

            7:雜項

            8:管理類命令的幫助信息章節

            9:Linux內核API的幫助信息章節

        針對初期學習過程中,我們主要關注1、5、8章節的相關信息即可

        如何使用man來獲取外部命令幫助,針對上述的已知的命令,我們可以利用whereis獲取到該命令的相關章節之后直接man [章節號] COMMAND來進行相關命令的幫助信息獲取

            例如:        

            111.png

            通過查看該詳情頁,即可獲得到命令的完整性用法

        針對配置文件的幫助,可以利用man 5 FILENAME即可獲取配置文件的相關幫助信息

            例如:查看fstab配置文件的幫助信息

            2.png

            通過查看詳細的信息即可獲取到配置文件的相關語法說明和介紹

        man在使用過程中的一些方法和技巧:

            man實際是調用less來進行文本的讀取的

            可利用:

                空格鍵    進行向后翻一頁

                b鍵    向前翻一頁

                d鍵    向后翻半頁

                u鍵    向前翻半頁

                #        跳轉至指定的第#行

                1G      跳轉到文件首部

                G        跳轉到文件尾部

                /STRING    以指定的字符搜索全文,搜索到后,可利用n鍵跳轉到下一個匹配到的位置,N鍵跳轉到上一個匹配到的位置

                q鍵    退出man手冊頁

    3、其他獲取幫助途徑介紹

        除了上述基礎的一些獲取命令幫助的途徑和man的方式進行幫助獲取外,還可以利用一個額外的幫助渠道進行命令或其他信息的獲取

            1、info頁面  

            2、本地文檔/usr/share/doc/目錄里面有關于一些軟件的相關說明信息

            3、在線文檔獲取幫助,可到一些程序的官方站點的知識庫或者獲取軟件的官方說明文檔進行幫助的獲取

            4、利用搜索引擎進行搜索

第二部分    history命令歷史詳解

    1、history語法:

         history [-c][-d 偏移量][n] 

          或history -anrw [文件名]

          或history -ps [參數]

             選項:

             -c 表示刪除所有歷史命令

             -d 數字  表示刪除指定的第多少條命令

             -w 將當前內存中保留的命令歷史,保存到歷史命令文件中

             -r 將歷史命令文件中的內容,讀取到內存中

             例如:history -d 5  表示刪除第5條命令

               history -d 5 10 表示刪除從第5條命令開始的往后的10條命令

               history -c  表示清空所有歷史命令

               history 10 表示顯示最近的10條歷史命令

    2、有關history命令的配置文件和環境變量:

        關于history命令的配置文件可定義在:

            全局配置文件/etc/profile        全局生效,對所有用戶都有效

            局部配置文件~.bash_profile        局部生效,只對定義在該用戶家目錄下的用戶有效

            ~.bash_history記錄了該用戶使用過的歷史命令

        history命令的一些環境變量:

         HISTSIZE:shell進程可保留的命令歷史的條數

         HISTFILE:持久保存歷史命令的文件

         HISTFILESIZE:命令歷史文件的大小

         HISTCONTROL:控制歷史命令記錄方式的環境變量

             其取值可以有4個:默認為ignoredups

             ignoredups 忽略重復且相鄰的歷史命令

             ignorespace  忽略以空格開頭的命令

             ignoreboth  以上兩個同時生效

             erasedups  去除重復的命令

             多個取值之間可以用:分割

         HISTTIMEFORMAT="%F %T"可以以指定時間顯示格式,顯示歷史命令的執行時間

         HISTIGNORE="STRING1:STRING2。。。"表示不記錄相應的命令的歷史

        修改變量的值直接 HISTCONTROL='ignoreboth'  立即生效,但退出后失效,要永久有效,寫入配置文件

        例如HISTTIMEFORMAT="`hostname ` %F %T "

        例如:HISTIGNORE="passwd:echo"不記錄passwd命令和echo命令,但是例如echo 111這樣的還是會記錄,要想不記錄要寫成這樣:

HISTIGNORE="passwd:echo*"

   3、有關history命令常用的快捷鍵:

        調用命令歷史中的命令:

        !數字  再次執行命令歷史中的第幾條命令

        ?。?span id="8wywmse" class="Apple-tab-span"> 再次執行上一條命令

        !STRING  再次執行歷史命令中最近一個以STRING開頭的命令

        ???STRING  執行最近一條命令中包含關鍵字的命令

        !-1  表示執行倒數第一條命令

        ctrl+r  搜索歷史命令關鍵字

        ctrl+P 執行最后一條歷史命令

            

        調用歷史命令中的參數:

        ESC  .執行最后一條命令中的最后一條參數

        !$  直接執行最后一條命令的最后一個參數

        !^  直接執行最后一條命令的第一個參數

        ?。?   直接執行最后一條命令的第#個參數

        !*  直接執行最后一條命令的全部參數

    

        !n:$  直接執行第n條歷史命令的最后一個參數

        !n:^  直接執行第n條歷史命令的第一個參數

        !n:#   直接執行第n條歷史命令的第#個參數

        !n:*  直接執行第n條歷史命令的全部參數

    

        !STING:^ 從歷史命令中搜索以STRING開頭的命令,并獲取其第一個參數

        !STRING:$  從歷史命令中搜索以STRING開頭的命令,并獲取其最后一個參數

        !STING:n   從歷史命令中搜索以STRING開頭的命令,并獲取其第n個參數

        !STING:*   從歷史命令中搜索以STRING開頭的命令,并獲取其所有參數

第三部分    課后練習

    1、只顯示某目錄下的隱藏文件

        ll -d .*

        ls -a /PATH |grep "^\..*"

    

    2、只顯示某目錄下的目錄列表

        ll /PATH |grep "^d.*"

        

原創文章,作者:M20-1倪文超,如若轉載,請注明出處:http://www.www58058.com/26145

(2)
M20-1倪文超M20-1倪文超
上一篇 2016-07-27
下一篇 2016-07-29

相關推薦

  • Linux基礎之文件查找壓縮

    為何學習本章節,可以設想一下,在未來工作中面對大量用戶時,想要找到同一類型屬性的用戶文件時,需要一個工具可以快速準確的定位到所尋找的文件,那就是locate和find。   ******************************************************* 重點: ? ? 1.德摩根定律 ????非(P且Q) = (非P…

    2016-08-22
  • 《種一棵樹最好的時間,是十年前,其次是現在?!?

    選擇一個處于不斷發展中的行業,學習新知識就如逆水行舟,不能停止。

    Linux干貨 2018-03-26
  • keepalived配置

    前兩個配置做完實驗沒截圖,后面的實驗有圖片。 keepalived的的單獨設置 1.確保時間同步 ntpdate 10.1.0.1 2.保證/etc/hosts文件可以解析到 3.本機配置ssh-keygen -t rsa -P ''  ,然后ssh-copy-id -i .ssh/id_rsa.pub root@10.1.44…

    Linux干貨 2016-11-11
  • MySQL/MariaDB基于MMM實現讀寫分離及高可用

    前言 MMM(Master-Master replication managerfor Mysql,Mysql主主復制管理器)是一套靈活的腳本程序,基于perl實現,用來對mysql replication進行監控和故障遷移,并能管理mysql Master-Master復制的配置(同一時間只有一個節點是可寫的)。 MMM 優缺點 優點:高可用性,擴展性好,…

    Linux干貨 2015-06-24
  • N26-第六周作業

    vim編輯器的使用 編輯模式:默認模式編輯模式–>輸入模式;i:insert,在光標所在處輸入;a:append,在光標所在處后方輸入o:在光標所在處下方打開的一個新行;光標處在行首;I:在光標所在行的行首輸入A:在光標所在處的行尾輸入;O:在光標所在處的上方打開一個新行; 輸入模式–>編輯模式ESC 編輯模式&#8211…

    Linux干貨 2017-03-13
  • Linux文件權限之facl

    1、什么是facl         facl(file access control list)文件訪問控制列表,主要目的是在原有的u,g,o之外,另一層讓普通用戶能控制賦權給另外的用戶或組的機制;       &nbs…

    Linux干貨 2016-09-19
欧美性久久久久