Linux命令
Linux命令是對Linux系統進行管理的命令。對于Linux系統來說,無論是中央處理器、內存、磁盤驅動器、鍵盤、鼠標,還是用戶等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命令類似。linux命令在系統中有兩種類型:內置Shell命令和外部命令。
-
命令格式
COMMAND [OPTIONS…] [ARGUMENTS…]
OPTIONS 選擇 包括長選項和短選項 長選項:–all 短選項:-a
ARGUMENTS 參數 命令作用的對象,不如文件名,用戶名等一個命令可以有多個選項 比如 ls -a -l /etc
取消命令Ctrl+c
多個命令之間用;隔開
一個命令可以用 \ 分行
-
內置Shell命令與外部命令
內置Shell命令
shell自帶的命令稱為內置Shell命令,可以通過help命令(help本身也是Shell內置命令)來查看Shell內置命令列表;
enable cmd 可以啟用內部命令;
enable -n cmd 可以禁用內部命令;
enable -n 可以查看所有被禁用命令。
禁用內置命令不代表這個命令不可用,如果這個命令同時還是外部命令,那禁用這個命令后,系統會去外部查找這個命令。比如echo這個命令。我們可以使用type來查看這個命令是Shell內置還是外部命令。
![]()
可見echo是內部命令,這時我們禁用這個命令后在用那個type看看。
![]()
這時它不再是內部命令而變成了外部命令。
外部命令
在文件系統路徑下有對應的可執行程序文件
可使用which -a或者whereis來查看一個命令的路徑
-
Hash緩存表
什么是Hash緩存表?
Hash緩存表是用來緩存用戶執行過的外部命令,當執行一個命令時,系統首先判斷它是內部命令還是外部命令,如果是內部命令直接使用,如果是外部命令,則去查找Hash緩存表,如果有緩存則直接調用,如果沒有則去PATH路徑下查找。
hash常見用法
hash 顯示hash緩存的所有命令,包括命中次數
hash -l 顯示hash緩存的所有命令,包括相關詳細信息如路徑,命令類型
hash -p path name 將命令的全路徑取個別名為name
hash -t name 打印緩存中的name路徑
hash -d name 清楚名為name的緩存
hash -r 清除hash表中所有的緩存
-
別名 alias
使用alias命令可以查看所有的命令別名,alias NAME=”echo”,當用戶執行NAME時相當于執行了echo命令。
直接這樣寫別名是不能永久生效的,需要去配置文件寫,
僅對當前用戶有效:~/.bashrc
對所有用戶有效:/etc/bashrc
配置好后不會立即生效,需要重新登錄或者使用source或者 . 來重新讀取配置文件 比如 . /etc/bashrc。
unalias命令可以取消別名 -a 可以取消所有別名
如果別名和原命重名而需要執行原命令時,可用”\command”或者’command’ 或/PATH/command
-
命令執行優先級
別名(alias)>內置Shell命令>緩存(hash)>外部命令($PATH)
原創文章,作者:657188918,如若轉載,請注明出處:http://www.www58058.com/80585