Windowsの「dir」はLinuxの「ls」コマンド――ファイル一覧表示Windows→Linuxクロスレファレンス(1/2 ページ)

オープンソースやクラウドの隆盛により、企業のITシステムでもWindowsにこだわらず、Linuxも使った方がよい状況が増えてきている。そこでWindowsシステム管理者にも優しいLinuxのコマンドや管理作業の解説連載スタート!

» 2016年07月14日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
「Windows→Linuxクロスレファレンス」のインデックス

連載目次

はじめに

 企業のITシステム構築・運用にオープンソースソフトウェア(OSS)やクラウドサービスを活用することが一般的になってきている。それにつれて、Windowsにこだわらず、LinuxやUNIXなどで培われたさまざまな技術(特にWebベースのシステム)を利用した方が便利だったりコストが安かったり、という場面が次第に増えてきている。今までWindowsシステムを担当していたシステム管理者も、今後はLinuxも使わざるを得ないだろう。

 今回から始まるこの連載では、主に、今までWindows OSのみを使ってきた管理者やユーザーを対象に、Windows上で使っていたコマンドや管理作業は、Linux上ではどのようなコマンドや作業になるのかを簡単に、コンパクトに解説する。

 なおLinux(やそれの元になったUNIX)の基本的な使い方については本連載では詳しくは述べない。ここで紹介したコマンドの詳しい解説や、より進んだ活用方法などについては以下の記事を参照していただきたい。

 本連載の実行例は、特に断りの無い限り、最新版のUbuntu Linux(現時点ではUbuntu 16.04 LTS日本語 Remix)上で実行している。これ以外の環境を利用する場合や、Windows 10向けのUbuntu Bashシェル実行環境(現在はβ版提供中)などを利用する場合は、その都度注記する。

ファイルの一覧はlsコマンドで

 さて最初に取り上げるのは、ファイルを一覧表示させるlsコマンドの利用方法である。

 Windowsのコマンドプロンプトを起動して最初に実行するコマンドは、ファイルやディレクトリの一覧を表示する「dir」コマンドであることが多いだろう。何らかのコマンドを実行する場合は、大抵の場合、その操作対象となるファイル名やフォルダ名などをまず確認する必要があるからだ。

 LinuxのCUI(シェル)でファイル名の一覧を表示するコマンドは「ls」(listの略)である。実は「dir」や「vdir」というコマンドもあり、それらの実体はlsとほぼ同じであるが(デフォルトオプションが異なるだけ)、まずはlsを覚えておこう。

lsコマンドでファイルの一覧を表示させる lsコマンドでファイルの一覧を表示させる
引数なしでlsコマンドを実行すると、カレントディレクトリ内にあるファイルやフォルダ名の一覧が表示される。ただし「.」で始まる名前などは表示されない。それらを表示させる方法は後述。なお、「$」はbashのプロンプト記号である。その直前に表示されている文字列は、「<ログインしているユーザー名>@<ホスト名>:<カレントディレクトリ>」となっている。「~」はホームディレクトリにいることを表す。
  (1)「pwd」は、カレントディレクトリを表示させるコマンド。Windowsでは、引数なしのcd(chdir)コマンドに相当。
  (2)lsを実行してみる。
  (3)結果のリスト。名前の一覧がアルファベット順にマルチコラム表示される(上下方向にソートされている)。いろいろな場所で実行してみよう。ちなみにパスの区切りはWindows OSでは「\」だが、Linux/UNIXでは「/」である。

 これはUbuntu Linuxの標準シェル「bash」上で、オプションを付けずにlsコマンドを実行したところである。Windowsのコマンドプロンプト上のdirコマンドと比較すると、「(dir /bのような)ファイル名だけのシンプルな表示」「名前に色が付いて表示されている」という点が大きな違いだろうか。

●オプション指定の方法

 コマンドオプションは「-」(ハイフン1つ)か「--」(ハイフン2つ)に続けてオプション文字/文字列を指定するのが一般的である。

 もともとUNIXやLinuxでは、「-a」のようなシンプルなオプション指定の方法が使われていた。だが、これでは分かりづらいし、引数を追加したり、オプションが増えてきたときに混乱しがちだ。

 そのため、「--all」のような長いオプション表記も利用できるようになってきた。ただし全てのオプションにこの2通りの指定方法があるわけではない。

●ヘルプを表示する

 コマンドのオプションを調べるには、「ls --help」のように、「--help」オプションを付けて実行するか、マニュアルを表示するmanコマンドを使って「man ls」で確認するのが一般的である。

コマンドのヘルプの表示 コマンドのヘルプの表示
大抵のコマンドには、自分自身でヘルプメッセージを表示させるオプションが実装されている。
  (1)Windows上のコマンドは「/?」オプションを使うものが多いが、lsでは利用できない。
  (2)「--help」を使うのが一般的。より詳しくは、manコマンドを使って「man ls」のようにして調べる。bashのビルトインコマンドなら「help set」のように、helpコマンドが使える。

詳細表示は「-l」オプション、全ファイル表示は「-a」オプションで

 さて、デフォルトではファイルやディレクトリの名前しか表示しないlsコマンドであるが、Windowsの(オプションなしの)dirコマンドのように、詳細な表示を得るためには、「-l」オプションを付ける。

 また「-a(--all)」オプションを付けると、デフォルトでは表示されない「.」で始まるファイル名やフォルダ名も表示されるようになる。Linuxでは、Windows OSのような「隠し」属性というものはなく、先頭が「.」であればデフォルトで表示されない。例えば、カレントディレクトリの「.」や親ディレクトリの「..」も、これに該当する。「.」と「..」を除いた全ファイルの表示は「-A」オプションだ。

 複数のオプションを指定する場合は、(「ls -a -l」ではなく)「ls -al」のようにオプション指定文字を連続して並べればよい(長形式のオプションは連続不可。空白記号で区切って並べること)。

ファイルの詳細表示 ファイルの詳細表示
ファイルの詳細表示名前だけでなく、サイズや更新時刻、ファイル属性など、より詳細な情報を見たい場合は-lなどのオプションを使う。
  (1)オプションなしでの実行。ファイル名のみ画表示される。
  (2)-aオプションを付けると、「.」で始まる名前も表示される。
  (3)-lオプションを付けると、名前だけでなく、それ以外の情報も表示される。
  (4)「-a」と「-l」を同時に指定するなら、「-al」のようにくっつけてもよい。Windowsの場合は、オプションごとに必ず1つずつ「/」が必要。

 「-l」オプションで詳細表示させると、左から順に次のような情報が表示されれている。

フィールド 内容
ブロックサイズ -sオプション指定時のみ表示される(上の画面例には出ていない)。そのファイルが使用しているブロック数(ブロックサイズはファイルシステムなどの応じて変わる)
属性 読み出し(r)や書き込み(w)、実行許可(x)などの組み合わせ。詳細は今後解説予定
リンクカウント ファイル(iノード)が幾つのエントリから共有されているかを表す数。通常は、ファイルの場合は1であることが多い
ユーザー ユーザー名(ファイルの所有者)
グループ グループ名(ファイルの属するグループ)
更新日付 ファイルやディレクトリの最終更新日付。
名前 ファイル名やディレクトリ名、シンボリックリンクのリンク先など
-lオプションで表示される詳細情報

 Linuxの属性情報(「-rwxrwxr-x」や「drwxr-xr-x」などと表示されている部分)は、Windows OSのAttribコマンドやACL(アクセス制御リスト)などのメカニズムとは大きく異なっており、対比して解説するのは容易ではない。Linuxのファイルシステムの属性情報やその操作方法については今後、回をあらためて取り上げる。

       1|2 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。