Linux执行命令./command与直接输入命令的区别

我们知道查看文件属性的命令ls的完整文件路径为:/bin/ls(这是绝对路径,)问什么我可以在任何地方执行,任何目录下输入ls就一定可以显示出一些信息而不会说找不到该/bin/ls命令,这是因为不同的用户有自己的path环境变量,在path环境变量中如果已经设置了这些路径,那就以在任何目录下执行命令ls,可以通过$Path查询包含的路径。

如果将ls有/bin/ls移动为/root/ls,然后自己也在/root目录下,那么能不能直接输入ls来执行?如果不能,该如何执行这个命令?

因为/root不在path指定的目录里,所以即使你在/root目录下,也不能查询到ls这个命令,执行不了。

可以在/root目录下执行  ./ls , 也可采取绝对路径 /root/ls执行

想要root在任何目录均可执行/root下面的ls,那么就将/root设置到path当中,  PATH="$PATH":/root  即可吧/root路径加入path当中

原文地址:https://www.cnblogs.com/pengfeiliu/p/4498761.html