关于ubuntu的“关键性”疑问(极为关键,不骗你的)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
四海皆狂龙
帖子: 154
注册时间: 2009-04-30 16:00

Re: 关于ubuntu的“关键性”疑问(极为关键,不骗你的)

#16

帖子 四海皆狂龙 » 2010-05-01 13:01

那么我还有疑问,假设我要手动创建连接(快捷方式),有什么方法?
还有,假设我安装过软件,我把软件的目录下的文件备份出来。下次重装系统,我再把该目录的文件复制到原来位置,然后创建一个连接到桌面,是否可以(也就是是否需要重新安装该软件)?
四海皆狂龙
帖子: 154
注册时间: 2009-04-30 16:00

Re: 关于ubuntu的“关键性”疑问(极为关键,不骗你的)

#17

帖子 四海皆狂龙 » 2010-05-01 13:11

kamui0523 写了:
四海皆狂龙 写了::em09
比如说
1.程序是如何关联的,对于WINDOWS系统来说使用的是注册表来关联,ubuntu既然也可双击提醒运用某打开,自然就应该有类似的机制吧,这个机制是什么?
2.同样可以看到类似于类似于WINDOWS的快捷方式的东西,而ubuntu又是如何实现的,我们又有什么方法知道该快捷方式关联到具体的位置?
3.ubuntu 也应该有文件类型吧,类似于常见的DEB,常用于安装,但是DEB文件是否就意味着WINDOWS的EXE和COM这样的执行文件?而ubuntu系统的执行文件又是什么类型的文件,而更多的类型还有什么?
好,暂时就这些。虽然我们常常是对一个文件指点点打开,但我们认为了解其运作机制才是正道,才可以一通百通。
1.linux下没有注册表这个东西,唯一有关联性的就是lib库,相当于win下的dll,也就是说,只要lib库正确,即使你默认装在A目录下的程序,直接剪切到B目录照样可以运行,这还只是针对于二进制程序的,如果是SHELL或者PERL或者PYTHONE写的程序,直接复制到其他机器都可以直接运行.
2.比如/bin/sh是个软连接,可以通过ls -l /bin/sh来查看连接的源文件是哪个
3.linux不靠后缀识别文件,靠的是文件的header信息,即使一个aaa.mp3,你改成aaa.doc,照样可以播放.
其他问题相信LS几位已经回答很清楚了.
我仍旧无法理解的是,上面似乎很少提及执行文件细节,那么程序文件是如何被启动的?我知道windows的dll是不可以直接运行的,必须通过exe这样的文件启动来调用dll。那么ubuntu应用程序启动的过程是怎么样的。
kappa8086
帖子: 308
注册时间: 2008-06-23 14:42

Re: 关于ubuntu的“关键性”疑问(极为关键,不骗你的)

#18

帖子 kappa8086 » 2010-05-01 13:50

你就按windows方式理解好了,不同的是linux的“注册表”按不同配置文件存储而已,比如文件打开方式全局的在/usr/share/applications/defaults.list,用户级的在~/.local/share/applications/mimeapps.list;同时这两个目录下搜索到的.desktop文件会对不同文件类型产生“打开方式”列表。
linux下文件至少有两种属性和windows的不同,一是是否可执行,二是是否隐藏。前者在windows下全靠文件扩展名判断,而linux下则为单独的属性(准确地说是权限的一部分);后者相反,windows下是独立的属性,linux靠文件名前面加点。

创建链接的方式,除了命令行ln之外,nautilus中按住alt键拖放会有相应选项。和windows的不同在于,linux下的链接是文件系统级的,对于就算不是桌面程序也透明。
回复