shell學習筆記 - 歷史命令、命令別名與補齊、通配符

1.歷史命令

在Linux環境中可以通過方向鍵的上下按鍵查看近期鍵入的命令。但這種方法只能一個一個的查看,其實系統提供了查看所有歷史命令的方法。  在終端中輸入以下命令查看所有命令:history

此時的命令保存在內存中,當我們退出終端的時候會寫入一個文件中,這個文件在用戶家目錄下,我們可以在用戶家目錄下用~/.bash_history查看
內存和文件中保存的大小是有限制的,我們可以在“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”修改保存的個數。

歷史操作命令的清除  
可以通過“history -c”命令進行清除,此時清空的是內存中的記錄,那麼其他人登錄終端時就無法查看歷史操作命令了。  但此命令並不會清除保存在文件中的記錄,因此需要手動刪除~/.bash_history文件中的記錄。
 
 !n    這個n表示序號,假如你想重新執行第528條命令ls -a,那麼你可以使用!528     
 !!     這將會重新執行上一條命令     
 !?String?   這個String可以隨便輸,Shell會從最後一條歷史命令向前搜索,最先匹配的一條命令將會得到執行。

2.命令別名與補齊

tab鍵自動補全:可以補全命令如果命令是唯一的我們按一下tab就可以出來,如果不唯一按兩下可以列出匹配的命令、

                          命令的參數(Centos7支持參數的補全:安裝bash-completion包並重啓系統)


別名:alias 有時候我們敲得指令很長不好記我們可以使用別名來保存,如:

           alias restartnet='systemctl restart network.service',我們可以通過restartnet來重啓網絡。

           查看所有別名只需輸入 alias指令。此時指令也是在內存中生效,終端退出就沒了,我們可以在配置文件中配置別名就好

           每個用戶都有自己的別名配置文件~/.bashrc

           還有部分alias的定義在/etc/profile.d/目錄下存放着

取消自定義的alias: unalias restartnet

3.通配符

        *:不分字符,不分幾個的通配符:   ls *.txt 會把所有txt文本查出來

        ?:表示一個任意的字符: ls ?.txt 會把所有名字爲一個字符的txt查出來

        [x-y]:x和y可以是任何數,根據方括號中的字符匹配,方括號中的字符只取一個:ls  [0-9A-Z].txt 會把0到9.txt和A到Z.txt查出來。([0-b].txt)會把0-9 a-b的txt查出來

        {x,y}:x和y可以是任何數,根據花括號中的字符匹配,方括號中的字符只取一個,必須要用逗號分隔,類似於列舉出要查的名字


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章