在Linux中自定义命令
Linux中的环境变量“PATH”
linux中的环境变量的作用和windows系统是一样的,都是用来存放可执行命令的路径。
可通过如下命令来查看Linux中的环境变量
echo $PATH
命令“type”可检测命令是否存在
当你准备自定义自己命令的时候,必须先要搞清楚系统中是否存在与你自定义命令,否则就会出现冲突,或者覆盖系统命令之类的后果,那么type命令就可以解决这个问题。
注意:type命令并不会检查系统中的所有命令,而只会在当前用户的环境变量所对应的路径中寻找。
type命令的应用可主要为以下几种情况:
判断某个命令是否存在以及命令类型
1.判断一个名字当前是否是alias、keyword、function、builtin、file或者什么都不是
type ls 的输出是 ls 是 `ls --color=auto’ 的别名
type if 的输出是 if 是 shell 关键字
type type 的输出是 type 是 shell 内嵌
type frydsh 的输出是 bash: type: frydsh: 未找到
2.判断一个名字当前是否是alias、keyword、function、builtin、file或者什么都不是的另一种方法(适用于脚本编程):
type -t ls 的输出是 alias
type -t if 的输出是 keyword
type -t type 的输出是 builtin
type -t gedit 的输出是 file
type -t frydsh 没有输出
3.显示一个名字的所有可能:
type -a kill 的输出是 kill 是 shell 内嵌 和 kill 是 /bin/kill
type -at kill 的输出是 builtin 和 file
4.查看一个命令的执行路径(如果它是外部命令的话):
type -p gedit 的输出是 /usr/bin/gedit
type -p kill 没有输出(因为kill是内置命令)
5.强制搜索外部命令:
type -P kill 的输出是 /bin/kill
whereis命令与which命令
相同点:whereis命令和which命令均可用来搜索linux操作系统中可执行文件的路径
不同点:
which:该命令的搜索范围仅限于环境变量PATH范围内的可执行文件,无法搜索到环境变量之外的可执行文件
whereis : 该命令可用来查找可执行文件、源文件和man文件。该命令可基于文件数据库进行查找,范围不限于环境变量PATH的范围。
补充locate与find的区别
待补充