“为什么 Linux 中没有文本文档的扩展?” 有。在我的系统上,有很多,.txt、.csv、.sh、.scala、.java、.sql、.dat .svg、.xml、.html 等等。其中许多表明更多,而不仅仅是它是可读的文本。它们都不是保证。
您甚至可以将目录命名为“foo.txt”,然后猜一猜——在 Windows 上也可以。
“execute.txt.exe”当然是一个陷阱,但只是有问题的,因为 Windows 引入了隐藏后缀(仅最后一个)并通过扩展决定如何执行文件。类 Unix 系统有权限,其中之一是执行一个文件,然后系统会尝试执行它。这也不是保证,它也是可能的。
在 shell 中,您可以获得长输出格式,例如:
-rw-rw-r-- 1 stefan stefan 2184 Feb 5 04:27 ShortestPalindrome.java
-rw-rw-r-- 1 stefan stefan 283 Dez 20 03:58 speedtests.lst
drwxr-xr-x 4 stefan stefan 4096 Nov 28 2012 src
-rw-rw-r-- 1 stefan stefan 2609 Jan 16 23:01 Stringkuerzen-2018-01-16_23:01:27.java
file *
funreturn.scala: ASCII text
hexcodes: ASCII text, with very long lines
inkscapepfad.scala: FORTRAN program, UTF-8 Unicode text
iterfind.sh: Bourne-Again shell script, ASCII text executable
leaderbord.aoc: ISO-8859 text
lib: directory
根据您查看文件的方式,通过图标、约定和小指标很容易区分。
许多评论在某种程度上是正确的,但没有什么足以作为解释。
在 shell 中,您可以获得长输出格式,例如:
与
ls -la
. 第一个字符 'd' 告诉你,它是一个目录。只需使用
ls
即可为您提供一个简短的列表。然后默认设置的颜色表示哪个文件是什么,尤其是目录。如果你不摆弄它,它应该可以正常工作。Linux 有“文件”命令,可以做出明智的猜测,一个文件是什么类型的文件,而且大多数情况下这是正确的。但它也可以被愚弄。不像windows扩展系统那么简单,但它可以。
但是,将 PNG 文件命名为 winter.png、文本 winter.txt 和 shell 脚本 winter.sh 仍然是一个好主意,因为它对用户友好。
文件浏览器,如 Thunar,将通过图标视图中的图标、列表视图中的较小图标和紧凑视图中的最小图标来指示文件是哪种文件。通常排序顺序是首先放置目录。
午夜指挥官有自己的方式以明亮的颜色指示目录。我猜大多数文件管理器都以一种或另一种方式做到这一点。
但与其他文件相比,目录不能被模拟(符号链接除外,这是一个不同的主题)。类型目录在系统中是固定的——你不能
如果 abc.txt 不是目录。是的,可以,但大多数时候不应该。
经过一番努力,有人可以生成一个程序,它会捕获错误,进入一个文件而不是目录,这可能很有用,例如,如果文件是一个档案,但在 shell 上我还没有看到这样的一个东西。
一个目录不能隐藏它的本质。但这对于 Windows 也是一样的,不是吗?
结论:大多数时候,扩展是有用的,但它们不能保证什么。如果您有来自可靠来源的文件,则可以依赖它们,如果没有,该
file
命令是一个很好的帮助,但也不能保证。这是一个示例输出
猜测,inkscapepfad.scala 是一个 Fortran 代码,这是错误的,在这里依赖扩展会是更好的选择,而且,无意愚弄
file
,只是偶然。