如何理解Linux下使用“./”运行程序

 我来答
京斯年0GZ
2022-07-04 · TA获得超过6234个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:76.4万
展开全部
  我们在Linux下运行程序的时候,一般都是这样的操作的,例如启动Tomcat:

[root@hostname bin]# ./catalina.sh run

  我一直不理解这个“./”到底是什么意思,其实很好理解。

  1.首先,我们看一下Windows在命令行里是怎么运行可执行程序的:

  当前目录在D盘时,我运行C盘下的微信,需要指定完整的路径;当前目录就在微信的安装目录下时,我运行微信,直接指定exe可执行文件名就可以了。

  搞懂了Windows怎么运行程序,Linux也是一样,说白了,都是直接敲文件名就能执行。

  2.那Linux中的“.”到底是啥意思?为啥一定要敲一个“./”呢?

  .和./就是表示当前目录。同Windows一样,Linux也是当前目录下没有可执行文件时,需要指定完整的路径;当前目录下有可执行文件时,直接指定可执行文件名就可以了。只不过Linux有点呆呆的,执行当前目录下的可执行文件时,必须要额外多敲一个"./",否则的话它自己不知道在当前目录下找这个可执行文件。

  不加这个“./”,Linux就会从环境变量PATH中定义的路径中找可执行文件,只有加了这个“./”之后,Linux才会从当前目录中找可执行文件。

外延1:Windows和Linux中的command not found道理也是一样的,都是给定的路径不正确,导致找不到可运行文件。

Windows中直接运行微信如图:

Linux中直接运行Tomcat如图:

外延2:Windows中的PATH这个环境变量和Linux中的PATH作用是一样的

Windows中能直接运行记事本,就是因为环境变量PATH里设置了C:\Windows\System32这个路径

当把PATH里中的C:\Windows\System32这个路径去掉之后,就无法直接在命令行中运行记事本了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式