不懂就问: Linux 默认创建的文件是什么后缀格式的?

2020-11-09 06:51:55 +08:00
 solider245
网上找了半天都找不到,这回连英文内容都没有了。
如果可以的话,顺便问问 windows 下的文件默认是什么格式的后缀好了。
13402 次点击
所在节点    Linux
128 条回复
nutting
2020-11-09 08:41:34 +08:00
后缀的标准叫法应该是扩展名,这是 dos 提出的概念吧,为了区分内容
babyfive
2020-11-09 08:44:06 +08:00
linux 后缀有和没有是一样的,有后缀只是为了使用者(也就是我们)可以区分。机器是不识别后缀的。
nvkou
2020-11-09 08:47:44 +08:00
扩展名只是在文件名的层次上归类文件类型而已. 和实际文件类型没有关系的
xxx.jpg 是在文件名层次声明这是 JPEG 图像.双击时会以.jpg 关联的程序打开该文件. 但是这到底是不是合法的 jpg 文件只有程序自己读取的时候才知道
另外 linux 上的文件不一定代表磁盘上的一段扇区. 可以是网络 socket,可以设备 io,万物皆文件
int64ago
2020-11-09 08:51:26 +08:00
你还是用 Windows 吧
qinyusen
2020-11-09 09:01:13 +08:00
@solider245 后缀的目的是人为表述规则,也就是人为规定就行,但是 linux 的文件管理不是强依赖后缀名。
用过 git 吧? .gitignore 这文件类型是啥? 前面的. 就是表示这是个隐藏文件,linux 规定以.为开头的是隐藏文件, 那么请问后缀是啥? 因为文件名本身已经是规则了,那后缀就没啥意义。

或者你看一下 Makefile,请问后缀名是啥? 又一个文件名本身就是规则的。

windows 里表述可执行的后缀是 exe 么? 那 linux 里可执行是怎么表示的? ls -l 看一下,有没有可执行权限就好。

综上,个人观点:“后缀名只是文件用来表述规则的一种方法而已, 而不是后缀名就是一切的规则。”

===========================================

以下是一些可能是错误的认知经验:

愿你能理解我的表述。另外,理解系统的设计哲学之后再对比映射就好。
比如 linux 的设计哲学之一就是“一切皆文件”, 设备也是文件( cat /dev/ttyusb0 就可以读取 usb 串口,而不是 windows 那种打开一个程序-比如串口大师什么的,然后再解析),属性也是文件("cat /proc/cpuinfo" 就是查看 cpu 属性)
诸如此类的还有流这个概念,引发出管道,也就是 UNIX 设计哲学里一切都是精简的可服用的小的模块,这个看看《 UNIX 设计哲学》还有一些相关的材料,愿你可以很快理解

windows 设计哲学比较复杂,但是有一个是“所见即所得”,一个是窗口化,所以有了常见文件类型映射固定图标,以完成这件事儿,即见到这图标,就知道这是个什么类型的文件。 (这是一种感知 /交互的 规则)

如果这个事儿,换到 ios 上,你会发现,又不一样了。。。。

操作系统是门设计艺术。 套用不同体系下的规则去相互理解,有很多时候百害而无一利。
cdafsd
2020-11-09 09:02:41 +08:00
是想说文件头吧
RickyC
2020-11-09 09:11:09 +08:00
windows 下的文件默认是什么格式的后缀?
默认是没有后缀的.
我想 linux 也是如此
natashahollyz
2020-11-09 09:12:26 +08:00
touch abc
随便写点
再 cat abc
不需要后缀
natashahollyz
2020-11-09 09:13:15 +08:00
另外 windows 新建文件不是让你选文件格式的么?选啥就是啥
brader
2020-11-09 09:14:19 +08:00
Linux 并不以文件后缀来判别文件类型,文件后缀是给人看的,方便管理员管理文件,并不是给机器识别的。
现在主流的 Linux 文件类型,一般就两种:ASCII 文件、二进制文件。
kiracyan
2020-11-09 09:18:07 +08:00
...linux 哪有后缀
yanue
2020-11-09 09:22:10 +08:00
还是先去系统学习一下吧
kevinwkxw
2020-11-09 09:30:00 +08:00
所谓的后缀名加上“.”都是文件名的一部分,可以根据文件的用途随便写或不写,后缀名对于人的意义是便于区分文件类型,对于程序一般来说没有特殊含义,程序在识别文件时一般按文件前几个字节( magic number )来检验,当然也有程序先按文件名特征进行下过滤,如名字中必需包含特定后缀。
gunpowderfans
2020-11-09 09:32:21 +08:00
默认就可以创建没有扩展名的文件,Windows 也一样
ShallowAi
2020-11-09 09:34:56 +08:00
后缀并不代表文件类型.
你想它是什么就是什么,who cares
no1xsyzy
2020-11-09 09:39:48 +08:00
难道 .gitignore 文件的后缀名是 .gitignore 吗?
虽然 windows 确实傻到这么认为的,并且在 win10 某个 build 以前包括 win8.1 以前都不允许在资源管理器里直接改名字到 .gitignore,必须在命令行 ren 或者保存对话框才行……

@msg7086 见上,a. 和 .a 在 windows 下需要点技术…… 当然这不是本质问题

说来我想起来 win98 (还是因为 FAT32 ?)下 mkdir a../ 会造成一个巨大的问题,会产生一个资源管理器无法遍历到,但可以访问的隐藏文件夹。
…… 然后看了下,Win10 2004 Build 19041.508 仍然有这个 bug,但命令行下屏蔽了 mkdir a../ 的操作,拒绝了新建这样的文件夹…… 但可以从 WSL 里
$ mkdir a
$ mkdir a.
$ mkdir a..
$ touch a/zero
$ touch a./one
$ touch a../two
$ tree
然后从资源管理器里访问,不管点开哪个都只能看到 zero……
从 “无法遍历到,但可以访问” 变成了 “无法遍历也无法访问”……
服了,千古 bug 。
no1xsyzy
2020-11-09 09:41:30 +08:00
话说月经贴了……
/t/713957#r_9608004
laoyur
2020-11-09 09:45:20 +08:00
估计楼主看完这些回复已经凌乱了吧
newmlp
2020-11-09 09:45:43 +08:00
为啥非得有后缀啊,后缀也是文件名的一部分,可有可无
JerryCha
2020-11-09 09:48:37 +08:00
无论是 Windows 还是 Linux 还是 macOS,默认都是没有后缀的。
在上述三个系统中,后缀对应用都是无意义的。
在 Windows 与 macOS 中,后缀只是为了方便关联文件类型的默认处理应用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/723038

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX