溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

shell基礎(chǔ)

發(fā)布時(shí)間:2020-05-30 20:23:16 來(lái)源:網(wǎng)絡(luò) 閱讀:277 作者:夜魅零度 欄目:系統(tǒng)運(yùn)維

一、shell基礎(chǔ)
shell基礎(chǔ)

二、命令歷史
我們使用過的命令,即命令歷史,會(huì)存放在系統(tǒng)家目錄下面/root/.bash_history history命令可以查看使用的命令歷史,系統(tǒng)默認(rèn)為1000條
shell基礎(chǔ)

history -c 可以清空內(nèi)存里面的命令歷史,但是不會(huì)清空/root/.bash_history里面的命令
shell基礎(chǔ)

注:只有正常退出終端時(shí),敲過的命令才會(huì)保存到/root/.bash_history里面去
環(huán)境變量HISTSIZE可以在/etc/profile里面自定義命令歷史條數(shù),可以vi /etc/profile 找到HISTSIZE參數(shù),修改,然后執(zhí)行命令 source /etc/profile
shell基礎(chǔ)

修改命令歷史格式,增加時(shí)間選項(xiàng),可以更直觀的查看
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
shell基礎(chǔ)
該格式只在當(dāng)前終端生效,如果想在其他終端也生效,需要編輯配置文件 vi /etc/profile,在配置文件添加HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

shell基礎(chǔ)

想要命令歷史永久保存,并不會(huì)被別人刪除,chattr +a ~/.bash_history只能追加,不能刪除
?。”硎緢?zhí)行最后一條命令

shell基礎(chǔ)

!n(代表數(shù)字)

shell基礎(chǔ)
!history,則會(huì)在命令歷史里面找到最后一次以history開頭的命令

shell基礎(chǔ)

三、命令補(bǔ)全及別名

按一次tab鍵可以補(bǔ)全一次命令,一個(gè)文件,或者一個(gè)目錄,連續(xù)按兩次tab鍵,則會(huì)把所有命令或者文件名列出來(lái),centos7里面支持參數(shù)自動(dòng)補(bǔ)全,需要安裝包bash-completion;然后重啟系統(tǒng)生效
shell基礎(chǔ)

我們可以通過alias把一個(gè)常用但是命令很長(zhǎng)的命令設(shè)置一個(gè)別名,如果不想使用,可以使用unalias取消別名,直接執(zhí)行alias可以查看所有別名

shell基礎(chǔ)

alias存放路徑:
第一個(gè)存放在家目錄.bashrc文件下
第二個(gè)存放在/etc/profile.d目錄下的colorgrep.sh colorls.sh 這些腳本中自定義
unalias取消別名,格式 unalias alias_name

四、通配符

通配符*,表示零個(gè)或者多個(gè)字符
shell基礎(chǔ)
通配符?,表示任意一個(gè)字符
shell基礎(chǔ)

中括號(hào)[] ls [0-9].txt表示0-9范圍內(nèi)的任意.txt文件

shell基礎(chǔ)

花括號(hào){},ls {1,2,3}表示括號(hào)內(nèi)任意txt文件

shell基礎(chǔ)
五、輸入輸出重定向

cat 1.txt >2.txt,大于號(hào)>表示將前面的命令輸出,直接輸入到后面的文件里面去,這里是將1.txt的內(nèi)容重定向到2.txt里面去,之前2.txt的內(nèi)容會(huì)被刪除
shell基礎(chǔ)
cat 1.txt >>2.txt,兩個(gè)大于號(hào)表示追加,不會(huì)刪除之前2.txt里面的內(nèi)容,把1.txt里面的東西追加到2.txt里面去
shell基礎(chǔ)
ls asas 2>a.txt大于號(hào)表示將命令產(chǎn)生的錯(cuò)誤信息輸入到一個(gè)文件里面去

shell基礎(chǔ)
ls asdfgh 2>>a.txt,表示將錯(cuò)誤信息追加重定向
shell基礎(chǔ)
ls {1,2}.txt bc.txt &>a.txt 2>b.txt,表示將正確和錯(cuò)誤的信息輸入到a.txt中
shell基礎(chǔ)
ls {1,2}.txt bc.txt &>a.txt,表示將正確和錯(cuò)誤的輸出信息都追加到a.txt中
shell基礎(chǔ)
ls {1,2}.txt bc.txt >a.txt 2>b.txt 表示將正確的輸出信息輸入到a.txt中,錯(cuò)誤的輸出信息輸入到b.txt中
shell基礎(chǔ)
wc -l <1.txt,表示把1.txt文件內(nèi)容輸入重定向到命令wc -l中去,左邊必須是命令,不能由文件到文件,了解即可

shell基礎(chǔ)

六、管道符合作業(yè)控制
管道符|,勇于將前一個(gè)命令的輸出做為后一個(gè)命令的輸入
cat 1.txt |wc -l;cat 1.txt |grep 'ccc'
命令wc -l :統(tǒng)計(jì)文件數(shù)量
命令grep:用來(lái)過濾關(guān)鍵詞,只要文件含有關(guān)鍵詞,就可以把這一行過濾出來(lái)、

作業(yè)控制
ctrl +z 暫停一個(gè)正在執(zhí)行的任務(wù)
shell基礎(chǔ)
fg命令恢復(fù)
shell基礎(chǔ)
如果暫停多個(gè)任務(wù),可以用jobs查看在后臺(tái)運(yùn)行的任務(wù)
shell基礎(chǔ)
如果想重新調(diào)回,輸入fg+id 也可以使用bg放在后臺(tái)運(yùn)行,用法bg+id
bg+id 把任務(wù)調(diào)到后臺(tái)運(yùn)行
fg +id 把任務(wù)調(diào)到前臺(tái)運(yùn)行
shell基礎(chǔ)
sleep命令,sleep 100相當(dāng)于讓機(jī)器休眠靜止100秒
shell基礎(chǔ)
“&”命令,后面加&相當(dāng)于把任務(wù)直接調(diào)到后臺(tái)運(yùn)行
shell基礎(chǔ)

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI