もっともよく使うコマンドNo.1――「ls」

サーバにログインして最もよく使うコマンドは何だろうか。試しに、筆者がよくログインしているサーバでコマンド履歴を調べてみたところ、次のようになった。

筆者がよく使うコマンドのランキング

ご覧のとおり、筆者の場合はlsコマンドを最もよく使っており、次点が前回紹介したcdコマンドだ。「ls」は使用頻度が高く、たくさんのオプションも用意されているコマンドなのだが、その多くは忘れられてしまうことが多いという残念なところもある。今回は、このlsコマンドの基本的な使い方を紹介しよう。

lsコマンドの基本

lsコマンドは、指定したファイルの情報を表示したり、指定したディレクトリ下に配置されているディレクトリ/ファイルの一覧とその情報を表示したりするコマンドだ。Windowsで言うと、エクスプローラーの一覧表示部分を表示するコマンドだと思ってもらえばよいだろう。

lsコマンドは、引数に指定したディレクトリ下のディレクトリ/ファイル一覧を表示する

「/etc/ssh/」は、OpenSSHの設定ファイルが置いてあるディレクトリだ。上記画面のように引数にディレクトリを指定すると、そのディレクトリの直下に配置されているディレクトリ/ファイルの一覧が表示される(何も指定しなければ、今いるディレクトリの直下にあるディレクトリ/ファイルの一覧が表示される)。

大抵の場合、lsコマンド→cdコマンド→lsコマンド→cdコマンド……のようにコマンドを実行し、ファイルシステムの間を行ったり来たりしながら作業する。これが、lsコマンドの基本的な使い方だ。なお、「今いるディレクトリ」は通常、「カレントディレクトリ(current directory)」と呼ばれる。

詳細情報を表示するオプション「-l」

lsコマンドにはたくさんのオプションが用意されているのだが、普段利用する主なオプションは2つしかない。特に使用頻度が高いのが、-lオプションだ。これは、ディレクトリやファイルの一覧を詳細情報ととともに表示するオプションである。例えば、CentOS 7で実行すると、次のように表示される。

lsコマンドに-lオプションを指定して実行(CentOS 7の場合)

実は、「ls -l」で表示される情報やフォーマットは、OSごとに微妙に異なる。例えば、FreeBSD 10.2だと次のようになる。

lsコマンドに-lオプションを指定して実行(FreeBSD 10.2の場合)

と言っても、中身はほとんど同じだ。どちらも「ファイルの種類」、「パーミッション」、「持ち主」、「所属グループ」、「サイズ」、「最終更新日」、「名前」あたりの情報が表示される。「ls -l」とさえ覚えておけば、大抵なんとかなる。

隠しファイル/ディレクトリを表示する-aオプション

もう1つ、よく使うというよりも知らないと困るオプションが「-a」だ。lsコマンドは、引数を指定せずに実行した場合、名前がピリオド(.)から始まっているファイルやディレクトリは一覧に表示しないようになっている。

名前がピリオドから始まるディレクトリ/ファイルは、カレントディレクトリや親ディレクトリ、設定ファイルのように何らかの意味があることが多く、一覧表示時に表示されるとうっとうしいものなので、通常は問題ない。だが、それらのディレクトリ/ファイルを含め、すべて表示したいケースもあるだろう。これを表示してくれるのが-aオプションなのだ。

先ほどの-lオプションと合わせて「ls -al」と入力して実行すると、次のように表示される。

-aオプションを使うと、すべてのディレクトリ/ファイルを表示できる

このオプションは、設定ファイルを探す際などによく使う。設定ファイルはピリオドから始まる名前のディレクトリに置いてあったり、ピリオドから始まる名前のファイルだったりすることが多いからだ。

余談になるが、名前がピリオドから始まるディレクトリ/ファイルは「隠しディレクトリ」とか「隠しファイル」と呼ばれることがある。何か保護的な機能があるようなニュアンスを感じるが、lsコマンドのデフォルト実行時に表示されないというだけで、普通のディレクトリ/ファイルだ。何かを保護してくれるわけではないので、隠しディレクトリに大切なファイルや見られては困るファイルを置いておくなど、過信した使い方をしてはいけない。

コマンド入力”手抜き”の基本

「ls -l」のように非常によく使う「コマンド+オプション」には、短縮して実行できる短縮名が割り当てられていることが多い。例えば、CentOSの場合、「ls -l」には「ll」で実行できるように短縮名が割り当てられている。

CentOSの場合、「ls -l」には短縮名として「ll」が割り当てられている。

よく使うコマンドは、効率良く入力できるように短くする。これが、コマンド入力に関する”手抜き”の基本だ。中でも「ll」は、同じキーを2回打つ究極に近い短縮名になっている。慣れてくると、こうした短縮名が用意されていない環境では激しいストレスを感じるようになるだろう。

今回のおさらい

今回のおさらいは、次のとおりだ。

  • lsコマンドでファイルの情報を表示する
  • lsコマンドは、引数に指定したディレクトリ下のディレクトリ/ファイル一覧を表示する
  • lsコマンドに引数を指定しないと、カレントディレクトリ直下のファイルやディレクトリの一覧を表示する
  • -lオプションで詳細情報を表示する
  • -aオプションで、名前がピリオドから始まるファイルやディレクトリも表示する
  • 「ls -l」には短縮名として「ll」が割り当てられている(CentOSの場合)

今回紹介したもの以外にも、lsコマンドにはいくつか有名なオプションがある。昔は多用されていたのに現在では使われなくなったものもあれば、ニーズに応じて追加されたものもあるので、次回はそれらについて紹介してみたい。