当提供文件列表作为 ls 的参数时,ls 是否应该按照指定为参数的顺序列出它们?

当提供文件列表作为 ls 的参数时,ls 是否应该按照指定为参数的顺序列出它们?

当提供文件列表作为 ls 的参数时,ls 是否应该按照指定为参数的顺序列出它们?

例如,为什么第三个命令按照与第四个命令相同的顺序列出文件ls -l,而不是按照第一个命令的输出、然后第二个命令的输出的顺序列出文件?

$ ls \[Untitled\]_?-*  -l
-rw-rw-r-- 1 t t 1867153 Dec  1 23:02 [Untitled]_1-18.pdf
-rw-rw-r-- 1 t t 1104215 Dec  1 23:03 [Untitled]_2-18.pdf
-rw-rw-r-- 1 t t 1287357 Dec  1 23:03 [Untitled]_3-18.pdf
-rw-rw-r-- 1 t t 1015360 Dec  1 23:03 [Untitled]_4-18.pdf
-rw-rw-r-- 1 t t 1133440 Dec  1 23:04 [Untitled]_5-18.pdf
-rw-rw-r-- 1 t t 1230646 Dec  1 23:04 [Untitled]_6-18.pdf
-rw-rw-r-- 1 t t 1070296 Dec  1 23:04 [Untitled]_7-18.pdf
-rw-rw-r-- 1 t t 1248518 Dec  1 23:04 [Untitled]_8-18.pdf
-rw-rw-r-- 1 t t 1096371 Dec  1 23:04 [Untitled]_9-18.pdf

$ ls  \[Untitled\]_??-*   -l
-rw-rw-r-- 1 t t 1310164 Dec  1 23:05 [Untitled]_10-18.pdf
-rw-rw-r-- 1 t t 2031810 Dec  1 23:05 [Untitled]_11-18.pdf
-rw-rw-r-- 1 t t 1043840 Dec  1 23:05 [Untitled]_12-18.pdf
-rw-rw-r-- 1 t t 1180514 Dec  1 23:05 [Untitled]_13-18.pdf
-rw-rw-r-- 1 t t 2058009 Dec  1 23:05 [Untitled]_14-18.pdf
-rw-rw-r-- 1 t t 2075104 Dec  1 23:06 [Untitled]_15-18.pdf
-rw-rw-r-- 1 t t 2092823 Dec  1 23:06 [Untitled]_16-18.pdf
-rw-rw-r-- 1 t t 2015672 Dec  1 23:06 [Untitled]_17-18.pdf
-rw-rw-r-- 1 t t 1929560 Dec  1 23:06 [Untitled]_18-18.pdf

$ ls \[Untitled\]_?-* \[Untitled\]_?\
?-*   -l
-rw-rw-r-- 1 t t 1310164 Dec  1 23:05 [Untitled]_10-18.pdf
-rw-rw-r-- 1 t t 2031810 Dec  1 23:05 [Untitled]_11-18.pdf
-rw-rw-r-- 1 t t 1867153 Dec  1 23:02 [Untitled]_1-18.pdf
-rw-rw-r-- 1 t t 1043840 Dec  1 23:05 [Untitled]_12-18.pdf
-rw-rw-r-- 1 t t 1180514 Dec  1 23:05 [Untitled]_13-18.pdf
-rw-rw-r-- 1 t t 2058009 Dec  1 23:05 [Untitled]_14-18.pdf
-rw-rw-r-- 1 t t 2075104 Dec  1 23:06 [Untitled]_15-18.pdf
-rw-rw-r-- 1 t t 2092823 Dec  1 23:06 [Untitled]_16-18.pdf
-rw-rw-r-- 1 t t 2015672 Dec  1 23:06 [Untitled]_17-18.pdf
-rw-rw-r-- 1 t t 1929560 Dec  1 23:06 [Untitled]_18-18.pdf
-rw-rw-r-- 1 t t 1104215 Dec  1 23:03 [Untitled]_2-18.pdf
-rw-rw-r-- 1 t t 1287357 Dec  1 23:03 [Untitled]_3-18.pdf
-rw-rw-r-- 1 t t 1015360 Dec  1 23:03 [Untitled]_4-18.pdf
-rw-rw-r-- 1 t t 1133440 Dec  1 23:04 [Untitled]_5-18.pdf
-rw-rw-r-- 1 t t 1230646 Dec  1 23:04 [Untitled]_6-18.pdf
-rw-rw-r-- 1 t t 1070296 Dec  1 23:04 [Untitled]_7-18.pdf
-rw-rw-r-- 1 t t 1248518 Dec  1 23:04 [Untitled]_8-18.pdf
-rw-rw-r-- 1 t t 1096371 Dec  1 23:04 [Untitled]_9-18.pdf

$ ls -l
total 26268
-rw-rw-r-- 1 t t 1310164 Dec  1 23:05 [Untitled]_10-18.pdf
-rw-rw-r-- 1 t t 2031810 Dec  1 23:05 [Untitled]_11-18.pdf
-rw-rw-r-- 1 t t 1867153 Dec  1 23:02 [Untitled]_1-18.pdf
-rw-rw-r-- 1 t t 1043840 Dec  1 23:05 [Untitled]_12-18.pdf
-rw-rw-r-- 1 t t 1180514 Dec  1 23:05 [Untitled]_13-18.pdf
-rw-rw-r-- 1 t t 2058009 Dec  1 23:05 [Untitled]_14-18.pdf
-rw-rw-r-- 1 t t 2075104 Dec  1 23:06 [Untitled]_15-18.pdf
-rw-rw-r-- 1 t t 2092823 Dec  1 23:06 [Untitled]_16-18.pdf
-rw-rw-r-- 1 t t 2015672 Dec  1 23:06 [Untitled]_17-18.pdf
-rw-rw-r-- 1 t t 1929560 Dec  1 23:06 [Untitled]_18-18.pdf
-rw-rw-r-- 1 t t 1104215 Dec  1 23:03 [Untitled]_2-18.pdf
-rw-rw-r-- 1 t t 1287357 Dec  1 23:03 [Untitled]_3-18.pdf
-rw-rw-r-- 1 t t 1015360 Dec  1 23:03 [Untitled]_4-18.pdf
-rw-rw-r-- 1 t t 1133440 Dec  1 23:04 [Untitled]_5-18.pdf
-rw-rw-r-- 1 t t 1230646 Dec  1 23:04 [Untitled]_6-18.pdf
-rw-rw-r-- 1 t t 1070296 Dec  1 23:04 [Untitled]_7-18.pdf
-rw-rw-r-- 1 t t 1248518 Dec  1 23:04 [Untitled]_8-18.pdf
-rw-rw-r-- 1 t t 1096371 Dec  1 23:04 [Untitled]_9-18.pdf

谢谢。

答案1

ls 总是对其输出进行排序。 POSIX 定义它

应根据当前语言环境中的整理顺序分别对目录和非目录操作数进行排序。

这通常会导致名称中的数字按字典顺序排序,如您的示例所示,但总体顺序取决于您的区域设置中指定的规则。

通过在命令行上指定文件并命名恰好包含这些文件的目录,可以获得相同的结果。

相关内容