Linux

為什麼 mkdir dir{1..10} 在 dir2 之前創建 dir10?

  • February 28, 2022
[xxx]$ mkdir dir{1..10}
[xxx]$ ls
dir1  dir10  dir2  dir3  dir4  dir5  dir6  dir7  dir8  dir9

當我像這樣創建 10 個目錄時,為什麼 dir10 會出現在 dir1 之後?它不應該是最後一個目錄嗎?

另外,如果我嘗試以下命令:

[xxx]$ mkdir -v dir{1..10}
mkdir: created directory 'dir1'
mkdir: created directory 'dir2'
mkdir: created directory 'dir3'
mkdir: created directory 'dir4'
mkdir: created directory 'dir5'
mkdir: created directory 'dir6'
mkdir: created directory 'dir7'
mkdir: created directory 'dir8'
mkdir: created directory 'dir9'
mkdir: created directory 'dir10'
[xxx]$ ls
dir1  dir10  dir2  dir3  dir4  dir5  dir6  dir7  dir8  dir9

似乎現在目錄是以正確的順序創建的,但是當我列出它們時,目錄 10 似乎再次排在第二位。

如何使目錄 10 出現在目錄 9 之後?有沒有辦法對這些目錄進行排序?

因為ls按字母順序對文件進行排序。ls -v如果您希望按數字順序對文件進行排序,可以使用 (in linux) 列出文件

-v 文本中(版本)數字的自然排序

引用自:https://unix.stackexchange.com/questions/588311