mkdir dir{1..10}がdir2の前にdir10を生成するのはなぜですか? [コピー]

mkdir dir{1..10}がdir2の前にdir10を生成するのはなぜですか? [コピー]
[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が再び2番目になるようです。

ディレクトリ9の後にディレクトリ10を表示する方法は?このディレクトリを並べ替える方法はありますか?

答え1

ファイルがアルファベット順にソートされるためですlsls -vファイルを番号順に並べ替えるには(Linuxで)を使用してファイルを一覧表示します。

-v テキスト内の(バージョン)番号の自然な順序

関連情報