ファイルエクスプローラーとlsコマンド

ファイルエクスプローラー(Windows 10よりも前のWindowsではウィンドウエクスプローラー、または短縮してエクスプローラーと呼ばれることも多い)を使うことで、Windowsのフォルダをたどっていったり、ファイルを調べたりといったことができる。

  • Windows 10 ファイルエクスプローラーの操作例

    Windows 10 ファイルエクスプローラーの操作例

この操作はLinuxではcdコマンドやlsコマンドで実現できることは前回に紹介したとおりだ。

  • 同じような操作をLinuxでおこなった場合の例

    同じような操作をLinuxでおこなった場合の例

Windowsではファイルエクスプローラーの表示形式を変更することで、アイコンではなくフォルダやファイルを詳細情報として表示させることができる。この一覧表示について、Linuxではlsコマンドが対応しており、ファイルエクスプローラーと同じように並び替えや表示する項目の変更などを行うことができる。今回はファイルエクスプローラーの詳細表示と同じような出力を行う方法を紹介する。

詳細表示と-lオプション

Windows 10のファイルエクスプローラーであれば、ファイルエクスプローラー右下のレイアウトボタンを切り替えることで、アイコン表示から詳細一覧表示に変更することができる。

  • ファイルエクスプローラーで詳細一覧表示

    ファイルエクスプローラーで詳細一覧表示

Linuxのlsコマンドでは、オプションとして「-l」と指定することでこれと同じ表示を行うことができる。実行すると次のようになる。

  • Linuxでls -lを実行した場合

    Linuxでls -lを実行した場合

上記スクリーンショットは2つとも同じディレクトリ(フォルダ)に対して詳細表示を行ったものだ。ファイルエクスプローラーとlsコマンドではデフォルトの表示規則が異なるので違ったように見えるリストが表示されているが、基本的に同じ場所を見たものだ。

フォルダとファイルの区別の方法

ファイルエクスプローラーではフォルダはフォルダアイコン付きで表示されるため、一瞥しただけでそれがフォルダなのかそうでないのかを区別することができる。

  • ファイルエクスプローラーではフォルダはアイコンから判断できる

    ファイルエクスプローラーではフォルダはアイコンから判断できる

Linuxでls -lを実行した場合は主に2つの方法で調べることができる。まず、ls -lコマンドの出力では、行の最初の1文字が種類を表している。「d」ならディレクトリ(フォルダ)で、「-」ならファイルだ。この部分を見ることでそれがディレクトリかファイルかを判断することができる。

  • ls -lでは行の最初の1文字がdの場合、それはディレクトリであることを意味している

    ls -lでは行の最初の1文字がdの場合、それはディレクトリであることを意味している

最近のLinuxディストリビューションはだいたいlsコマンドの出力に色を付けているので、ファイル名やディレクトリ名の色で判断することもできる。上記のスクリーンショットであれば青色がディレクトリ、緑色がファイルだ。

ただし、どの色を付けるかに関してはディストリビューションごとにまったく同じということもなく、違う色が割り当てられていることもある。色だけで判断すると普段使っていないLinuxディストリビューションを使った時に混乱するかもしれない。行頭の1文字を見てそれがディレクトリなのかファイルなのか判断できるようにしよう。

更新日時順と-tオプション

ファイルエクスプローラーでは「更新日時」をクリックすることで詳細一覧を更新日時順に並び替えることができる。

  • 「更新日時」をクリックして最近更新されたものから順に詳細表示したところ

    「更新日時」をクリックして最近更新されたものから順に詳細表示したところ

lsコマンドでは-tオプションがこの指定になっている。-lと-tと同時に指定して実行すると、次のように最近更新されたファイルやディレクトリほど上に表示されていることがわかる。

  • lsコマンドでは-tオプションを指定することで更新日時順に出力を行ってくれる

    lsコマンドでは-tオプションを指定することで更新日時順に出力を行ってくれる

ファイルの更新日時順でリストが欲しいということがしばしばあったりするので、このオプションを覚えておくと便利だ。

ファイルエクスプローラーでは、「更新日時」をクリックすることで昇順と降順を切り替えることができる。lsコマンドでは-rオプションがそれに対応している。-rオプションを指定すると出力される順序が逆になる。昇順と降順について覚えておく必要はなく、欲しい順序が逆だったら-rを追加して出力を逆にすると覚えておけばよい。

なお、ファイルエクスプローラーとLinux lsでは詳細出力の順序はまったく同じにはならない。ファイルエクスプローラーではファイルとフォルダが別のまとまりとして処理されているが、Linuxではディレクトリもフォルダも同じように扱われているためだ。また、ファイルエクスプローラーでは表示されないファイルやフォルダもあるため、出力が違って見えている。

サイズ順と-Sオプション

ファイルエクスプローラーでは「サイズ」をクリックすることで詳細一覧をサイズの大きい順に並べることができる。

  • ファイルエクスプローラーで「サイズ」をクリックしてサイズの大きい順に並べたところ

    ファイルエクスプローラーで「サイズ」をクリックしてサイズの大きい順に並べたところ

lsコマンドでは-Sオプションがこれと同じ処理になっている。次のようにlsコマンドに-lと-Sを指定して実行すると、サイズの大きい順に出力されるようになる。

  • lsコマンドに-Sオプションを指定してサイズの大きい順に出力

    lsコマンドに-Sオプションを指定してサイズの大きい順に出力

lsコマンドではサイズはバイト数で表示されている。これではわかりにくいという場合は、-hオプションを追加してみよう。これは人間が読みやすいように単位を付けたサイズ表記をするというもので、次のような実行結果が得られる。

  • lsコマンドに-hオプションを指定して人間が理解しやすいサイズ表記で出力

    lsコマンドに-hオプションを指定して人間が理解しやすいサイズ表記で出力

なぜオプションの文字がhなのかと思うかもしれないが、これは「人間が読める(human-readable)」の頭を取っているためだ。ほかのコマンドでも-hを指定すると出力がバイト数から単位付きの出力に変わるものがある。

必須オプションは-l、覚えておきたいのは-t、-S、-r、-h

lsコマンドの出力として、最低限でも-lオプションは覚えておく必要がある。-lオプションを指定することで詳細表示を行うことができる。Linuxの初心者が最初に覚えるコマンドオプションの1つだ。

続いて、結構知っている人が少ないオプションだが、-tと-Sも覚えておきたい。これらは結構便利だ。このオプションを知らないと、findという別のコマンドを使ってファイルリストを得たり、sortという別のコマンドに接続して並びを変えたりといったことを行うことになるが、lsコマンドだけで終わったほうが簡単だ。

前回も説明したが、Linuxのコマンドに馴れる最短の方法はとにかく使いまくって体に染みこませてしまうことだ。今回紹介したコマンドとオプションは基礎中の基礎なので覚えてしまおう。