書-Linux命令行與shell腳本編程大全(第3版)
我會把使用者名稱遮住,因為要保護個人隱私(・ω・)v
●內建命令與外部命令
○指令:history、!!、!
內建命令與外部命令
外部命令:
也被稱'文件系統命令',通常存在於/bin、/usr/bin、/sbin、usr/sbin。
我們所使用的ps就是外部命令,只要使用type只要顯示上面的目錄名稱都是外部命令。
$which ps
$type -a ps
$ls -l /bin/ps
使用ps命令時,是由父shell創建一個子shell去執行ps命令,此過程稱為衍生(forking)。
內建命令:
跟內部命令相反,只要使用了type不是上述目錄內的都是內建命令,因為不用衍生出子shell所以速度會比較快。
$type cd
$type fc
有些指令有內部指令也有外部指令。
$type -a echo
$type -a pwd
用which只看的到外部命令。
指令:history、!!、!
$history
打上指令history就會顯示出你使用過的指令(1000筆)
一般來說要使用上一個指令通常都是用上鍵就可以找到,但是使用兩個驚嘆號'!!'就會幫你直接執行上個執行的指令很方便。
$cat .bash_history
使用此指令也可以看到紀錄,是個隱藏文件,但是當前CIL(命令行介面)所打的指令會先存放在內存中,結束時才會寫入歷史紀錄中。
$history -a
$history -n
只要用了第1個指令就可以強制把指令寫到歷史紀錄中
第1個指令僅限於開啟1個CIL的情況下,所以如果開多個CIL用history -a 就只會寫入第1個CIL,history -n就是強制寫入所有的CIL的歷史指令。
$history
$!182
使用history後會看到旁邊有編號,只要驚嘆號+編號就可以直接執行編號中的命令,很方便
下集待續