![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Linux愛好者2018-04-13 10:29:55
(點擊上方公眾號,可快速關注)
英文:SK,翻譯:Linux中國/geekpi
linux.cn/article-9519-1.html
type 命令用於查找 Linux 命令的信息。顧名思義,你可以使用 type 命令輕鬆找出給定的命令是否是別名、shell 內置命令、文件、函數或關鍵字。另外,你也可以找到命令的實際路徑。為什麼有人需要找到命令類型?例如,如果你經常在共享的計算機上工作,則某些人可能會故意或意外地為特定的 Linux 命令創建別名來執行不需要的操作,例如 alias ls = rm -rf /。因此,在發生更糟糕的事情之前檢查它們總是一個好主意。這是 type 命令有用的地方。
讓我給你看一些例子。
不帶任何選項運行 type 命令。
$ type ls
ls is aliased to `ls --color=auto'
正如你在上面的輸出中看到的那樣,ls 命令已被別名為 ls -color-auto。但是,它是無害的。但只要想想 ls 如果被別名為了其他一些危險的命令。你不想那樣,是嗎?
你可以使用 -t 選項僅找出 Linux 命令的類型。例如:
$ type -t ls
alias
$ type -t mkdir
file
$ type -t pwd
builtin
$ type -t if
keyword
$ type -t rvm
function
該命令僅顯示命令的類型,例如別名。它不顯示被別名的內容。如果該命令找不到,你將在終端中看不到任何內容。
type 命令的另一個有用的地方是我們可以很容易地找出給定 Linux 命令的絕對路徑。為此,請使用 -p 選項,如下所示。
$ type -p cal
/usr/bin/cal
這與 which ls 命令類似。如果給定的命令是別名,則不會打印任何內容。
要顯示命令的所有信息,請使用 -a 選項。
$ type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls
如你所見,-a 標誌顯示給定命令的類型及其絕對路徑。有關更多詳細信息,請參閱手冊頁。
$ man type
希望這有幫助。會有更多的好東西。請繼續訪問!
乾杯!
看完本文有收穫?請分享給更多人
關注「Linux 愛好者」,提升Linux技能
淘口令:複製以下紅色內容,再打開手淘即可購買
範品社,使用¥極客T恤¥搶先預覽(長按複製整段文案,打開手機淘寶即可進入活動內容)