linux中的命令大致可分為兩類,內(nèi)部命令和外部命令
內(nèi)部命令:也稱shell內(nèi)嵌命令;
外部命令:存放在一個文件中,使用時需要去文件中查找,這些文件被定義在$PATH
[root@centos7 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
type命令可以查看命令類型,以區(qū)別是內(nèi)部命令還是外部命令
例
[root@centos7 ~]# type cd
cd is a shell builtin
[root@centos7 ~]# type ls
ls is aliased to `ls --color=auto'
[root@centos7 ~]# type ifconfig
ifconfig is /usr/sbin/ifconfig
可以看到,cd為shell內(nèi)嵌命令,ls命令為ls --color=auto的別名,ifconfig命令為外部命令在文件/usr/sbin/ifconfig中。
內(nèi)部命令與外部命令查看幫助的區(qū)別
內(nèi)部命令:
使用help COMMAND
[root@centos7 ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the shell working directory.
......
也可使用man命令查看bash幫助文檔
enable命令可以禁用內(nèi)部命令;
enable -n 內(nèi)部命令: 禁用內(nèi)部命令(重啟失效)
:enable -n cd
enable 內(nèi)部命令:解除禁用
:enable cd
外部命令:
外部命令查看幫助的方法相對與內(nèi)部命令還是比較多的
① command --help 或 command -h
命令的不同存在一些實用長選項 --help或短選項 -h的區(qū)別
例:[root@centos7 ~]# ifconfig --help
Usage:
ifconfig [-a] [-v] [-s] [[]
]
[add
[/]]
......
②使用man手冊查看幫助linux命令, man command
例:[root@centos7 ~]# man ifconfig
IFCONFIG(8) Linux System Administrator's Manual IFCONFIG(8)
NAME
ifconfig - configure a network interface
......
③使用info命令查看信息頁
例:[root@centos7 ~]# info ifconfig
File: *manpages*, Node: ifconfig, Up: (dir)
IFCONFIG(8) Linux System Administrator's Manual IFCONFIG(8)
NAME
ifconfig - configure a network interface
......
④使用程序自身的幫助文檔
在一些程序下有些README INSTALL ChangeLog文件,可以查看文件內(nèi)容幫助使用。
⑤程序的官方文檔或發(fā)行版的官方文檔
使用過外部命令會暫存在內(nèi)存中,可以使用hash命令查看內(nèi)存中的外部命令
hash命令:查看內(nèi)存中執(zhí)行的外部命令linux命令,
hash: hash [-lr] [-p pathname] [-dt] [name ...]
Remember or display program locations.
選項:
-r :清除內(nèi)存中的命令
-d command :刪除內(nèi)存中的command命令
有時我們會經(jīng)常使用一些很長的命令,為了便于使用我們可以使用別名的方法來重新命名命令,創(chuàng)建別名可以使用alias命令;直接執(zhí)行alias命令可以查看當前文件系統(tǒng)的別名列表,
命令別名alias name command
如:alias cp='cp -i'
上文已經(jīng)看到ls命令就是一個別名;
命令也存在同名的情況所以在執(zhí)行命令也存在優(yōu)先級
別名>內(nèi)部命令>內(nèi)存中的外部命令>外部命令
如果要使用優(yōu)先級較低的命令可以使用完整路徑或\COMMAND的方式來實現(xiàn)。