type命令介紹
type 命令用于查找 Linux 命令的信息。顧名思義,你可以使用 type 命令輕松找出給定的命令是否是別名、shell 內(nèi)置命令、文件、函數(shù)或關(guān)鍵字。另外,你也可以找到命令的實(shí)際路徑。為什么有人需要找到命令類型?例如,如果你經(jīng)常在共享的計(jì)算機(jī)上工作,則某些人可能會(huì)故意或意外地為特定的 Linux 命令創(chuàng)建別名來執(zhí)行不需要的操作,例如 alias ls = rm -rf /。因此,在發(fā)生更糟糕的事情之前檢查它們總是一個(gè)好主意。這是 type 命令有用的地方。
讓我給你看一些例子。
不帶任何選項(xiàng)運(yùn)行 type 命令。
$ type lsls is aliased to `ls --color=auto'
正如你在上面的輸出中看到的那樣,ls 命令已被別名為 ls -color-auto。但是,它是無害的。但只要想想 ls 如果被別名為了其他一些危險(xiǎn)的命令。你不想那樣,是嗎?
你可以使用 -t 選項(xiàng)僅找出 Linux 命令的類型。例如:
$ type -t lsalias
$ type -t mkdirfile
$ type -t pwdbuiltin
$ type -t ifkeyword
$ type -t rvmfunction
該命令僅顯示命令的類型,例如別名。它不顯示被別名的內(nèi)容。如果該命令找不到,你將在終端中看不到任何內(nèi)容。
type 命令的另一個(gè)有用的地方是我們可以很容易地找出給定 Linux 命令的絕對(duì)路徑。為此,請(qǐng)使用 -p 選項(xiàng),如下所示。
$ type -p cal/usr/bin/cal
這與 which ls 命令類似。如果給定的命令是別名,則不會(huì)打印任何內(nèi)容。
要顯示命令的所有信息,請(qǐng)使用 -a 選項(xiàng)。
$ type -a lsls is aliased to `ls --color=auto'ls is /usr/bin/lsls is /bin/ls
如你所見,-a 標(biāo)志顯示給定命令的類型及其絕對(duì)路徑。有關(guān)更多詳細(xì)信息,請(qǐng)參閱手冊(cè)頁。
$ man type