cat *.txt 会按字母顺序连接文件吗?

Aka*_*all 2 cat

假设我在一个目录中有 3 个文件:

苹果.txt:

apple
Run Code Online (Sandbox Code Playgroud)

蜂巢.txt:

beehive
Run Code Online (Sandbox Code Playgroud)

斑马.txt:

zebra
Run Code Online (Sandbox Code Playgroud)

如果我将此文件与:

cat *.txt > all_files.txt

我确实得到:

apple
beehive
zebra
Run Code Online (Sandbox Code Playgroud)

(我也在 5 个文件上进行了测试,我得到了相同的行为),

但我的这种行为有保证吗?

Bar*_*mar 5

来自Filename Expansion的 POSIX shell 规范

如果模式匹配任何现有的文件名或路径名,则模式应替换为这些文件名和路径名,根据当前语言环境中有效的整理顺序进行排序。

因此,除非您的语言环境中有不寻常的整理顺序,否则您可以依赖它是按字母顺序排列的。