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

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

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

#1

帖子 四海皆狂龙 » 2010-04-30 8:25

:em09
比如说
1.程序是如何关联的,对于WINDOWS系统来说使用的是注册表来关联,ubuntu既然也可双击提醒运用某打开,自然就应该有类似的机制吧,这个机制是什么?
2.同样可以看到类似于类似于WINDOWS的快捷方式的东西,而ubuntu又是如何实现的,我们又有什么方法知道该快捷方式关联到具体的位置?
3.ubuntu 也应该有文件类型吧,类似于常见的DEB,常用于安装,但是DEB文件是否就意味着WINDOWS的EXE和COM这样的执行文件?而ubuntu系统的执行文件又是什么类型的文件,而更多的类型还有什么?
好,暂时就这些。虽然我们常常是对一个文件指点点打开,但我们认为了解其运作机制才是正道,才可以一通百通。
头像
gyteng
帖子: 762
注册时间: 2009-07-02 11:24
来自: SCUT

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

#2

帖子 gyteng » 2010-04-30 8:31

linux不是靠后缀来判断文件的类型的
四海皆狂龙
帖子: 154
注册时间: 2009-04-30 16:00

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

#3

帖子 四海皆狂龙 » 2010-04-30 10:09

看来积极性不高哦 :em17
头像
goldfox_79
帖子: 2004
注册时间: 2005-10-16 8:26
来自: 地球

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

#4

帖子 goldfox_79 » 2010-04-30 10:31

四海皆狂龙 写了::em09
比如说
1.程序是如何关联的,对于WINDOWS系统来说使用的是注册表来关联,ubuntu既然也可双击提醒运用某打开,自然就应该有类似的机制吧,这个机制是什么?
2.同样可以看到类似于类似于WINDOWS的快捷方式的东西,而ubuntu又是如何实现的,我们又有什么方法知道该快捷方式关联到具体的位置?
3.ubuntu 也应该有文件类型吧,类似于常见的DEB,常用于安装,但是DEB文件是否就意味着WINDOWS的EXE和COM这样的执行文件?而ubuntu系统的执行文件又是什么类型的文件,而更多的类型还有什么?
好,暂时就这些。虽然我们常常是对一个文件指点点打开,但我们认为了解其运作机制才是正道,才可以一通百通。
小白瞎猜

2. 实际上就是ln创建的一个链接

3. deb实际上是若干程序打包/压缩存放在一起生成的文件,同时添加了一些必要的信息,比如每个程序应该拷贝复制到哪里,跟exe好像不是一个概念
四海皆狂龙
帖子: 154
注册时间: 2009-04-30 16:00

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

#5

帖子 四海皆狂龙 » 2010-04-30 12:07

看来还是要等救兵阿
可爱的诡异
帖子: 1
注册时间: 2009-10-01 11:37

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

#6

帖子 可爱的诡异 » 2010-04-30 17:34

ubuntu-tweak里面可以设置 :em11

具体实现原理不晓得 :em03
头像
farta
帖子: 443
注册时间: 2009-02-24 2:48

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

#7

帖子 farta » 2010-04-30 17:46

大致回答一下第二个和第三个问题。看起来像Windows下的快捷方式的那种文件,在Linux下叫“符号连接(symbolic link)”。其功能也确实和Windows下的快捷方式差不多。

想查看他的目标是什么很简单。在GUI下可以直接右击选属性,属性窗口中会显示他的目标。

在CLI下也很简单。用file命令探测这个文件就可以。

farta@farta-desktop:~$ file /initrd.img
/initrd.img: symbolic link to `boot/initrd.img-2.6.32-21-generic'

farta@farta-desktop:~/下载$ file /usr/bin/gcc
/usr/bin/gcc: symbolic link to `gcc-4.4'

然后是可执行文件的类型的问题。Linux下并没有规定可执行文件的扩展名,而且绝大多数Linux下的二进制可执行文件实际上都是没有扩展名的。要求执行任何一个文件时,Linux会自己探测此文件是否是可执行文件,以及你有没有执行他的权限。Linux下的二进制可执行文件的ELF格式,也与Windows下的PE格式不同。至于deb格式的文件,其实是一种特殊的压缩包。除了像普通的压缩包那样包含有文件外,还包含有如何安装其中的程序的信息。它并不是可执行文件,安装deb包的是dpkg程序。

想查看一个文件的类型,最好的方法还是file命令。探测一个文件的时候,通常只有这样的结果才能表明这是一个像Windows下的exe那样的二进制可执行文件。

farta@farta-desktop:~/下载$ file /usr/bin/gcc-4.4
/usr/bin/gcc-4.4: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
四海皆狂龙
帖子: 154
注册时间: 2009-04-30 16:00

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

#8

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

可爱的诡异 写了:ubuntu-tweak里面可以设置 :em11

具体实现原理不晓得 :em03
只发了一个帖子啊 :em20
四海皆狂龙
帖子: 154
注册时间: 2009-04-30 16:00

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

#9

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

farta 写了:大致回答一下第二个和第三个问题。看起来像Windows下的快捷方式的那种文件,在Linux下叫“符号连接(symbolic link)”。其功能也确实和Windows下的快捷方式差不多。

想查看他的目标是什么很简单。在GUI下可以直接右击选属性,属性窗口中会显示他的目标。

在CLI下也很简单。用file命令探测这个文件就可以。

farta@farta-desktop:~$ file /initrd.img
/initrd.img: symbolic link to `boot/initrd.img-2.6.32-21-generic'

farta@farta-desktop:~/下载$ file /usr/bin/gcc
/usr/bin/gcc: symbolic link to `gcc-4.4'

然后是可执行文件的类型的问题。Linux下并没有规定可执行文件的扩展名,而且绝大多数Linux下的二进制可执行文件实际上都是没有扩展名的。要求执行任何一个文件时,Linux会自己探测此文件是否是可执行文件,以及你有没有执行他的权限。Linux下的二进制可执行文件的ELF格式,也与Windows下的PE格式不同。至于deb格式的文件,其实是一种特殊的压缩包。除了像普通的压缩包那样包含有文件外,还包含有如何安装其中的程序的信息。它并不是可执行文件,安装deb包的是dpkg程序。

想查看一个文件的类型,最好的方法还是file命令。探测一个文件的时候,通常只有这样的结果才能表明这是一个像Windows下的exe那样的二进制可执行文件。

farta@farta-desktop:~/下载$ file /usr/bin/gcc-4.4
/usr/bin/gcc-4.4: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
如此看来,区别很大。不过,还是实现方法不同而已。
有必要深入了解。
头像
samool
帖子: 42
注册时间: 2007-10-08 19:26

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

#10

帖子 samool » 2010-05-01 8:41

linux是靠配置文件来关联一切的,没有所谓的注册表。也就是为什么有些系统设置要修改配置文件的参数,而不是修改注册表,不同的程序,模块,有不同的配置表。
头像
速腾1994
论坛版主
帖子: 17379
注册时间: 2008-11-01 20:43
系统: Arch+gnome

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

#11

帖子 速腾1994 » 2010-05-01 9:24

:em11 :em11
头像
lainme
论坛版主
帖子: 7805
注册时间: 2008-09-13 19:17
系统: Arch Linux (x86_64)
联系:

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

#12

帖子 lainme » 2010-05-01 9:46

1.反正不是后缀名,不过有些软件还是用后缀名的。

2.符号链接。命令行下的命令是“ln”,有硬链接和软链接之分。软链接相当于快捷方式。查看方法楼上说过

3.ubuntu 也应该有文件类型吧,类似于常见的DEB,常用于安装,但是DEB文件是否就意味着WINDOWS的EXE和COM这样的执行文件?
差不多吧。不知道对不对,我的理解是,它们都是一种特殊的打包。

而ubuntu系统的执行文件又是什么类型的文件,而更多的类型还有什么?
脚本啊什么的。关键是要文件本身是可执行的,比较shell脚本,而是文件要有可执行权限。二者缺一不可。
kamui0523
帖子: 547
注册时间: 2008-05-14 18:53
来自: 上海

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

#13

帖子 kamui0523 » 2010-05-01 10:24

四海皆狂龙 写了::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几位已经回答很清楚了.
头像
slax
帖子: 1099
注册时间: 2009-08-17 3:52

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

#14

帖子 slax » 2010-05-01 10:56

四海皆狂龙 写了::em09
比如说
1.程序是如何关联的,对于WINDOWS系统来说使用的是注册表来关联,ubuntu既然也可双击提醒运用某打开,自然就应该有类似的机制吧,这个机制是什么?
2.同样可以看到类似于类似于WINDOWS的快捷方式的东西,而ubuntu又是如何实现的,我们又有什么方法知道该快捷方式关联到具体的位置?
3.ubuntu 也应该有文件类型吧,类似于常见的DEB,常用于安装,但是DEB文件是否就意味着WINDOWS的EXE和COM这样的执行文件?而ubuntu系统的执行文件又是什么类型的文件,而更多的类型还有什么?
好,暂时就这些。虽然我们常常是对一个文件指点点打开,但我们认为了解其运作机制才是正道,才可以一通百通。
1: gconf ?
终端命令 file XX 可检测文件类型。
优先后缀名,在没有后缀名或后缀名沒注册时 检测文件类型,试一下将音乐文件如 "lady gaga.mp3"改名 "lady gaga"
2:符号链接 windows下快捷方式 是以 .lnk 结尾的文本文件,内有目标地址、快捷方式图标等,linux下是 文件的磁盘位置 的挂载(类mount?)直接是地址的跳转
3:deb本质上是一个压缩文件 用debi安装时本质上是分析deb的软件信息再解压缩文件到 / 中。
大部分执行文件是elf文件格式( ELF 32-bit LSB executable )并且标记可执行才有权执行。
还有exe(wine),shell(执行脚本)...都要求标记可执行才有权执行。
gnome下gconf比较广泛 kde下有个类似的忘了。
We believe that the internet should be public, open and accessible.
软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。
iceplayer! linux音乐新体验~ 最新版本4.0.5-20110520已更新!viewtopic.php?f=137&t=252461
想要iceplayer 测试版麼?加入QQ群80071264吧,在code.google也可找到
http://www.iceplayer.org/
http://jasy.ice.blog.163.com/
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

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

#15

帖子 BigSnake.NET » 2010-05-01 11:03

可执行文件一般有两种
二进制可执行文件和脚本

PS: 内核有个功能可以把特定的文件类型绑到某个程序上,例如将windows程序关联到wine
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
回复