LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2348|回复: 11

linux下运行程序的疑问

[复制链接]
发表于 2005-5-21 23:30:37 | 显示全部楼层 |阅读模式
为什么有的程序运行时只需要载控制台输入命令就行了?比如我的小企鹅输入法,只需要输入fcitx就可以了。而且好象是在任何目录下都可以运行这个程序。

但是我的firefox浏览器装在/usr/local/firefox-installer下面,我要起动firefox还要去这个目录下,而且运行时要用./firefox这种在前面加上./的特殊格式。

请问:这是为什么?在windows下只要双击就可以运行程序了,好方便呀,在linux下运行程序还要用这种特殊的语法!
发表于 2005-5-22 00:04:19 | 显示全部楼层
哦,是这样。

一般可执行的命令或脚本都在bin目录里,如/usr/bin,/usr/local/bin等

在/usr/bin做firefox的链接,就能在任意目录下运行firefox启动firefox了。

ln firefox /usr/bin

还可以在桌面建立“启动器”(相当于win下的快捷方式),这样双击就能运行它。

如果安装的是该版本的rpm包,则在应用程序菜单里也会有firefox的图标。
回复 支持 反对

使用道具 举报

发表于 2005-5-22 10:07:12 | 显示全部楼层
Post by zengkun_100
为什么有的程序运行时只需要载控制台输入命令就行了?比如我的小企鹅输入法,只需要输入fcitx就可以了。而且好象是在任何目录下都可以运行这个程序。

但是我的firefox浏览器装在/usr/local/firefox-installer下面,我要起动firefox还要去这个目录下,而且运行时要用./firefox这种在前面加上./的特殊格式。

请问:这是为什么?在windows下只要双击就可以运行程序了,好方便呀,在linux下运行程序还要用这种特殊的语法!

man bash, 找 PATH 的解释
PATH 的用法, windows 里面也有,并且是差不多的,命令行下执行命令,大部分程序都在 path 里面,所以任何目录下都可以运行。可是也会有很多程序找不到。

双击图标的事情,linux 和 windows 是完全相同的,你可以双击一个应用程序的可执行文件,也可以双击它的快捷方式,另外 linux 还多一个链接的概念,你直接双击一个应用程序的链接也可以启动它。问题在于,大部分 linux 应用程序并不像 windows 应用程序那样创建快捷方式,所以你也很少双击了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-25 23:10:17 | 显示全部楼层
还有一个问题想请教:就是为什么有的程序运行的时候直接用程序的名字就行了,而有的需要在前面加上./然后再写程序的名字?
回复 支持 反对

使用道具 举报

发表于 2005-5-25 23:46:52 | 显示全部楼层
其实这个问题版主已经解释得很清楚了。有的程序在系统的PATH搜索范围内,你打入程序执行名字系统自动找到并运行,可有的程序没有在PATH的搜索范围内,你就要加上路径来执行了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-5 22:03:09 | 显示全部楼层
path的问题,我已经理解了。
问题是:为什么我明明已经进入到某个目录下了,运行该目录下的程序还要写“./程序名”呢?我就直接写“程序名”它为什就不运行呢?
./好像说明是本目录的意思吧,运行本目录下的程序还要在前面加./指名本目录是不是多此一举?
回复 支持 反对

使用道具 举报

发表于 2005-11-6 13:42:02 | 显示全部楼层
运行本目录下的程序前面加./
可能是为了避免运行在path中也存在的同名的程序
回复 支持 反对

使用道具 举报

发表于 2005-11-6 15:13:36 | 显示全部楼层
因为当前路径不在path里面
回复 支持 反对

使用道具 举报

发表于 2005-11-7 02:10:32 | 显示全部楼层
又学到东西了,呵呵,刚刚在桌面上建了一个LumaQQ的快捷图标,谢谢大家了哈!
回复 支持 反对

使用道具 举报

发表于 2005-11-7 22:48:15 | 显示全部楼层
长知识了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表