Ls (UNIX)

lsコマンドについて



lsコマンドは、Unix系システムにおいてファイルやディレクトリの一覧を表示するための基本的なコマンドです。POSIXおよびSingle UNIX Specificationで規定されており、システムのファイル構造を把握する上で欠かせないツールの一つです。

歴史



lsコマンドは、AT&T UNIXの最初のバージョンから存在し、その歴史は非常に古いものとなっています。名称は、Multicsに存在した類似のコマンドから受け継がれました。現在、主に利用されている実装としては、フリーソフトウェア財団によるGNU版と、FreeBSD、OpenBSDNetBSD、DarwinなどのBSD系システムで採用されているものの2つがあります。どちらも自由ソフトウェアとして提供され、オープンソースで開発されています。

振る舞い



Unix系のシステムには、現在作業中のディレクトリを示す「カレントディレクトリ」という概念があります。lsコマンドは、引数なしで実行すると、このカレントディレクトリ内のファイルとディレクトリの一覧を表示します。特定のディレクトリを指定すると、そのディレクトリの内容が表示されます。また、複数のファイルやディレクトリを引数として指定することも可能です。

通常、ドット「.」で始まるファイル(隠しファイル)は表示されませんが、`-a`オプションを使用することで、これらを含めた全てのファイルを表示できます。lsコマンドは、デフォルトではファイル名のみを表示しますが、さまざまなオプションを用いることで、ファイルのタイプ、パーミッション、サイズ、更新日時などの詳細な情報を表示することが可能です。

主要なオプション



lsコマンドには多くのオプションがありますが、ここでは特によく使われるものを紹介します。

`-l`:ファイルの詳細情報を表示します。ファイルタイプ、パーミッション、ハードリンク数、所有者、グループ、サイズ、日付、ファイル名などが表示されます。
`-F`:ファイルタイプを表す記号をファイル名の末尾に付加します。例えば、実行可能ファイルには``、ディレクトリには`/`が付きます。
`-a`:ドットファイルを含むすべてのファイルを表示します。
`-R`:サブディレクトリ内のファイルも再帰的に表示します。これにより、ディレクトリ構造全体を把握することができます。

また、環境によっては、`--color`(GNU ls)または`-G`(FreeBSD ls)オプションを使用することで、ファイルタイプによって色分けして表示することが可能です。

出力例



lsコマンドの`-l`オプションを用いた出力例を以下に示します。


brw-rr 1 unixguy staff 64, 64 Jan 27 05:52 block
crw-rr 1 unixguy staff 64, 255 Jan 26 13:57 character
  • -rw-rr 1 unixguy staff 290 Jan 26 14:08 compressed.gz
  • -rw-rr 1 unixguy staff 331836 Jan 26 14:06 data.ppm
drwxrwx--x 2 unixguy staff 48 Jan 26 11:28 dir
  • -rwxrwx--x 1 unixguy staff 29 Jan 26 14:03 executable
prw-rr 1 unixguy staff 0 Jan 26 11:50 fifo
lrwxrwxrwx 1 unixguy staff 3 Jan 26 11:44 link -> dir
  • -rw-rw---- 1 unixguy staff 217 Jan 26 14:08 regularfile


上記出力例では、各ファイルやディレクトリのタイプ(b:ブロックデバイス、c:キャラクタデバイス、-:通常ファイル、d:ディレクトリ、l:シンボリックリンクなど)、パーミッション、所有者、グループ、サイズ、最終更新日時、ファイル名が表示されています。

使用例



次に、lsコマンドの使用例を示します。


$ pwd
/home/fred
$ ls -l
drwxrr 1 fred editors 4096 drafts
  • -rw-rr 1 fred editors 30405 edition-32
  • -r-xr-xr-x 1 fred fred 8460 edit
$ ls -F
drafts/
edition-32
edit



この例では、ユーザーfredのホームディレクトリに、`drafts`というディレクトリ、`edition-32`という通常のファイル、`edit`という実行可能ファイルが存在していることが分かります。

ファイルパーミッション



lsコマンドの`-l`オプションの出力に現れるパーミッション表示は、ファイルに対するユーザー、グループ、その他のユーザーのアクセス権を示します。例えば、`-rw-rr` は、ファイルの所有者には読み書きの権限があり、グループメンバーおよびその他のユーザーには読み取り権限のみがあることを示します。最初の文字はファイルタイプを示し、残りの3文字ごとのブロックは、それぞれ所有者、グループ、その他のユーザーに対するパーミッションを表します。`r`は読み取り権限、`w`は書き込み権限、`x`は実行権限を表します。

関連情報



`sl` (UNIX)
ファイルパーミッション

外部リンク



ls(1) - Linux JM Project
ls(1) - OpenBSD
ls(1) - HMUGリファレンスマニュアル
ls(1) - Debianリファレンスマニュアル
* ls ドキュメント(GNUプロジェクト版、英語)

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。