咨詢電話:023-6276-4481
熱門文章
電 話:023-6276-4481
郵箱:broiling@qq.com
地址:重慶市南岸區(qū)亞太商谷6幢25-2
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 ls ls is aliased to `ls --color=auto'
12 | $ type lsls is aliased to `ls --color=auto' |
$ type ls
ls is aliased to `ls --color=auto'
正如你在上面的輸出中看到的那樣,ls 命令已被別名為 ls -color-auto。但是,它是無害的。但只要想想 ls 如果被別名為了其他一些危險(xiǎn)的命令。你不想那樣,是嗎?
你可以使用 -t 選項(xiàng)僅找出 Linux 命令的類型。例如:
$ type -t ls alias $ type -t mkdir file $ type -t pwd builtin $ type -t if keyword $ type -t rvm function
12345678910 | $ type -t lsalias$ type -t mkdirfile$ type -t pwdbuiltin$ type -t ifkeyword$ type -t rvmfunction |
10
$ type -t ls
alias
$ type -t mkdir
file
$ type -t pwd
builtin
$ type -t if
keyword
$ type -t rvm
function
該命令僅顯示命令的類型,例如別名。它不顯示被別名的內(nèi)容。如果該命令找不到,你將在終端中看不到任何內(nèi)容。
type 命令的另一個(gè)有用的地方是我們可以很容易地找出給定 Linux 命令的絕對(duì)路徑。為此,請(qǐng)使用 -p 選項(xiàng),如下所示。
$ type -p cal /usr/bin/cal
12 | $ type -p cal/usr/bin/cal |
$ type -p cal
/usr/bin/cal
這與 which ls 命令類似。如果給定的命令是別名,則不會(huì)打印任何內(nèi)容。
要顯示命令的所有信息,請(qǐng)使用 -a 選項(xiàng)。
$ type -a ls ls is aliased to `ls --color=auto' ls is /usr/bin/ls ls is /bin/ls
1234 | $ type -a lsls is aliased to `ls --color=auto'ls is /usr/bin/lsls is /bin/ls |
$ type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls