您好,登錄后才能下訂單哦!
一、shell基礎
二、命令歷史
我們使用過的命令,即命令歷史,會存放在系統家目錄下面/root/.bash_history history命令可以查看使用的命令歷史,系統默認為1000條
history -c 可以清空內存里面的命令歷史,但是不會清空/root/.bash_history里面的命令
注:只有正常退出終端時,敲過的命令才會保存到/root/.bash_history里面去
環境變量HISTSIZE可以在/etc/profile里面自定義命令歷史條數,可以vi /etc/profile 找到HISTSIZE參數,修改,然后執行命令 source /etc/profile
修改命令歷史格式,增加時間選項,可以更直觀的查看
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
該格式只在當前終端生效,如果想在其他終端也生效,需要編輯配置文件 vi /etc/profile,在配置文件添加HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
想要命令歷史永久保存,并不會被別人刪除,chattr +a ~/.bash_history只能追加,不能刪除
!!表示執行最后一條命令
!n(代表數字)
!history,則會在命令歷史里面找到最后一次以history開頭的命令
三、命令補全及別名
按一次tab鍵可以補全一次命令,一個文件,或者一個目錄,連續按兩次tab鍵,則會把所有命令或者文件名列出來,centos7里面支持參數自動補全,需要安裝包bash-completion;然后重啟系統生效
我們可以通過alias把一個常用但是命令很長的命令設置一個別名,如果不想使用,可以使用unalias取消別名,直接執行alias可以查看所有別名
alias存放路徑:
第一個存放在家目錄.bashrc文件下
第二個存放在/etc/profile.d目錄下的colorgrep.sh colorls.sh 這些腳本中自定義
unalias取消別名,格式 unalias alias_name
四、通配符
通配符*,表示零個或者多個字符
通配符?,表示任意一個字符
中括號[] ls [0-9].txt表示0-9范圍內的任意.txt文件
花括號{},ls {1,2,3}表示括號內任意txt文件
五、輸入輸出重定向
cat 1.txt >2.txt,大于號>表示將前面的命令輸出,直接輸入到后面的文件里面去,這里是將1.txt的內容重定向到2.txt里面去,之前2.txt的內容會被刪除
cat 1.txt >>2.txt,兩個大于號表示追加,不會刪除之前2.txt里面的內容,把1.txt里面的東西追加到2.txt里面去
ls asas 2>a.txt大于號表示將命令產生的錯誤信息輸入到一個文件里面去
ls asdfgh 2>>a.txt,表示將錯誤信息追加重定向
ls {1,2}.txt bc.txt &>a.txt 2>b.txt,表示將正確和錯誤的信息輸入到a.txt中
ls {1,2}.txt bc.txt &>a.txt,表示將正確和錯誤的輸出信息都追加到a.txt中
ls {1,2}.txt bc.txt >a.txt 2>b.txt 表示將正確的輸出信息輸入到a.txt中,錯誤的輸出信息輸入到b.txt中
wc -l <1.txt,表示把1.txt文件內容輸入重定向到命令wc -l中去,左邊必須是命令,不能由文件到文件,了解即可
六、管道符合作業控制
管道符|,勇于將前一個命令的輸出做為后一個命令的輸入
cat 1.txt |wc -l;cat 1.txt |grep 'ccc'
命令wc -l :統計文件數量
命令grep:用來過濾關鍵詞,只要文件含有關鍵詞,就可以把這一行過濾出來、
作業控制
ctrl +z 暫停一個正在執行的任務
fg命令恢復
如果暫停多個任務,可以用jobs查看在后臺運行的任務
如果想重新調回,輸入fg+id 也可以使用bg放在后臺運行,用法bg+id
bg+id 把任務調到后臺運行
fg +id 把任務調到前臺運行
sleep命令,sleep 100相當于讓機器休眠靜止100秒
“&”命令,后面加&相當于把任務直接調到后臺運行
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。