您尚未登录。

#1 2019-01-16 16:49:49

xtricman
エクス·トリクマン
注册时间: 2012-12-26
帖子: 1,267

Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

Windows的命名习惯可以说是从DOS与FAT时代的强制8.3文件名开始的,那为啥Linux有.so跟.o却不习惯于对executable 加上.exe的后缀呢?


反社会,精神极其不稳定,随时可能炸碎身边所有人

离线

#2 2019-01-16 17:38:53

zsrkmyn
lazy...
注册时间: 2013-05-05
帖子: 331

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

因为 .exe 多了 4 个字符,每次敲命令要多敲 4 次键盘。况且在上古时代敲键盘是很费劲的事情,所以才有了诸如 ls rm mv 这样奇葩的缩写,更别说加 .exe 了。

离线

#3 2019-01-16 18:00:09

驿窗
驿窗
所在地: 基础开源研究
注册时间: 2016-06-03
帖子: 927
个人网站

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

上古时代...


开源/Linux大众化,从驿窗开始~

离线

#4 2019-01-16 18:30:56

xtricman
エクス·トリクマン
注册时间: 2012-12-26
帖子: 1,267

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

zsrkmyn 说:

因为 .exe 多了 4 个字符,每次敲命令要多敲 4 次键盘。况且在上古时代敲键盘是很费劲的事情,所以才有了诸如 ls rm mv 这样奇葩的缩写,更别说加 .exe 了。

但是shell可以做自动搜索功能啊


反社会,精神极其不稳定,随时可能炸碎身边所有人

离线

#5 2019-01-16 22:05:40

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

xtricman 说:
zsrkmyn 说:

因为 .exe 多了 4 个字符,每次敲命令要多敲 4 次键盘。况且在上古时代敲键盘是很费劲的事情,所以才有了诸如 ls rm mv 这样奇葩的缩写,更别说加 .exe 了。

但是shell可以做自动搜索功能啊

那个时代的 shell 嘛……

另外就是,是否为可执行文件是由 x 权限位来决定的,怎么执行是由内核根据文件内容决定的(后来也支持文件名匹配)。你一个命令,一开始用 C 写所以叫 xxx.exe,后来换 Perl 写就成了 xxx.pl,换 Python 就成了 xxx.py——你让 shell 去识别所有这些后缀?还得定义个优先级。别忘了,shell 不止一个。

至于 .so 嘛,那是由 ld 识别的,别的东西认不认它不在乎(所以 Mac 们有 .dylib)。所以我们还有 .rlib、.ko、.cmx、.cmxa、.cmxs 这些变种。(Windows 那边还有个 .pyd。)

离线

#6 2019-01-17 19:07:14

yw662
大会员
所在地: localhost
注册时间: 2018-10-10
帖子: 424

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

因为 x位才是用来标记executable的吧,既然已经有x位了那么就没有必要再用别的来表明一个文件是可执行的


ecmascript是世界上最好的语言

离线

#7 2019-01-21 22:49:10

dvorak
会员
注册时间: 2018-11-13
帖子: 11

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

zsrkmyn 说:

因为 .exe 多了 4 个字符,每次敲命令要多敲 4 次键盘。况且在上古时代敲键盘是很费劲的事情,所以才有了诸如 ls rm mv 这样奇葩的缩写,更别说加 .exe 了。

我觉得这些缩写很合理啊。这么高频的命令每次打list、remove、move才会疯掉吧...就算现在打字很方便了不是还有很多人(甚至还有一些发行版)alias了ll='ls -l'吗

离线

#8 2019-05-10 12:54:30

raaay0608
会员
注册时间: 2019-04-17
帖子: 5

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

Linux是沿袭Unix,而Unix是上世纪70年代开始的事情,比DOS其实还略早,比MS-DOS更早。猜测那时候多半还没有后缀名的习惯。
今天*nix下很多人习惯认为.py、.sh与二进制程序都是同等级别的可执行程序,用x位标记,.exe定位有点不伦不类,硬要给binary加.exe除了让他人觉得奇怪,也没什么问题。

离线

#9 2019-07-10 09:37:51

fine
会员
所在地: 长沙
注册时间: 2019-07-10
帖子: 3

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

其实这个问题可以这样表述:Windows世界是怎么形成了有.exe却没有.o的命名习惯?

离线

#10 2019-08-23 00:44:28

matrikslee
会员
注册时间: 2017-04-21
帖子: 442
个人网站

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

话说windows下也不是只有exe一种后缀是可执行文件呀
.msi 也是二进制可执行文件, 还有.bat .cmd .vbs等脚本可执行文件..
跟*nix世界其实在本质上没有区别,种类的多少也只是因为一个开源一个封闭

最近编辑记录 matrikslee (2019-08-23 00:47:08)

离线

#11 2019-12-02 19:33:12

jxt_hbtm
会员
注册时间: 2019-11-26
帖子: 6

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

i dont know, i dont want to know

离线

#12 2019-12-02 23:24:45

xtricman
エクス·トリクマン
注册时间: 2012-12-26
帖子: 1,267

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

jxt_hbtm 说:

i dont know, i dont want to know

那你闭嘴。


反社会,精神极其不稳定,随时可能炸碎身边所有人

离线

#13 2019-12-12 11:41:11

Idiotist
会员
注册时间: 2019-12-11
帖子: 17

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

因爲 FAT 裡 directory entry 的 extension 事三個 bytes smile

离线

#14 2020-02-25 11:16:27

Mr.Zero
大都督
所在地: 阿德莱德
注册时间: 2020-02-25
帖子: 1
个人网站

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

dvorak 说:
zsrkmyn 说:

因为 .exe 多了 4 个字符,每次敲命令要多敲 4 次键盘。况且在上古时代敲键盘是很费劲的事情,所以才有了诸如 ls rm mv 这样奇葩的缩写,更别说加 .exe 了。

我觉得这些缩写很合理啊。这么高频的命令每次打list、remove、move才会疯掉吧...就算现在打字很方便了不是还有很多人(甚至还有一些发行版)alias了ll='ls -l'吗

让我如何这么干。
$ sudo mv /etc/environment ~/templates
$ UseAdministratorAuthorization MoveFileToOtherPath InputFilePath /etc/ OutPutFilePath /home/user/templates

离线

#15 2020-02-25 18:34:05

primes
会员
注册时间: 2015-07-29
帖子: 46

Re: Linux世界是怎么形成了有.so和.o却没有.exe的命名习惯的呢?

因为.EXE是后来的!

离线

页脚