为什么要在linux命令前加上 ./ ?

简述

执行unix或linux中除了path系统变量外的目录下的命令都要加./。

修改用户的 .bash_profile,在 PATH一行最后加上 “:.” (一个冒号,一个点) ,然后退出重新登陆用户就ok了! PATH中没有定义路径,加上就ok了。

./表示当前目录,这是因为linux的默认搜索目录里没有当前目录,所以如果你在当前目录需要执行程序就要加上路径./,用全路径代替也是可以的。

win/dos的默认搜索路径里有当前目录,所以不需要加。其实加上也是一样的效果。

什么时候才需要在命令前加上./ ?

比如:

cd /etc/init.d

运行:sshd,系统没有什么反应也不出错,而只有加上./ 后,如 ./sshd 才会出提示如:

用法:./sshd {start|stop|restart|reload|condrestart|status}

这是怎么回事,而有的时候却两者都可以。

“.”表示当前目录,“./”表示执行当前目录下可执行文件。

首先,你运行了两个sshd,都没有报错,说明两个命令都可以。 一开始的sshd应该是/usr/sbin/下面的sshd命令。 第二次的sshd是/etc/init.d/下的一个脚本,不是二进制可执行文件。

linux优先查找PATH环境变量下的路径,和m$有点不一样。环境变量可以用echo $PATH命令查看。

总之,执行unix或linux中除了path系统变量外的目录下的命令都要加./。

最新文章

  1. SQL Server中使用Check约束提升性能
  2. Python批量修改文件名
  3. 由于无法在数据库 'TestNonContainedDB' 上放置锁 ALTER DATABASE 失败
  4. DirectX 常用选项(转)
  5. Asp.Net BulletedList
  6. PHP中的设计模式:单例模式(译)
  7. js iframe 跳转
  8. VS2012 内容存储区指定的位置无效或者您无权访错误
  9. WebBrowser加载一个URL被多次调用DocumentCompleted 的问题解决方案<转>
  10. java问题排查之Load CPU很高
  11. 访问链接出现 ERR_CONTENT_DECODING_FAILED 错误的解决办法
  12. 反向传播算法(前向传播、反向传播、链式求导、引入delta)
  13. 电信版华为MATE7 EMUI4.0回退3.1和3.0教程与中转包
  14. spring boot: 中文显示乱码,在applicationContext里面配置
  15. solr相关
  16. C# 数据上传(自用笔记)
  17. 【BZOJ】2657: [Zjoi2012]旅游(journey)(树的直径)
  18. poj 1018 Communication System (枚举)
  19. [BZOJ2754] [SCOI2012]喵星球上的点名解题报告|后缀数组
  20. python之MySQL学习——输出指定条件的结果集

热门文章

  1. Oracle ASM 详解
  2. 创建对象的一种方式&一种继承机制(代码实例)
  3. Windows10安装.net3.5
  4. Postgresql 创建账户,修改密码
  5. java操作Excel之POI(6)使用POI实现使用模板批量添加数据
  6. 杂项:flex (adobe flex)
  7. 1038 Recover the Smallest Number (30 分)
  8. 1058 A+B in Hogwarts (20 分)
  9. 1019 General Palindromic Number (20 分)
  10. IaaS,PaaS,SaaS 的区别和联系