ファイルエクスプローラーとlsコマンド
ファイルエクスプローラー(Windows 10よりも前のWindowsではウィンドウエクスプローラー、または短縮してエクスプローラーと呼ばれることも多い)を使うことで、Windowsのフォルダをたどっていったり、ファイルを調べたりといったことができる。
この操作はLinuxではcdコマンドやlsコマンドで実現できることは前回に紹介したとおりだ。
Windowsではファイルエクスプローラーの表示形式を変更することで、アイコンではなくフォルダやファイルを詳細情報として表示させることができる。この一覧表示について、Linuxではlsコマンドが対応しており、ファイルエクスプローラーと同じように並び替えや表示する項目の変更などを行うことができる。今回はファイルエクスプローラーの詳細表示と同じような出力を行う方法を紹介する。
詳細表示と-lオプション
Windows 10のファイルエクスプローラーであれば、ファイルエクスプローラー右下のレイアウトボタンを切り替えることで、アイコン表示から詳細一覧表示に変更することができる。
Linuxのlsコマンドでは、オプションとして「-l」と指定することでこれと同じ表示を行うことができる。実行すると次のようになる。
上記スクリーンショットは2つとも同じディレクトリ(フォルダ)に対して詳細表示を行ったものだ。ファイルエクスプローラーとlsコマンドではデフォルトの表示規則が異なるので違ったように見えるリストが表示されているが、基本的に同じ場所を見たものだ。
フォルダとファイルの区別の方法
ファイルエクスプローラーではフォルダはフォルダアイコン付きで表示されるため、一瞥しただけでそれがフォルダなのかそうでないのかを区別することができる。
Linuxでls -lを実行した場合は主に2つの方法で調べることができる。まず、ls -lコマンドの出力では、行の最初の1文字が種類を表している。「d」ならディレクトリ(フォルダ)で、「-」ならファイルだ。この部分を見ることでそれがディレクトリかファイルかを判断することができる。
最近のLinuxディストリビューションはだいたいlsコマンドの出力に色を付けているので、ファイル名やディレクトリ名の色で判断することもできる。上記のスクリーンショットであれば青色がディレクトリ、緑色がファイルだ。
ただし、どの色を付けるかに関してはディストリビューションごとにまったく同じということもなく、違う色が割り当てられていることもある。色だけで判断すると普段使っていないLinuxディストリビューションを使った時に混乱するかもしれない。行頭の1文字を見てそれがディレクトリなのかファイルなのか判断できるようにしよう。
更新日時順と-tオプション
ファイルエクスプローラーでは「更新日時」をクリックすることで詳細一覧を更新日時順に並び替えることができる。
lsコマンドでは-tオプションがこの指定になっている。-lと-tと同時に指定して実行すると、次のように最近更新されたファイルやディレクトリほど上に表示されていることがわかる。
ファイルの更新日時順でリストが欲しいということがしばしばあったりするので、このオプションを覚えておくと便利だ。
ファイルエクスプローラーでは、「更新日時」をクリックすることで昇順と降順を切り替えることができる。lsコマンドでは-rオプションがそれに対応している。-rオプションを指定すると出力される順序が逆になる。昇順と降順について覚えておく必要はなく、欲しい順序が逆だったら-rを追加して出力を逆にすると覚えておけばよい。
なお、ファイルエクスプローラーとLinux lsでは詳細出力の順序はまったく同じにはならない。ファイルエクスプローラーではファイルとフォルダが別のまとまりとして処理されているが、Linuxではディレクトリもフォルダも同じように扱われているためだ。また、ファイルエクスプローラーでは表示されないファイルやフォルダもあるため、出力が違って見えている。
サイズ順と-Sオプション
ファイルエクスプローラーでは「サイズ」をクリックすることで詳細一覧をサイズの大きい順に並べることができる。
lsコマンドでは-Sオプションがこれと同じ処理になっている。次のようにlsコマンドに-lと-Sを指定して実行すると、サイズの大きい順に出力されるようになる。
lsコマンドではサイズはバイト数で表示されている。これではわかりにくいという場合は、-hオプションを追加してみよう。これは人間が読みやすいように単位を付けたサイズ表記をするというもので、次のような実行結果が得られる。
なぜオプションの文字がhなのかと思うかもしれないが、これは「人間が読める(human-readable)」の頭を取っているためだ。ほかのコマンドでも-hを指定すると出力がバイト数から単位付きの出力に変わるものがある。
必須オプションは-l、覚えておきたいのは-t、-S、-r、-h
lsコマンドの出力として、最低限でも-lオプションは覚えておく必要がある。-lオプションを指定することで詳細表示を行うことができる。Linuxの初心者が最初に覚えるコマンドオプションの1つだ。
続いて、結構知っている人が少ないオプションだが、-tと-Sも覚えておきたい。これらは結構便利だ。このオプションを知らないと、findという別のコマンドを使ってファイルリストを得たり、sortという別のコマンドに接続して並びを変えたりといったことを行うことになるが、lsコマンドだけで終わったほうが簡単だ。
前回も説明したが、Linuxのコマンドに馴れる最短の方法はとにかく使いまくって体に染みこませてしまうことだ。今回紹介したコマンドとオプションは基礎中の基礎なので覚えてしまおう。