LS(1)

名称
ls - ディレクトリの内容のリストを表示する

書式
ls [-ACFLRSTWacdfgiklmnoqrstux1] [file ...]

解説
ls は、 file で指定されたファイル名およびオプションの指定に従って、 ファイルに関する各種の情報を表示します。なお、 file としてディレクトリが指定された場合は、そのディレクトリ配下のファイルを 表示します。

オペランドが与えられなかった場合は、カレントディレクトリの内容が表示されます。 複数のオペランドが指定された場合は、ディレクトリでないオペランドが先に 表示されます。ディレクトリおよびディレクトリでないオペランドは 別々に辞書順にソートされます。 表示はファイル名の順にソートされています。

以下のオプションが利用可能です:

-A  ‘’. と ‘..’ を除く全てのエントリを表示します。スーパユーザの場合には、このオプションが 常にセットされます。

-C  マルチカラム形式で出力します。出力先が端末の場合は、 これがデォルトになります。

-F  それぞれのパス名の最後に、ディレクトリならスラッシュ (/)、 実行可能ファイルならアスタリスク (*)、 シンボリックリンクファイルならアットマーク (@)、 ホワイトアウトならパーセント (%)、 ソケットならイコール (=)、 FIFO なら縦棒 (|) をつけて表示します。

-L  引数がシンボリックリンクの場合、リンク自体ではなく、リンク先の ファイルやディレクトリを表示します。

-R  サブディレクトリを再帰的に表示します。

-S  サイズでソートし、大きいファイルから順に表示します。

-T  ファイルの時間情報を全て表示します。 これには月、日、時間、分、秒、年が含まれます。

-W  ディレクトリをスキャンした時にホワイトアウトを表示します。

-a  名前がドット (.) で始まるディレクトリエントリを表示に含めます。

-c  ソートや表示に、ファイルステータスの最終変更時間を使用します。

-d  ディレクトリを通常ファイルとして (再帰的に検索せずに) 表示し、 引数内のシンボリックリンクはその先をたどりません。

-f  ソートせずに表示します。

-g  何もしません。 ls(1) の旧バージョンと互換を保つためだけにあります。

-i  各ファイルについて、そのファイルのシリアル番号 (iノード番号) も表示します。

-k  -s オプションの動作を修飾するオプションで、ファイルサイズの表示をキロバイト単位に します。

-l  (``エル'' の小文字です。) ロングフォーマットで表示します。 ファイルの詳細な情報が得られます。 (下記参照。) 端末に出力している場合、ロングフォーマットの出力の前に、全てのファイル サイズの合計値を 1 行で表示します。

-m  ストリーム出力フォーマットです。ファイルを、カンマで区切ってページに跨って 表示します。

-n  (-l) のロングフォーマット出力時に、 ユーザ ID およびグループ ID を名前でなく数値で表示します。

-o  -l オプションによる詳細情報に、ファイルフラグも含めて表示します。 ファイルフラグが設定されていない場合には、 “-” が表示されます (フラグのリストとその意味については chflags(1) を参照してください)。

-p  パス名がディレクトリであるものは、その後ろにスラッシュ (/) をつけて表示します。

-q  表示できない文字がファイル名に使われている場合に、`?' として表示します。 端末に表示するときは、デフォルトでこの指定になります。

-r  辞書の順序とは逆の順番にソートしたり、一番小さいものや 一番古いエントリが最初に来るように、ソートの順番を逆にします。

-s  各ファイルが実際に占有しているファイルシステムブロック数を、1 ユニット あたり 512 バイトとして、端数は切り上げて表示します。 出力先が端末の場合は、一覧を表示する前に、全ファイルのサイズの総和を 1 行で表示します。

-t  オペランドを辞書順にソートする前に、ファイルの更新日時でソートします (最近更新されたものが先になります)。

-u  ファイルのソート (-t ) や表示 (-l ) の時に、ファイルの最終更新日時のかわりにファイルの最終アクセス日時で ソートします。

-x  マルチカラム形式で出力します。 ソートしたものをページ単位で埋めるのではなく、ページを跨いで埋めます。

-1  (数字の ``いち'' です。) 1 行につき 1 エントリ表示するよう強制します。 出力先が端末ではない場合のデフォルトです。

-1, -C, -l, -m, -x オプションは、お互いの効果を上書きします。最後に指定されたオプションで フォーマットが決定します。

-c, と -u オプションは、お互いの効果を上書きします。最後に指定されたオプションで、 どの時間を利用するかが決まります。

デフォルトでは ls は標準出力に 1 行 1 エントリずつ表示します。 ただし、出力先が端末の場合や -C または -m オプションが指定された場合は例外です。

ファイルの情報のうち、 -i, -s, -l オプションに関連する情報は、1個もしくはそれ以上の空白をあけて表示されます。

  ロングフォーマット
-l オプションが指定された場合、それぞれのファイルに対して 以下のものが表示されます:
ファイルモード
リンク数
所有者名
グループ名
ファイルのバイト数
ファイルの最終変更日時の月の短縮形
最終変更日時の日
最終変更日時の時間
最終変更日時の分
パス名

さらに、各ディレクトリに対して、 ディレクトリ内のファイルの情報が表示される直前に、 そのディレクトリに属するファイルのサイズの合計値が 512 バイトブロックを単位 として 1 行で表示されます。

所有者またはグループ名が不明の場合には、ID 番号で表示されます。

ファイルがキャラクタ型もしくはブロック型のスペシャルファイルの場合には、 そのファイルに対するメジャおよびマイナ番号が、ファイルサイズ のフィールドに表示されます。 ファイルがシンボリックリンクである場合には、リンク先の ファイルのパス名が、 “->” をその先頭につけて表示されます。

-l オプションで表示されるファイルモードには、エントリタイプ、 所有者のアクセス許可、グループのアクセス許可などが含まれます。 エントリタイプキャラクタはファイルのタイプを表し、以下のようになっています:

b   ブロック型スペシャルファイル
c   キャラクタ型スペシャルファイル
d   ディレクトリ
l   シンボリックリンク
s   ソケット
w   ホワイトアウト
-   通常ファイル

その次の 3 つのフィールドは、それぞれ 3 つの文字からなっており、 所有者に対するアクセス許可、グループのアクセス許可、 他のユーザに対するアクセス許可からなっています。 各フィールドは、3つの文字からなっています:

1.  r ならば読みだし可。 - ならば読みだし不可。

2.  w ならば書込み可。 - ならば書込み不可。

3.  以下のうち最初に該当するものが用いられます:

    S   所有者に対するアクセス許可において、ファイルが実行可能ではなく、かつ、 set-user-ID モードがセットされている場合。 グループに対するアクセス許可において、ファイルが実行可能ではなく、 かつ、set-group-ID モードがセットされている場合。

    s   所有者に対するアクセス許可において、ファイルが実行可能で、かつ、 set-user-ID モードがセットされている場合。 グループに対するアクセス許可において、ファイルが実行可能で、 かつ、set-group-ID モードがセットされている場合。

    x   ファイルが実効可能またはディレクトリが検索可能である場合。

    -   ファイルは、読出し、書込み、実行いずれも許可されておらず、 実効ユーザID も実効グループID も、スティッキビットも設定されていない場合。 (以下参照。)

    次の 2 つは、最後のグループ (他のユーザのパーミッション) の 3 番目の文字にのみ 使用されます。

    T   スティッキビットがセットされている (モード 1000 ) が、実行不可または検索不可である場合。 (chmod(1) または sticky(8) 参照。)

    t   スティッキビットがセットされ (モード 1000 )、かつ、検索可能または実行可能である場合。 (chmod(1) または sticky(8) 参照。)

ls ユーティリティは、成功時には 0 を、エラー発生時には 0 より大きな値を返します。

使用例

    # ls -l
    drwxr-xr-x   2 root  wheel     512 Apr 21 04:15 bin
    drwxr-xr-x   3 root  wheel    4096 Apr 24 11:29 dev
    drwxr-xr-x   9 root  wheel    1536 Apr 24 11:29 etc
    -rwxr-xr-x   1 root  wheel  890705 Apr 21 04:16 netbsd
    drwxr-xr-x   2 root  wheel    1024 Apr 21 04:15 sbin
    drwxr-xr-x   2 root  wheel     512 Apr 21 04:17 stand
    lrwxr-xr-x   1 root  wheel      11 Apr 24 12:22 sys -> usr/src/sys
    drwxrwxrwx   2 root  wheel     512 Apr 24 12:06 tmp
    drwxr-xr-x  13 root  wheel     512 Apr 24 11:39 usr
    drwxrwxrwx  18 root  wheel     512 Apr 21 04:17 var

各フィールドについて

    lrwxr-xr-x   1 root  wheel     11 Apr 24 12:22 sys -> usr/src/sys
    ----------   - ----  -----    --- ------------ ---    -----------
    |            |  |      |       |    |           |         |
    |            |  |      |       |    |           |シンボリックリンクの
    |            |  |      |       |    |           |リンク先ファイル名
    |            |  |      |       |    |           ファイル名
    |            |  |      |       |    -- ファイルが変更された日付と時間
    |            |  |      |       ------- ファイルサイズ
    |            |  |      --------------- ファイル所有者のグループ名
    |            |  ---------------------- ファイル所有者のユーザー名
    |            ------------------------- ハードリンク数
    -------------------------------------- ファイル種別およびアクセス許可

ファイル種別およびアクセス許可について

    - rwx r-x r-x
    _ ___ ___ ___
    |  |   |   |
    |  |   |   ---- 他のユーザーに対するアクセス許可。
    |  |   -------- 同じグループに所属するユーザーに対するアクセス許可。
    |  ------------ 自分に対するアクセス許可。それぞれ、意味は次の通り。
    |                       r: リードを許す
    |                       w: ライトを許す
    |                       x: 実行を許す
    |
    --------------- ファイル種別。各文字の意味は次の通り。
    b: ブロック型特殊ファイル(ディスク/dev/rsd0aなど)
    c: キャラクタ型特殊ファイル(端末/dev/ttyaなど)
    d: ディレクトリ
    l: シンボリックリンクファイル
    s: プロセス間通信で使用されるソケット
    -: 通常のファイル

環境変数
以下の環境変数が ls の動作に影響を与えます:

BLOCKSIZE
    環境変数 BLOCKSIZE が設定され、 -k オプションが指定されていない場合に、ブロック数 (-s オプション参照) がそのブロック数を単位として表示されます。

COLUMNS
    この変数に 10 進整数を表す文字列が含まれていた場合に、 マルチカラム表示のときのカラム幅として用います。 ターミナルのカラム幅を指定します。マルチカラム表示のとき の、1 行あたりいくつのファイル名を表示できるかを算出するために参照されます。 ls ユーティリティは、パス名を表示するカラム数を、提供された幅をもとにして 計算します。 (-C 参照。)

TZ  日時を表示するときに使われるタイムゾーンを指定します。 詳細は environ(7) を参照してください。

互換性
p1003.2 互換になるようにするため、 ロングフォーマット形式の出力にはグループフィールドが自動的に含まれます。

関連項目
chflags(1), chmod(1), symlink(7), sticky(8)

規格
ls ユーティリティは p1003.2 のスーパーセットになるように作ったつもりです。

歴史
ls ユーティリティは AT&T UNIX から登場しました。