一
history 記錄歷史命令
預設記錄1000條命令,存儲在用戶家目錄 .bash_history 文件中;
!! 執行上一條命令
!n n爲數字,history裏面顯示的指令數字
!cat 執行最近一次以cat開頭的命令
!$ 上一條命令的最後一個參數
man builtin 可以查詢系統內置的所有命令;
二
指令和文件名補全
Tab鍵 連續按2次列出所有的指令或文件名;
三
別名alias
自定義別名,把很長的經常使用的命令別名一個簡單的命令
unalias 解除別名
別名永久生效的話,把命令寫入到當前用戶家目錄 .bashrc裏面;只對當前用戶生效。
四
通配符
* 代表零個或多個任意字符
? 代表1個任意字符
五
輸入輸出重定向
輸出重定向 >
把前面的輸出不顯示在當前屏幕上,輸出到指定文件裏面;
追加重定向 >> 把內容追加到文件裏面;
輸入重定向 < 把後面的文件作爲前面命令的輸入;
2> 錯誤重定向(寫腳本的時候會用到)
2>> 錯誤追加重定向
標準輸入設備stdin用0表示;鍵盤;
標準輸出設備 stdout用1表示,顯示器顯示;
標準輸出錯誤 stderr用2表示,顯示器顯示;
示例:直接ls 會在當前屏幕顯示出來,正確和錯誤的信息;
正確輸出1默認可以不用寫,直接重定向到1.log裏面,2代表錯誤輸出,重定向到&1代表前面的1.log;有時候也可以>>追加到日誌;
&表示所有,包括正確輸出1和錯誤輸出2,輸出重定向到all.log裏面;
六
管道符 |
把前面命令的輸出結果作爲後面命令的輸入
七
作業控制 |
當運行一個進程時,你可以使它暫停(按Ctrl+z),然後使用fg命令恢復它,利用bg命令使他到後臺運行,你也可以使它終止(按Ctrl+c)
jobs 可以查看被暫停或在後臺運行的任務
想要讓進程在後臺運行的話加 &,中間有空格,進程就在後臺運行了。
vmstat 1 用來觀察系統狀態的一個命令。
fg 2讓後臺運行的進程回到當前運行,ctrl+c 可以終止進程。
+號顯示的爲優先級最高。
另一種情況,關閉當前shell,重新打開另一個shell,使用jobs並不會顯示在後臺運行的進程。想要停止進程的話,需要知道pid,然後使用kill命令殺死進程。如遇到殺不死的進程,使用 kill -9 pid
八
變量 |
就是使用一個較簡單的字符串來替代某些具有特殊意義的設定以及數據。
通常shell預設的變量名爲大寫。可以使用echo查看變量;
常用變量有:PATH、HOME、LANG、PWD、LOGNAME、HOSTNAME
env 可以查看系統預設的所有環境變量;
set 可以列出系統預設的全部變量,包括用戶自己設定的變量;
自定義變量 變量名=變量內容
自定義變量只在當前shell下生效;bash命令打開一個新的shell,變量就不會生效,退出新shell後,回到當前shell,變量繼續生效;
變量永久生效的方法:
1)系統下所有用戶登錄都可以使用該變量
在/etc/profile 配置文件中最後一行,添加"export myname=YongLinux",然後執行source /etc/profile 生效;source命令的作用是,將目前設定的配置刷新,即不用註銷再登錄也能生效。
2)只在當前用戶下使用變量
在用戶的家目錄下 .bashrc 配置文件,添加"export myname=YongLinux",然後執行source .bashrc 生效;
自定義變量的規則
1、設定變量的格式“變量名=變量內容”等號兩邊不能有空格
2、變量名只能由英文、數字及下劃線組成,而且不能以數字開頭;
3、當變量內容帶有特殊字符(空格 $),需要加單引號;
如變量內容中本身有單引號,需要加雙引號;
4、如果變量內容需要引用其他運行結果,需要使用反引號
5、變量內容可以累加其他變量的內容,需要加雙引號。
單引號和雙引號的區別,用雙引號時不會取消掉裏面出現的特殊字符的本身作用(這裏的$),而使用單引號則裏面的特殊字符全部失去它本身的作用。