1. 程式人生 > >【Linux學習筆記】第8章 Linux shell基礎知識

【Linux學習筆記】第8章 Linux shell基礎知識

linux centos shell 通配

8.1shell介紹
shell是一個命令解釋器,提供人機交互。
支持特定語法。
每個用戶都可以有自己特定的shell(bash)。
CentOS7默認bash(Bourne Agin Shell)。
其他還有zsh、ksh等。


8.2命令歷史
命令歷史存放於~/.bash_history文件下。
history 查看之前用過的命令,默認保存最近1000條,由變量HISTSIZE設定條數,HISTSIZE可以到配置文件/etc/profile中去配置,配置後需要source才會生效。
history -c 清空當前內存中的命令歷史,不能清除~/.bash_history中的命令。
當前的命令,存放於內存中,在退出終端的時候,才會保存到.bash_history文件中。

HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S” 設定顯示時間格式,可在/etc/profile中配置永久生效。配置後,history將顯示命令執行的時間。
chattr +a ~/.bashhistory 加a權限,只能追加,不能刪除,使命令歷史永久保存。
若不正常退出終端,命令歷史保存將存在差錯。
!! 執行上一條命令。
!n n為數字,執行命令歷史中的第n條命令。
!word 執行最近的以word開頭的命令。


8.3命令補全和別名
Tab鍵,敲一下(唯一自動補全),敲兩下(多個列出列表)。
CentOS7支持自動補全命令參數。需安裝相關包:yum install -y bash-completion

,然後reboot重啟系統才生效。
命令別名alias command=’comand blablabla’
alias 可查看系統中的命令別名。
~/.bashrc和/etc/profile.d/目錄下的文件中,可以配置命令別名。
unalias command 取消自定義的command命令別名。


8.4通配符

  • 匹配任意多個任意字符。
    ? 匹配一個任意字符。
    [0-3]或[0123] 匹配方括號中的任意一個字符。[0-9a-zA-Z]
    {1,2,3,a} 匹配花括號中的任意一個。

8.5輸入輸出重定向
\> 輸出重定向。
command >FILE 將command的正確輸出,寫到FILE中。
command >>FILE

將command的正確輸出,追加到FILE中。
command 2>FILE 將command運行輸出的錯誤信息,寫到FILE中。
command 2>>FILE 將command運行輸出的錯誤信息,追加到FILE中。
正確+錯誤:>+2>用&>表示。
command &>FILE 將command運行輸出的正確和錯誤信息,寫到FILE中,同樣支持追加command &>>FILE
command >FILE1 2>FILE2 可將正確和錯誤的信息分開保存,多用於寫Shell腳本中。如:
ls 1.txt 2.txt >t.txt 2>e.txt
< 輸入重定向(幾乎用不到)。
command <FILE 將FILE文件內容,輸入到command命令中。如:
wc -l <1.txt 查看1.txt中內容的行數。
wc -l >1.txt 是把wc -l得到的正確輸出,寫到1.txt中。

【Linux學習筆記】第8章 Linux shell基礎知識