命令歷史
# cat /root/.bash_history //存放歷史命令的地方
# history //查看命令歷史的條數
# echo $HISTSIZE //查看可以保存的條數
# vim /etc/profile //改變變量HISTSIZE的值 “/HISTSIZE” 去搜索
# source /etc/profile //這樣才能使我們剛剛修改的值生效
# vim /etc/profile →在HISTSIZE下增加 HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S “ 改變輸出歷史的格式,例如: 923 2017/06/28 17:56:42 source /etc/profile 包括什麼時間輸入的都可以顯示!!!
# chattr +a ~/.bash_history //永久保存輸入的歷史(a權限,只允許增加,不允許刪除)
# !! //執行上一條命令
#!761 //查找命令第761條命令,在命令歷史中!
命令補全
參數補全,安裝bash-completion
自定義經常使用的命令,來提高效率:例如:
# alias resnet=‘systemctl restart network.service' //但是這樣僅僅是保存在內存當中,我們要是需要長久使用,就要寫在配置文件中,家目錄下的 # .bashrc
通配符
# ls *.txt //查看所有以.txt結尾的文件
# ls 1* //查看以1開頭的所有文件
# ls ?.txt //一個字符且.txt的文件
# ls ??.txt //兩個字符且.txt的文件
# ls [0-3].txt //包含0.txt 1.txt 2.txt 3.txt
# ls [123].txt //包含1.txt 2.txt 3.txt
輸入輸出重定向
“>” //重定向 “>>” //追加內容
# cat 12.txt > 22.txt //查看12.txt的內容並重定向到22.txt
# cat 12.txt >> 22.txt //查看12.txt的內容並追加(之前的內容不刪除)到22.txt
“2>” //錯誤重定向 “2>>” //錯誤追加重定向
後期寫shell腳本的時候會經常用到的一個命令:
# ls [12].txt txzzz.txt(沒有這個文件) >1.txt 2>b.txt //把正確的輸出,輸出到1.txt,錯誤的輸出輸出到b.txt
管道符、作業控制
管道符:把一個命令結果的輸出傳遞到後面一個命令;
# cat 1.txt |wc -l ; //查看1.txt 的內容 並交給後面查看有多少行 輸出~
# cat 1.txt |grep ‘aaa’ //查看1.txt 的內容 並交給後面grep 查找 aaa
# find ./ -type f | wc -l //查看當前目錄下有多少個文件,然後統計輸出
案例:假如現在正在配置IP地址,當你進入vim之後,發現忘記IP地址了,然後使用“ctrl+z”去臨時返回到命令行,fg 返回到任務,也許有時候,後臺任務比較多,可以使用 jobs 來查看,然後恢復某個任務使用 fg+id ,或者把某個任務放到後臺去繼續執行 bg+id,一次性的把一個命令放到後臺去執行,# sleep 1000 & ,可以用jobs去查看。
系統內置變量
# env //查看系統變量
# set //查看系統自設的變量+用戶設置的變量
自定義變量:
# zhdy=winner //設置自定義的變量
# set | grep zhdy //查詢自定義變量中的zhdy
# unset zhdy //取消自定義的變量
# 變量名規則:字母、數字下劃線,首位不能爲數字
# 變量值有特殊符號時需要用單引號括起來
# a=’a$bc’ → # echo $a → # a$bc
# a=1;b=2 → #echo $a$b → # 12
# echo $SSH_TTY //查看自己在哪個TTY下面
#export zhdy=linux //製作一個全局的環境變量,
環境變量配置文件
系統層次的環境變量(千萬別去更改,除非特殊要求):
/etc/profile 用戶環境變量,交互,登錄才執行
/etc/bashrc 用戶不用登錄,執行shell就生效
用戶層次的環境變量(僅限於當前用戶):
~/.bashrc //自定義一些別名alias
~/.bash_profile //自定義一些變量。例:HISTSIZE=2000
~/.bash_history //自定義歷史相關配置
~/.bash_logout //自定義退出後所執行的動作
profile:用戶登錄的時候會使用到
bash:系統或者用戶執行一些shell
[root@zhdy-02 ~]# echo $PS1 //輸出左邊的一個格式
[\u@\h \W]\$
[root@zhdy-02 ~]# PS1='[\u@\h \w]\$’ //更改格式爲絕對路徑
[root@zhdy-02 ~]#cd /etc/sysconfig/network-scripts/
[root@zhdy-02 /etc/sysconfig/network-scripts]# //已經顯示爲絕對路徑了!!!
# PS1=’\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ ‘ //帶顏色的格式
當然這只是暫存在內存中,要是想要永久修改,一定要進入 # vim /etc/bashrc 去修改!