名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項
file オペランドがディレクトリの場合、 ls は、そのディレクトリの内容を出力します。 file が通常ファイルの場合、 ls は、そのファイル名と要求された他の情報を出力します。 デフォルトでは、アルファベット順にソートして出力します。 引数をまったく指定しないと、 現在のディレクトリの内容を出力します。 引数を複数指定すると、引数は最初に適切にソートされますが、 ファイル引数がディレクトリとその内容より先に処理されます。
出力形式には、主に 3 種類あります。 端末に対するデフォルトの出力形式は、複数カラムで、 ソートしたエントリを縦方向に並べて表示します。 -1 オプションを指定すると、単一のカラムで出力します。 -m オプションを指定すると、ストリーム出力形式で表示します。 -C、 -x、 -m オプションの出力形式を決定するために、ls は環境変数 COLUMNS を使用して、 1 行に出力できる文字数を調べます。 この環境変数が設定されていない場合は、環境変数 TERM に基づいて、 terminfo(4) データベースが使用され、カラム数が決定されます。 この情報が得られない場合は、カラム数は 80 カラムと見なされます。
-l オプションで出力されるモードは 10 文字からなります。 最初の文字は次のいずれかです。
エントリがディレクトリの場合
エントリが door の場合
エントリがシンボリックリンクの場合
エントリがブロック型特殊ファイルの場合
エントリが文字型特殊ファイルの場合
エントリが FIFO (「名前付きパイプ」と呼ばれる) 特殊ファイルの場合
エントリが AF_UNIX アドレスファミリのソケットの場合
エントリが通常ファイルの場合
残りの 9 文字は、 3 文字ずつの 3 組に分けられます。 最初の組は、所有者へのアクセス権を示します。 次の組は、同一のグループに属する他のユーザーへのアクセス権を示します。 最後の組は、その他のユーザーへのアクセス権を示します。 各組においては、 3 文字がそれぞれ、ファイルの読み取り、書き込み、実行権を示します。 ディレクトリの場合は、「実行」権は、 指定したファイルの有無についてディレクトリを検索するアクセス権を意味します。 アクセス権に続く文字は ACL について示しています。 ファイルに ACL が関連づけられている場合はプラス記号が表示されます。 アクセス権だけの場合は 何も表示されません。
ls -l ( ロング形式出力 ) は、 POSIX ロケールで次のように出力します。
-rwxrwxrwx+1smithdev10876May169:42part2
右から左へ見ていくと、現在のディレクトリには part2 というファイルが 1 つあるのがわかります。 次に、ファイルの内容を最後に修正したのは、 5 月 16 日午前 9 時 42 分です。 ファイルには、 10,876 文字 (バイト) が含まれています。 ファイルの所有者またはユーザーは、 グループ dev (おそらく development を示す) に属しており、ログイン名は smith です。 この例で 1 と示されている数字は、 part2 というファイルへのリンクの数を示します (cp(1) を参照) 。プラス記号は、ファイルに関連する ACL があることを示します。 さらにダッシュと文字によって、ユーザー、グループ、その他のユーザーが part2 に対する読み取り、書き込み、実行権を持っていることが示されています。
実行権を表す x は、各組の 3 番目の位置に置かれます。 3 番目の位置に - がある場合は、実行権を与えられていないことを示します。
各アクセス権の意味は、次のとおりです。
ファイルが読み取り可能
ファイルが書き込み可能
ファイルが実行可能
指定されたアクセス権は与えられていない
セットユーザー ID ビットまたは セットグループ ID ビットがオンで、対応するユーザーまたはグループ実行権ビットもオン
不定ビット状態 (セットユーザー ID ビットがオンで、ユーザー実行権ビットがオフ)
1000 (8 進) ビット、つまりスティッキビットがオン (chmod(1) を参照) で、 実行権ビットがオン
1000 ビットがオンで、実行権ビットがオフ (不定ビット状態)
アクセス中に強制ロックが発生する (セットグループ ID ビットがオンで、グループ実行権ビットがオフ)
ユーザーやグループへのアクセス権では、 3 番目の位置に x や - ではなく、セットユーザー ID ビットあるいはセットグループ ID ビットの状態に応じて s が置かれることがあります。 実行中に、ユーザーのユーザー ID をファイルのユーザー ID と同じと見なすこの機能は、たとえば、 スーパーユーザーとして起動したユーザーが、 ログイン中に普通にログインした場合のユーザー ID を必要とするときなどに使用されます。
グループへのアクセス権においては、 3 番目の位置に l が置かれることがあります。 l は、強制的なファイルおよびレコードのロックを示しています。 これは アクセス中にその他のファイルに対する読み取り または書き込み権をロックする ファイルの機能があることを示しています。
その他のユーザーへのアクセス権においては、 3 番目の位置に t または T が置かれることがあります。 これらは、スティッキビットと実行権の状態を示しています。
以下のオプションを指定できます。
すべてのエントリを出力します。 つまり、 ドット (.) で始まるエントリも出力します。
すべてのエントリを出力します。 つまり、 ドット (.) で始まるエントリも出力します。 ただし、作業用ディレクトリ (.) や親ディレクトリ (..) は出力しません。
出力できない文字を 8 進 ¥ddd の出力形式で強制的に出力します。
( -t オプションによる) ソート や ( -l または -n オプションによる) 出力において、 i ノードを最後に修正した時刻 ( ファイル作成、モード変更など ) を使用します。
複数カラム形式の出力で、エントリを縦方向にソートします。 これは、デフォルトの出力形式です。
引数がディレクトリの場合、 ( 内容ではなく ) その名前だけを出力します。 -l とともに使用すれば、ディレクトリの状態を知ることができます。
強制的に、各引数をディレクトリと解釈し、 各引数のディレクトリで見つかる名前を出力します。 このオプションは、 -l 、 -t 、 -s 、 -r を無視し、 -a が指定されたものと見なします。 エントリは、ディレクトリ内での順序で出力されます。
ディレクトリの各内容の末尾に種別を表す記号をつけます。 ディレクトリの場合はスラッシュ (/) を、 door の場合は大なり括弧 (>) を、実行可能なファイルの場合はアスタリスク (*) を、 FIFO の場合は縦棒 (|) を、シンボリックリンクの場合は単価記号 (@) を、 AF_UNIX アドレスファミリのソケットの場合は等号 (=) を、それぞれ末尾に付けます。
所有者名が出力されない点を除いて、 -l と同じです。
各ファイルについて、 i ノード番号を第 1 カラムに出力します。
各ファイルについて、モード、 ACL 表示、 リンクの数、所有者名、グループ名、サイズ ( バイト単位 ) 、最終修正時刻をロング形式で出力します。 ファイルが特殊ファイルの場合、サイズフィールドには、 メジャーデバイス番号とマイナーデバイス番号が入ります。 最終修正時刻が 6 箇月よりも前である場合には、 POSIX ロケールでは「月・日・年」の形式で表示されます。 LC_TIME ロケールカテゴリが POSIX ロケールに設定されていない場合には、 異なった形式で時間フィールドが表示されます。 最終修正時刻が 6 箇月以内である場合には、 「月・日・時」の形式で表示されます。 ファイルがシンボリックリンクの場合は、ファイル名を出力したあとに、 -> に続いて参照されるファイルのパス名が出力されます。
引数がシンボリックリンクの場合、リンク自身ではなく、 そのリンクが参照するファイルまたはディレクトリの情報を出力します。
ストリーム形式出力を指定します。 ファイルはコンマで区切られ横方向に出力されます。
所有者名とグループ名の代わりに、所有者のユーザー ID とグループのグループ ID が出力されることを除き、 -l と同じです。
グループ名が出力されない点を除き、 -l と同じです。
ファイルがディレクトリの場合、各ファイル名の後にスラッシュ (/) を付けます。
ファイル名中の出力できない文字を疑問符記号 (?) として出力します。
他のオプションの指定に応じて、アルファベットの逆順にまたはファイルが古い順にソートします。
サブディレクトリの内容を再帰的に出力します。
各エントリについて、 間接ブロックを含むブロック数を出力します。
ファイル名ではなく、タイムスタンプ ( 新しい順 ) でソートします。 デフォルトは最終修正時刻です ( -u と -c を参照 ) 。
( -t オプションによる ) ソート または ( -l オプションによる ) 出力において、最終修正時刻の代わりに、最終アクセス時刻を使用します。
複数カラム形式出力で、エントリを縦方向ではなく横方向にソートします。
1 行の出力につき 1 つのエントリを出力します。
オプションのうち -C と -1 ( 数字のイチ ) および -c と -u は、同時に指定できません。 このような矛盾する組み合わせでオプションを指定してもエラーにはならず、 あとの方で指定されたものが有効になります。
オプションのうち -C と -l ( 小文字のエル)、 -m と -l ( 小文字のエル)、 -x と -l ( 小文字のエル) は、同時に指定できません。 このような矛盾する組み合わせでオプションを指定してもエラーにはならず、 -l 指定が有効となります。
オプションのうち -C と -l ( 小文字のエル)、 -m と -l ( 小文字のエル)、 -x と -l ( 小文字のエル)、は、同時に指定できません。 このような矛盾する組み合わせでオプションを指定してもエラーにはならず、 あとの方で指定されたものが有効になります。
ファイルが 2 ギガバイト ( 231 バイト) 以上ある場合の ls の動作については、 largefile(5) を参照してください。
以下に、ファイルのアクセス権の例を示します。
-rwxr- -r- -
これは、ファイルがユーザーに対しては読み取り、書き込み、実行可能で、 グループおよびその他のユーザーに対しては読み取り可能であることを示しています。
ファイルのアクセス権の別の例を示します。
-rwsr-xr-x
これは、ファイルがユーザーに対しては読み取り、書き込み、実行可能で、 グループおよびその他のユーザーに対しては読み取りおよび実行可能であり、 実行時にユーザーがこのファイルのユーザー ID を自分のユーザー ID として使用できることを示しています。
ファイルのアクセス権の別の例を示します。
-rw-rwl- - -
これは、ファイルがユーザーおよびグループによってだけ読み取り および書き込み可能で、 アクセス中にロックされることを示しています。
コマンド行の例を示します。
example% ls -a
このコマンドは、通常は出力されないドット (.) で始まるものを含む、 現在のディレクトリ内のすべてのファイル名を出力します。
もう 1 つ、コマンド行の例を示します。
example% ls -aisn
このコマンドは、ドット で始まるものを含む、 すべて のファイルについて (a) 、 i 番号 - ファイルに対応する i ノードのメモリーアドレス - をカラムの左側に (i) 、 ファイルの サイズ (ブロック単位) を i 番号の右のカラムに (s) 出力します。 さらに、コマンドによる出力形式は、 ファイルに関連する UID 番号 (ユーザー名の代わり) と GID 番号 (グループ名の代わり) が出力される ロング出力形式の数値バージョン (n) になります。
ディレクトリ内のファイルのサイズを出力する際、 間接ブロックを含むブロックの総数を出力します。
ls の実行に影響を与える環境変数 LC_COLLATE、LC_CTYPE、LC_TIME、LC_MESSAGES、NLSPATH、TZ についての詳細は、 environ(5) を参照してください。
複数のテキストカラムからなる出力を生成する場合に、 ユーザーが希望するカラム幅の値を指定します。 この変数の値が 10 進整数を示す文字列の場合、 ls は書き出すパス名テキストカラムの数を、その幅の値を元に 計算します ( -C の説明を参照)。 COLUMNS が設定されていない、または値が不適当な場合には、カラム幅として 80 が用いられます。 どのディレクトリのファイル名を出力する場合でも、 選択されたカラム幅は一定です。 複数テキストカラムを出力する際、ファイル名は長すぎても 切り捨てられません。
ls -l および ls -g 用のグループ ID
ls -l および ls -o 用のユーザー ID
端末情報データベース
次の属性については attributes(5) のマニュアルページを参照してください。
chmod(1), cp(1), setfacl(1), terminfo(4), attributes(5), environ(5), largefile(5), XPG4(5)
ファイル名に出力できない文字があると、 カラムの出力オプションが正しく処理されないことがあります。
ハードリンクされたファイルがある場合、 総ブロック数は正しく表示されません。
名前 | 形式 | 機能説明 | オプション | オペランド | 使用法 | 使用例 | 環境 | 終了ステータス | ファイル | 属性 | 関連項目 | 注意事項