Files
輸入 ls 命令
所以我在某處研究了該
type
命令,並開始知道該type
命令可以提供與它一起使用的命令的位置,更具體地說是與該命令關聯的執行檔的位置,所以我嘗試了該type
命令與一些基本命令,如ps
,等得到了他們的位置,但是當我使用時,我得到了不同的東西wc``date``type``ls
ls is aliased to `ls --color=auto'
但我期待一個位置。
該
type
命令不僅僅是為您提供執行檔的位置。讓我從以下輸出中引用help type
:顯示有關命令類型的資訊。
對於每個 NAME,指出如果用作命令名稱將如何解釋。
也就是說
type
,對於給定的參數,該命令會告訴您,如果將其用作命令,shell 將如何解釋它。對於路徑中的執行檔,它將為您提供它們的位置。但是還有其他類型的命令不是可執行的。其中包括 bash 內置函式。例如,該命令cd
是一個 bash 內置命令:$ type cd cd is a shell builtin
換句話說,沒有名為
cd
. 相反,它是由 shell 直接解釋的命令;它是 shell 語言的一部分。同樣,該命令type
是一個 bash 內置命令:$ type type type is a shell builtin
另一種類型的命令是別名。別名可用作方便的使用者自定義快捷方式,用於輸入冗長的命令。您可以鍵入
alias
以查看目前在您的 shell 中設置的別名。對我來說,它給出了:$ alias alias ll='ls -la' alias ls='ls --color=auto'
(還有一些我自己配置的,但為了簡單起見,我跳過了它們)
因此,如果我輸入
type ls
,我會得到ls
一個別名資訊,就像你的情況一樣:$ type ls ls is aliased to `ls --color=auto'
這僅僅是因為您的發行版在使用者的 shell 配置中的某處設置了此別名(例如,
.bashrc
如果您使用的是 bash)。原因是這樣,ls
命令的輸出總是有顏色的(預設情況下不是)。如果你想知道ls
如果這個別名不存在意味著什麼,你可以簡單地ls
在你目前的 shell 會話中取消別名,然後使用type ls
:$ unalias ls $ type ls ls is hashed (/bin/ls)