type
命令用於查詢 Linux 命令的資訊。顧名思義,你可以使用 type
命令輕鬆找出給定的命令是否是別名、shell 內建命令、檔案、函式或關鍵字。另外,你也可以找到命令的實際路徑。為什麼有人需要找到命令型別?例如,如果你經常在共享的計算機上工作,則某些人可能會故意或意外地為特定的 Linux 命令建立別名來執行不需要的操作,例如 alias ls = rm -rf /
。因此,在發生更糟糕的事情之前檢查它們總是一個好主意。這是 type
命令有用的地方。
讓我給你看一些例子。
不帶任何選項執行 type
命令。
1 2 |
$ type ls ls is aliased to `ls --color=auto' |
正如你在上面的輸出中看到的那樣,ls
命令已被別名為 ls -color-auto
。但是,它是無害的。但只要想想 ls
如果被別名為了其他一些危險的命令。你不想那樣,是嗎?
你可以使用 -t
選項僅找出 Linux 命令的型別。例如:
1 2 3 4 5 6 7 8 9 10 |
$ type -t ls alias $ type -t mkdir file $ type -t pwd builtin $ type -t if keyword $ type -t rvm function |
該命令僅顯示命令的型別,例如別名。它不顯示被別名的內容。如果該命令找不到,你將在終端中看不到任何內容。
type
命令的另一個有用的地方是我們可以很容易地找出給定 Linux 命令的絕對路徑。為此,請使用 -p
選項,如下所示。
1 2 |
$ type -p cal /usr/bin/cal |
這與 which ls
命令類似。如果給定的命令是別名,則不會列印任何內容。
要顯示命令的所有資訊,請使用 -a
選項。
1 2 3 4 |
$ type -a ls ls is aliased to `ls --color=auto' ls is /usr/bin/ls ls is /bin/ls |
如你所見,-a
標誌顯示給定命令的型別及其絕對路徑。有關更多詳細資訊,請參閱手冊頁。
1 |
$ man type |
希望這有幫助。會有更多的好東西。請繼續訪問!
乾杯!