linux type命令

我使用過的Linux命令之type - 顯示命令的類型

本文連接:http://codingstandards.iteye.com/blog/831504   (轉載請註明出處)php

 

用途說明

type命令用來顯示指定命令的類型。一個命令的類型能夠是以下之一html

  • alias 別名
  • keyword 關鍵字,Shell保留字
  • function 函數,Shell函數
  • builtin 內建命令,Shell內建命令
  • file 文件,磁盤文件,外部命令
  • unfound 沒有找到

它是Linux系統的一種自省機制,知道了是那種類型,咱們就能夠針對性的獲取幫助。好比內建命令能夠用help命令來獲取幫助,外部命令用man或者info來獲取幫助。linux

經常使用參數

type命令的基本使用方式就是直接跟上命令名字。shell

type -a能夠顯示全部可能的類型,好比有些命令如pwd是shell內建命令,也能夠是外部命令。bash

type -p只返回外部命令的信息,至關於which命令。網絡

type -f只返回shell函數的信息。函數

type -t 只返回指定類型的信息。ui

使用示例

示例一 type本身是什麼類型的命令

[root@new55 ~]# type -a type 
type is a shell builtin
[root@new55 ~]# help type 
type: type [-afptP] name [name ...]
    For each NAME, indicate how it would be interpreted if used as a
    command name.
    
    If the -t option is used, `type' outputs a single word which is one of
    `alias', `keyword', `function', `builtin', `file' or `', if NAME is an
    alias, shell reserved word, shell function, shell builtin, disk file,
    or unfound, respectively.
    
    If the -p flag is used, `type' either returns the name of the disk
    file that would be executed, or nothing if `type -t NAME' would not
    return `file'.
    
    If the -a flag is used, `type' displays all of the places that contain
    an executable named `file'.  This includes aliases, builtins, and
    functions, if and only if the -p flag is not also used.
    
    The -f flag suppresses shell function lookup.
    
    The -P flag forces a PATH search for each NAME, even if it is an alias,
    builtin, or function, and returns the name of the disk file that would
    be executed.
typeset: typeset [-afFirtx] [-p] name[=value] ...
    Obsolete.  See `declare'.
[root@new55 ~]#.net

示例二 常見命令的類型

[root@new55 ~]# type -a cd 
cd is a shell builtin
[root@new55 ~]# type -a pwd 
pwd is a shell builtin
pwd is /bin/pwd
[root@new55 ~]# type -a time 
time is a shell keyword
time is /usr/bin/time
[root@new55 ~]# type -a date 
date is /bin/date
[root@new55 ~]# type -a which 
which is aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
which is /usr/bin/which
[root@new55 ~]# type -a whereis 
whereis is /usr/bin/whereis
[root@new55 ~]# type -a whatis 
whatis is /usr/bin/whatis
[root@new55 ~]# type -a function 
function is a shell keyword
[root@new55 ~]# type -a ls 
ls is aliased to `ls --color=tty'
ls is /bin/ls
[root@new55 ~]# type -a ll 
ll is aliased to `ls -l --color=tty'
[root@new55 ~]# type -a echo 
echo is a shell builtin
echo is /bin/echo
[root@new55 ~]# type -a bulitin 
-bash: type: bulitin: not found
[root@new55 ~]# type -a builtin 
builtin is a shell builtin
[root@new55 ~]# type -a keyword 
-bash: type: keyword: not found
[root@new55 ~]# type -a command 
command is a shell builtin
[root@new55 ~]# type -a alias 
alias is a shell builtin
[root@new55 ~]# type -a grep 
grep is /bin/grep
[root@new55 ~]#unix

問題思考

相關資料

【1】Blue_Stone's OpenWorld    Linux中的type命令     
【2】山海經  Linux中的type命令     
【3】鳥哥的私房菜  Bash shell 的內建命令: type    
【4】阮一峯的網絡日誌    Linux的五個查找命令   

相關文章
相關標籤/搜索