1. 程式人生 > >Shell基礎:介紹、歷史命令、命令不全和別名、通配符、輸入輸入重定向、管道發和作業控制

Shell基礎:介紹、歷史命令、命令不全和別名、通配符、輸入輸入重定向、管道發和作業控制

基礎 一個 直接 1.5 寫到 否則 shel attr tle



Shell的介紹


技術分享圖片

zsh、ksh(yum list |grep zsh 進行查看,然後可以相應的進行安裝)

技術分享圖片

命令歷史

技術分享圖片

1. /root/.bash_history (此文件存放著我們敲過的命令)



2. history (可以查看到我們之前使用過的命令有多少條。最大可以存1000條)

使用環境變量可以查看到存放了多少條命令 echo $HISTSIZE

技術分享圖片


3. history -c 此命令是清除內存中我們敲過的緩存命令(當我們在當前終端敲命令時,它並不會立馬保存到配置文件中,而是緩存在內存裏) ,但這個命令是不會刪除 /root/.bash_history 這個配置文件的內容。


4.敲過的命令什麽時候才會保存在配置文件中?

只有我們在正常退出終端的時候才能保存到配置文件中,否則只是暫時的保存到內存裏(正常退出的命令:exit、logout)

5.環境變量$HISTSIZE

在配置文件 /etc/profile 修改環境變量 $HISTSIZE

技術分享圖片

修改了變量的大小後,需要執行 source /etc/profile 或者重新進入終端才會生效

技術分享圖片

6.查看敲過命令是什麽時候運行記錄下來 HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

(1)定義一下:HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

(2)查看一下變量: echo $HISTTIMEFORMAT

技術分享圖片

但是此時我們定義的環境變量 $HISTTIMEFORMAT 僅僅是在當前的終端生效,如果重啟仍然是不存在的

技術分享圖片

(3)永久生效,修改 /etc/profile

vi /etc/profile

添加內容:HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

技術分享圖片

7.命令歷史永久保存 不讓別人刪除-->添加隱藏條件 -a 只能追加不能刪除

執行命令:chattr +a ~/.bash_history

條件+a 只能追加不能刪除


8. exit / logout 為正常退出終端

不正常的退出終端時,使用過的命令就不會記錄完全

!! 表示上一條命令

!n 表示歷史第n條命令

技術分享圖片

!字符串 表示從下往上找最近使用過“字符串”的命令並執行



命令補全和別名

技術分享圖片

1.tab鍵 不僅可以不全命令,也可以不全文件


2.參數不全

(yum install -y bash-completion)

3.alias別名:

設置自定義的別名:

alias 要起的名字='要代替的名字'

alias restartnet='systemctl restart network.service '

取消自定義的別名:

ualias restartnet



alias定義的地方

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

ls /etc/profile.d/


通配符

技術分享圖片


1. * :表示零個或者多個任意字符

技術分享圖片

2. ? :表示一個任意的字符

技術分享圖片

3.ls [0-3].txt

[範圍]任意一個滿足的條件,只取一個。

4.ls {1,2,3,a}.txt 取一個1或2或3或a



輸入輸出重定向

1.> 重定向 cat 1.txt>2.txt (把1.txt的內容輸入到2.txt)

2.>> 追加 cat 1.txt>>2.txt (不會把原來的內容刪除,把1.txt的內容追加到2.txt)

3.ls aaa.txt 2>err 把前面的錯誤的信息輸入到後面的文件中

技術分享圖片

3.ls aaa.txt 2>>err 把前面的錯誤的信息輸入到後面的文件中

>+2 == &>

技術分享圖片

把[12]txt 正確的輸入到a.txt ,把 aaa.txt錯誤信息寫到b.txt


4.wc -l < 1.txt



管道符、作業控制

技術分享圖片

管道符 | :把前面命令的的輸出交給後面命令的輸入

技術分享圖片


暫停任務:ctrl+ z (臨時暫停,仍到後臺 ,調回前臺 fg


jobs 可以把暫停的任務列出來。

技術分享圖片

fg +id號就能把相應暫停任務調回前臺。 fg 2


bg 把任務放到後臺


sleep 1000 暫停1000秒

sleep 100 & 加上&可以把運行任務如直接放到後臺執行




Shell基礎:介紹、歷史命令、命令不全和別名、通配符、輸入輸入重定向、管道發和作業控制