文件目錄:
1、help檢視內建命令幫助
2、檢視內建命令使用方法
3、":" 佔位符
4、 "." 與source
5、條件測試"["和test
6、命令別名alias和unalias
7、後臺任務相關bg/fg/jobs
8、break跳出迴圈
9、continue進入下一次迴圈
10、eval將引數當作命令執行
11、exit退出
12、export檢視或設定全域性變數
13、history檢視命令歷史記錄
14、read互動式賦值變數
15、type判斷命令型別
16、umlit修改系統資源使用限制
17、unset清空變數
---------------------------------------分割線:正文--------------------------------------------------------
內建命令在BASH直譯器中,天生與其他普通的命令不同,系統啟動成功時就在記憶體中。
執行效率遠遠高於普通命令。
而特殊的命令如:echo、pwd、kill等,既有內建命令版本,也有普通命令版本,用法一樣,我們能在磁碟上找到他們的程式檔案/bin/echo、/bin/pwd、/bin/kill,一般情況下,優先使用內建命令,除非顯示的執行/bin/echo這種全路徑命令
help help
help cd
shell指令碼中使用:作為佔位符,防止報錯
"." 與source常用於載入或執行shell指令碼
第一種執行方式:bash scrpt-name 或 sh scrpt-name執行方式:當沒有可執行許可權時經常使用的方法,此外,指令碼沒有直譯器時也需要用到。
第二種執行方式:source scrpt-name 或 . scrpt-name執行方式:讀入或載入指定的shell指令碼,然後,依次執行指定的shell指令碼中的所有指令碼,可傳遞值到父指令碼shell
[]與test條件控制使用
test -f file && echo true || echo false #如果file檔案存在並且是普通檔案就是真,不存在輸出false
[ -f file ] && echo 1 || echo 0 #檔案存在,返回1
alias #顯示系統別名
alias ens33='cat /etc/sysconfig/network-scripts/ifcfg-ens33' #設定ens33別名
unalias ens33 #刪除別名
bg:將前臺執行任務轉入後臺,或者將後臺暫停的任務執行起來;fg命令和bg命令相反,它是將後臺任務調到前臺來執行;jobs命令可以用於檢視後臺任務列表
jobs #檢視任務列表
bg # bg 1將第一個任務啟動
fg #將後臺任務調入前臺
nc -l 12345 & #直接使用&將任務放入後臺,並且任務狀態是執行的
kill %1 #快速殺除後臺任務
eval echo '`hostname -I`' #eval命令,單引號失效了,eval命令可以優先解析或執行單引號內的變數或命令
exit #退出命令列,等價於logout,ctrl+d
退出指令碼
export -p #-p列印所有環境變數
export MYEVN=7 #設定全域性變數
history | more #顯示所有歷史記錄
history 10 #檢視最近n條的歷史記錄
history -d 1019 #刪除指定的歷史記錄
history -c #清除所有命令的歷史記錄
read #等待輸入
read one #儲存到$one變數內
read one two #接多個變數,輸入時空格分割
read -p "請輸入你的年齡" age #-p可以定義顯示在命令列的提示語句
read -t 3 -p "請輸入你的年齡:" age #-t指定等待超時的秒
read -s -p "請輸入你的銀行卡密碼:" pass #-s關閉回顯
read -n 3 -p "max=3輸入:" num #-n設定輸入的最大長度
type ls #顯示ls最主要的資訊
type -t ls #精簡顯示命令型別為別名
type -a ls #顯示所有相關資訊
type cd #顯示內建命令型別
ulimit -a #顯示當前所有系統資源使用限制
在上面這些引數中,通常我們關注得比較多:
open files: 一個程式可開啟的最大檔案數.
max user processes: 系統允許建立的最大程式數量.
通過 ps -efL|grep java |wc -l 檢視目前java程式的程式數,如果超過限制需要修改
ulimit -n #檢視開啟檔案的最大數量
ulimit -n 65535 #調整,但之當前視窗生效
echo '* - nofile 65535' >> /etc/security/limits.conf #修改配置永久生效(重新登入視窗)
unset MRWHITE MRSLU #將變數值清空