bash功能特性二 命令別名和歷史命令

一、歷史命令

    bash提供存儲歷史命令的功能,下面來詳細介紹一下。

    1、history命令

        命令格式:history [options] 

            options:

                不帶參數選項:顯示所有使用過的命令;

                #(數字):顯示最近使用過的#條命令;

                -c:清除目前shell中所有的歷史命令;

                -d #:清除條#條命令;

                -r:將歷史命令配置文件(默認~/.bash_history)中的內容讀到目前的shell中;

                -a [FILE]:將新增的歷史命令導入到FILE中,不指定則保存到~/.bash_history中;

                -w:將目前的所有的歷史命令寫入到歷史命令配置文件中;

        (1)查看最近10條歷史命令方法一;

1.png

        (2)查看最近10條歷史命令方法二;

2.png

        (3)將歷史命令寫入到~/.bash_history中;

         先來查一下文件中的內容;

3.png

         更新此文件中的內容;

4.png          從上面的結果可以看到最后面的命令已被替換成最新的了,而且我們也發現一個問題,~/.bash_history文件最多只能存儲1000條記錄; 其實我們可以根據需要來修改這個值。

    2、歷史命令的相關變量

        (1)用戶退出時的持久保存位置

        從上面的例子可知默認的保存位置為~/.bash_history,可以通過修改環境變量HISTFILE更換;

5.png

        (2)文件中可以保存的最大條目

         環境變量:HISTFILESIZE

6.png

         (3) 命令保存的最大條目

         環境變量:HISTSIZE

7.png

         (4) 命令顯示控制

         環境變量:HISTCONTROL

            變量值的含義:

                ignoredups:忽略重復的命令,連續的相同命令才會為重復

                ignorespace:忽略以空白字符打頭的命令

                ignoreboth:以上二者同時生效

6.png

7.png

    3、bash調用歷史命令列表中的命令

        !#:執行命令歷史中的第#條命令

        !!:執行上一條

        !string:執行命令歷史中最近一次以string開頭的命令

        !$:調用上一條命令最后一個參數

           按ESC松開后按“.” :功能同上

8.png

二、命令別名

    bash支持為命令設置別名,以達到方便輸入和記憶的目的。

    1、設置別名:alias命令

         alias命令用法比較簡單,下面直接舉例說明:

9.png10.png

    使用命令設置的別名并不能永久生效,可以在~/.bashrc文件中設置別名;

11.png

    2、撤消別名:unalias命令  

        -a:撤消所有別名

12.png

    同樣,命令行中并不能真正撤消別名,還需要修改配置文件;

12.png1.png

    3、當命令別名與命令本身相同,如何才能不使用別名的定義來執行命令:

13.png

14.png       


原創文章,作者:petmaster,如若轉載,請注明出處:http://www.www58058.com/3246

(0)
petmasterpetmaster
上一篇 2015-04-20 22:01
下一篇 2015-04-21 16:26

相關推薦

  • 磁盤分區相關知識

    磁盤分區相關知識 使用磁盤分區的過程設備識別→設備分區→創建文件系統→標記文件系統→在/etc/fstab文件中創建條目→掛載新的文件系統 分區不是必須的,但是分區是必要的:優化I/O性能實現磁盤空間配額限制提高修復速度隔離系統和程序安裝多個OS采用不同文件系統 不重啟激活新添加的磁盤:echo “- – -” > …

    Linux干貨 2017-08-20
  • 內核編譯實際效果演示

    內核編譯實際操作效果演示     環境:CentOS7.2,自帶內核版本為3.10.0-327.el7.x86_64,下載3.18.41版本進行編譯     步驟1:確保開發工具包組已安裝     [root@localhost …

    Linux干貨 2016-09-13
  • Python內置數據結構——集合set

    集合 定義 set翻譯為集合 collection翻譯為集合類型,是一個較大的概念 set是一個可變的、無序的、不重復的元素組成的集合 set的元素要求必須可以hash,目前已學的不可hash的類型只有list、set 元素不可以索引 set可以迭代 set的初始化 set_1 =set() #表示定義一個空集合set_1 set_1 =set(iterab…

    Linux干貨 2017-10-03
  • linux終端的類型與linux發展歷史

    一、linux console的類型與說明 說明:        1 由于虛擬終端的實現,人們可以多用戶多任務的在一臺計算機操作系統上工作             2 在80或90年代的舊電腦上,人們只能用分屏這樣的方法來實現多用戶,多任務的工作  …

    Linux干貨 2013-07-03
  • openssl關于CA證書的創建

    1、用openssl實現證書申請 先在/etc/pki/CA/目錄下創建一個index.txt的文件,作為ca證書的數據庫 在相同目錄下創建一個serial的序列號文件,并寫入01 生成ca的簽名證書用到的私鑰文件 注意:私鑰的權限時600,文件名必須是cakey.pem 生成自簽證書 這樣私有CA建立完成 申請認證: 在申請的機器上生成私鑰 生成申請文件 …

    Linux干貨 2016-09-23
  • 進程管理

    進程管理 內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、安全功能 用戶模式(空間),內核模式(空間) Process(進程):運行中的程序的一個副本         存在生命周期 task struct:內核的結構體 Linux內內核存儲進程信息的固定格式:tas…

    Linux干貨 2016-09-10

評論列表(3條)

  • stanley
    stanley 2015-04-22 21:32

    哇哦,提升飛速啊,贊

  • stanley
    stanley 2015-04-22 21:36

    非常仔細,練習的一些習題也看得出很有心進行。 從業務角度考慮,可以嘗試實現:1. 如何實現history記錄命令執行時間 2. 實在history記錄永久保存

    • petmaster
      petmaster 2015-04-22 22:47

      @stanley好的,回頭我搞一下這兩個實際應用

欧美性久久久久