[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
ファイルがアルファベット順にソートされるためですls
。ls -v
ファイルを番号順に並べ替えるには(Linuxで)を使用してファイルを一覧表示します。
-v テキスト内の(バージョン)番号の自然な順序