以下のファイルがある場合に、lsコマンドの出力結果を並び替えずに表示する方法のご紹介です。
まずはllコマンドの結果を表示します。
1 2 3 4 5 6 7 8 9 10 11 |
# ls kamo1.txt kamo2.log kamo2.tar tora3.log tora4.txt # # ll total 24 -rw-r--r-- 1 root root 0 Sep 24 21:11 kamo1.txt -rw-r--r-- 1 root root 49 Feb 26 2018 kamo2.log -rw-r--r-- 1 root root 10240 Feb 26 2018 kamo2.tar -rw-r--r-- 1 root root 29 Feb 26 2018 tora3.log -rw-r--r-- 1 root root 58 Sep 24 21:24 tora4.txt # |
lsコマンド、ll(ls -l)コマンドともに、ファイル名の順に表示されていることがわかります。
実は、Linuxが自動で「名前」での並び替えを行ってくれているわけですね。
この自動で行ってくれている並び替えをオフにする場合、「-U」オプションを使用します。
1 2 3 4 5 6 7 8 |
# ll -U total 24 -rw-r--r-- 1 root root 29 Feb 26 2018 tora3.log -rw-r--r-- 1 root root 49 Feb 26 2018 kamo2.log -rw-r--r-- 1 root root 0 Sep 24 21:11 kamo1.txt -rw-r--r-- 1 root root 10240 Feb 26 2018 kamo2.tar -rw-r--r-- 1 root root 58 Sep 24 21:24 tora4.txt # |
順に確認していきます。
まず、名前ですが、名前の順番にはなっていませんね。
次にファイルサイズですが、これも順番にはなっていません。
拡張子はというと、、これもまとまっていないですね。
たしかに並び替えされていません。
念のためi-nodeも表示してみます。
1 2 3 4 5 6 7 8 |
# ll -Ui total 24 2620267 -rw-r--r-- 1 root root 29 Feb 26 2018 tora3.log 2620269 -rw-r--r-- 1 root root 49 Feb 26 2018 kamo2.log 2626608 -rw-r--r-- 1 root root 0 Sep 24 21:11 kamo1.txt 2620266 -rw-r--r-- 1 root root 10240 Feb 26 2018 kamo2.tar 2626609 -rw-r--r-- 1 root root 58 Sep 24 21:24 tora4.txt # |
i-node順にもなっていません。
それでは、いったいどのように表示されているのでしょうか。
lsコマンドのマニュアルに、以下の通り記載がありました。
-U do not sort; list entries in directory order
引用元:lsのマニュアルより(man lsで表示)
「directory order」で表示しているようです。この説明は上級レベルとなってしまうので割愛させていただきますが、OSやファイルシステムの仕組みで自動的に表示されていると思っていただいて問題ありません。