1 type of command
The command types in linux are divided into two classes, one for the command that comes with the shell, the internal command, and the other for the command program on the filesystem, which is the external command . Advantages of INTERNAL Commands: command program in-memory, use the faster related commands: type,enable type - View command type (itself also internal command) type command enable - Disable or enable a specified internal command enable [options] COMMAND enable list all internal commands enable -n command disable specifying internal naming &Nbsp; enable COMMAND enable specified internal commands
2 External Command lookup order
The command is found on the system, in essence, to find the command program under a path. The path of the system lookup is saved through the path variable in linux. After the found program file is properly executed, The file path that it finds is saved to the hash table. The hash table, which is used to cache the command path that has been executed successfully, is saved to a specific memory space . Related Variables: path variable Save default value (centos6.x) # echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin :/usr/sbin:/usr/bin:/root/bin Related Commands: which,whereis,hash which - Display command full path which command whereis - Show command path and help document path whereis command hash - Forget or display the cache information in the hash table hash Listing Hash Table information hash -d COMMAND Delete cache of specified commands in the hash table hash -r Empty Hash table
3 Command aliases
Alias-command alias Create alias Name= ' VALUE ' example: Alias hh= ' echo hhhh ' Unalias-alias Unalias name
4 Find order Proofs
The order of 4.1 hash and path
Preparation link: View whoami path # which whoami /usr/bin/whoami Show current PATH value # echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin :/usr/bin:/root/bin Empty Hash Table # hash -r # hash hash: hash table empty Experimental Steps: execute whoami to save its path to the hash table . then move the WhoAmI file to another directory in path . The WhoAmI command is executed again, and if the WhoAmI command is displayed correctly, the WhoAmI program file is found in path, the lookup order is path takes precedence over hash, and vice versa . # whoami root # hash hits command 1 /usr/bin/whoami # mv /usr/bin/whoami /bin # whoami -bash: /usr/bin/whoami: No such file or directory cannot be found, proving to be the WhoAmI path found in the hash table. So hash takes precedence over path.
4.2 Internal and external order
Preparation session:     PWD is an internal command # type pwd pwd is a shell builtin pwd file is located on the path # which pwd /bin/pwd Empty Hash Table # hash -r hash: hash table empty disable PWD internal commands, Make it use external commands to perform pwd # enable -n pwd experimental steps: Cache the path of the PWD command to the hash table, and then copy the WhoAmI command to the path recorded in the hash, which is named pwd. , which enables the internal command of the PWD command to execute pwd. If the result shown is a result of WhoAmI, it is queried from the hash table, otherwise the internal command is queried. Vice versa . # pwd show current working directory path centos6.example.com # hash hits command 1 /bin/pwd # cp /usr/sbin/whoami /bin/pwd Copy the Whomai command to/bin and rename it to pwd cp: overwrite '/bin/pwd '? y # pwd Show Current user name root # enable pwd enable pwd internal command # pwd /root results PWD Displays the original information, proving that internal commands take precedence over external commands
4.3 Alias and external order
Preparation: Define an alias with the same name as PWD # alias pwd= ' echo Hello ' enable pwd internal command # Enabling PWD Experiment step: Use the PWD command to view the results. If the output hello, the alias is better than the inner and vice versa. # alias pwd= ' echo Hello ' # enable PWD # pwd Hello results show alias is better than internal command
5 Summary
The command is divided into: internal commands and external commands commands: type,enable,hash,which,whereis, alias,unalias variable: path (Save command Lookup path, separated by:) command Query order is: alias -> Internal Command -> hash -> path Supplemental: When using aliases, use the command itself temporarily. Implementation Method: \COMMAND ' COMMAND ' "COMMAND" /path/to/command absolute path to use command example: # alias echo= ' Echo 123 ' # echo abc 123 abc # \echo Abc abc
Command lookup mode for Linux commandsCommand lookup mode for Linux commands
1 type of command
The command types in linux are divided into two classes, one for the command that comes with the shell, the internal command, and the other for the command program on the filesystem, which is the external command . Advantages of INTERNAL Commands: command program in-memory, use the faster related commands: type,enable type - View command type (itself also internal command) type command enable - Disable or enable a specified internal command enable [options] COMMAND enable list all internal commands enable -n command disable specifying internal naming &Nbsp; enable COMMAND enable specified internal commands
2 External Command lookup order
The command is found on the system, in essence, to find the command program under a path. The path of the system lookup is saved through the path variable in linux. After the found program file is properly executed, The file path that it finds is saved to the hash table. The hash table, which is used to cache the command path that has been executed successfully, is saved to a specific memory space . Related Variables: path variable Save default value (centos6.x) # echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin :/usr/sbin:/usr/bin:/root/bin Related Commands: which,whereis,hash which - Display command full path which command whereis - Show command path and help document path whereis command hash - Forget or display the cache information in the hash table hash Listing Hash Table information hash -d COMMAND Delete cache of specified commands in the hash table hash -r Empty Hash table
3 Command Aliases
Alias-command alias Create alias Name= ' VALUE ' example: Alias hh= ' echo hhhh ' Unalias-alias Unalias name
4 Find order proofs
The order of 4.1 hash and path
Preparation link: View whoami path # which whoami /usr/bin/whoami Show current PATH value # echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin :/usr/bin:/root/bin Empty Hash Table # hash -r # hash hash: hash table empty Experimental Steps: execute whoami to save its path to the hash table . then move the WhoAmI file to another directory in path . The WhoAmI command is executed again, and if the WhoAmI command is displayed correctly, the WhoAmI program file is found in path, the lookup order is path takes precedence over hash, and vice versa . # whoami root # hash hits command 1 /usr/bin/whoami # mv /usr/bin/whoami /bin # whoami -bash: /usr/bin/whoami: No such file or directory cannot be found, proving to be the WhoAmI path found in the hash table. So hash takes precedence over path.
4.2 internal and external order
Preparation session:     PWD is an internal command # type pwd pwd is a shell builtin pwd file is located on the path # which pwd /bin/pwd Empty Hash Table # hash -r hash: hash table empty disable PWD internal commands, Make it use external commands to perform pwd # enable -n pwd experimental steps: Cache the path of the PWD command to the hash table, and then copy the WhoAmI command to the path recorded in the hash, which is named pwd. , which enables the internal command of the PWD command to execute pwd. If the result shown is a result of WhoAmI, it is queried from the hash table, otherwise the internal command is queried. Vice versa . # pwd show current working directory path centos6.example.com # hash hits command 1 /bin/pwd # cp /usr/sbin/whoami /bin/pwd Copy the Whomai command to/bin and rename it to pwd cp: overwrite '/bin/pwd '? y # pwd Show Current user name root # enable pwd enable pwd internal command # pwd /root results PWD Displays the original information, proving that internal commands take precedence over external commands
4.3 alias and external order
Preparation: Define an alias with the same name as PWD # alias pwd= ' echo Hello ' enable pwd internal command # Enabling PWD Experiment step: Use the PWD command to view the results. If the output hello, the alias is better than the inner and vice versa. # alias pwd= ' echo Hello ' # enable PWD # pwd Hello results show alias is better than internal command
5 Summary
The command is divided into: internal commands and external commands commands: type,enable,hash,which,whereis, alias,unalias variable: path (Save command Lookup path, separated by:) command Query order is: alias -> Internal Command -> hash -> path Supplemental: When using aliases, use the command itself temporarily. Implementation Method: \COMMAND ' COMMAND ' "COMMAND" /path/to/command absolute path to use command example: # alias echo= ' Echo 123 ' # echo abc 123 abc # \echo Abc abc
This article is from the "12064120" blog, please be sure to keep this source http://12074120.blog.51cto.com/12064120/1962290
Command lookup mode for Linux commands