ls - ファイルおよびディレクトリーの名前と属性をリストする

形式

ls [–AabCcDdEFfgHikLlmMnopqRrsTtuWx1] [pathname …]

説明

ls は、ファイルおよびディレクトリーをリストします。pathname がファイルの場合 、ls は要求されたオプションに従ってファイルについての情報を表示し ます。ディレクトリーの場合、ls は、ファイルおよびそこにある サブディレクトリーについての 情報を表示します。ディレクトリー自身についての情報は、–d オプションを使用して 入手することができます。

どのオプションも指定しなかった場合、ls はファイル名だけを表示します。出力をパイプまたはファイルに送るときには、ls は 1 行当たり 1 つの名前を書き込みます。出力を端末に送るときには、–C (複数カラム) 形式を使用します。

注: ファイル問い合わせオペレーターが、テスト中のコード・セットの別名を戻すことがあるため、 相互の別名であるコード・セットが存在し、 そのためにテストが失敗する場合があります。

オプション

ls は、少なくともファイル名を表示します。以下のオプションを指定することによって、より多くの情報を要求することができます。
–A
ピリオド (.) で始まる項目も含めて、すべての項目をリストします。ただし、. または .. 項目は除きます。
–a
ピリオド (.) で始まる項目も含めて、すべての項目をリストします。.
–b
出力不能文字を、¥ooo 形式の 8 進数バイトとして 表示します。
–C
出力を縦にソートし、(複数) 欄に表示します。これは、端末へのデフォルトの出力フォーマットです。
–c
ファイルの属性の最終変更時刻を使用して、ソート (–t) または表示 (–l) を行います。
–D
ディレクトリーから表示します。
–d
名前を指定されたディレクトリーの内容は表示せず、ディレクトリー自身についての情報を表示します。
–E
正規ファイルに対する拡張属性を表示します。
a
プログラムは AC=1 でリンクされていれば APF 許可で実行されます。
p
プログラムはプログラム制御であるととられます。
s
プログラムは共用アドレス・スペースで実行できるようにさ れます。
l
プログラムは共用ライブラリー領域からロードされます。
属性は設定されていません。
長出力フォーマットを参照してください。
–F
各ディレクトリー名の後に /、各実行可能ファイルの後に *、各 FIFO ファイルの後に |、各シンボリック・リンクの後に @ そして、各ソケットの後に = を付けます。また、外部リンク名の後には & 文字も付けます。
–f
pathname 引数を強制的にディレクトリーと見なします。ソートをオフにします。 ls は、ディレクトリー・ファイル内のファイル名を 順番に並べたリストを作成します。ディレクトリー・ファイルが読み取られ、ファイル名が戻されたのと同じ順序でリストされます。ディレクトリー・ファイルの内容が表示されます。
–g
所有者を表示しないことを除き、–l と同じです。

–g は、長出力フォーマットをオンにします。 詳細については、長出力フォーマットを参照してください。

–H
正規ファイルのファイル・フォーマットを表示します。
––––
指定されていません
bin
バイナリー・データ
rec
レコード。(ファイル・データは、接頭部の付いたレコードから成ります。レコードの接頭部には、後に続くレコードの長さが含まれます。シェル・コマンドの観点からは、このフォーマットのファイルはバイナリー・ファイルのように扱われます。)
あるいは、以下のテキスト・データ区切り文字。
nl
改行文字
cr
キャリッジ・リターン
lf
改行 (LF)
crlf
キャリッジ・リターン改行
lfcr
改行キャリッジ・リターン
crnl
キャリッジ・リターン改行

–H は、長出力フォーマットをオンにします。 詳細については、長出力フォーマットを参照してください。

–i
ファイル名と共に、ファイル通し (inode) 番号を表示します。
–k
ブロック・サイズに 1024 バイトを使用します。
–L
シンボリック・リンクをたどります。
–l
許可、リンク、所有者、グループ、サイズ、時刻、名前を表示します。 詳細については、長出力フォーマットを参照してください。
–M
次の例のように、ファイルのセキュリティー・ラベルを表示します。
> ls -M  has_seclabel no_seclabel
SECLABEL	has_seclabel
         	no_seclabel
ls –M は、–l オプションをオンにしません。ls –M を他のオプションと一緒に使用できます。 詳細については、長出力フォーマットを参照してください。
–m
(複数の) 名前を 1 行に表示します。名前は、コンマで区切られます。
–n
UID 番号と GID 番号を表示します。
–o
グループを表示しないことを 除き、–l と同じです。

–o は、長出力フォーマットをオンにします。 詳細については、長出力フォーマットを参照してください。

–p
ディレクトリー名の後に / を入れます。
–q
出力不能文字を ? として表示します。
–R
サブディレクトリーを再帰的にリストします。
–r
通常の順序とは逆にソートします。このオプションは、リストをソートする他のオプションと 組み合わせることができます。
–s
ブロック単位でサイズを表示します。これは、ファイル通し (inode) 番号の後の、他の情報の前に表示されます。–k オプションを使用しないと、ブロック・サイズは 512 バイトになります。
–T
ファイルに関連したファイル・タグ情報を表示します。この出力形式は、chtag –p からの 出力に類似しています。
出力例は以下のとおりです。
> ls -T file
t   IBM-1047     T=on   file1 

ls –T は、–l オプションをオンにしません。ls –T を他のオプションと一緒に使用できます。 詳細については、長出力フォーマットを参照してください。

–t
時刻によってソートします。デフォルトでは、このオプションは出力をファイルの変更時刻によって ソートします。これは、–c および –u オプションによって 変更することができます。
–u
最終アクセス時刻を使用して、ソート (–t) または表示 (–l) を行います。
–W
監査ビットの表示を可能にします。このオプションは、–l オプションをオンにします。
これらのビットは、ファイル許可ビットを表示するフィールドの すぐ後の 6 文字フィールドに印刷されます。これらの 6 文字は、実際には 3 ビットずつの 2 つのグループです。最初の 3 ビットのグループは、ユーザー要求の監査情報を記述しています。2 番目の 3 ビットのグループは、監査担当者要求の監査情報を 記述しています。表示された各 3 文字は、読み取り、書き込み、および実行 (または検索) 監査オプションです。各文字は、以下のように監査オプションを示しています。

s (成功した監査試行を監査する)
f (失敗したアクセス試行を監査する)
a (すべてのアクセスを監査する)
(監査しない)

–W は、 長出力フォーマットをオンにします。 詳細については、長出力フォーマットを参照してください。

–x
出力をソートされたカラムに入れます。出力は行を横切って進みます。
–1
出力を強制的に 1 行 1 項目にします。
注: お互いに排他的なオプション (例えば、–c–u) を指定したときは、コマンド行で最後に現れたオプションが使用されます。

長出力フォーマット

ls –l からの出力は、ファイルの最も重要な情報を 1 行に要約しています。指定された pathname がディレクトリーの 場合、ls はそのディレクトリー内の各ファイルについての 情報を (1 行当たり 1 ファイル) 表示します。このリストの前には 1 行の状況行が表示されます。この状況行 には、ディレクトリー内のファイルによって占有されているファイル・システム・ブロックの総数が示されます (ファイル・システム・ブロックは 512 バイトのチャンクです。–k オプションが指定されている場合は 1024 バイトのチャンクとなります)。以下に示すのは、出力の例およびその説明です。
total 11
drwxr-xr-x       3 ROOT   SYS1    0 Mar 12 19:32 tmp
drwxrwxrwx       4 ROOT   SYS1    0 Mar 12 19:32 usr
drwxr-xr-x       2 ROOT   SYS1    0 Mar 12 19:32 bin
-rwxr--r--       1 ROOT   SYS1  572 Mar 12 19:32 foo
-rwxr--r--       1 ROOT   SYS1  640 Mar 12 19:33 abc

–T を指定していると、ファイル・タグ情報がまず最初に行に表示されます。

先頭文字は、以下のようにファイル・タイプを識別します。

正規ファイル
b
ブロック・スペシャル・ファイル (z/OS UNIX System Servicesではサポートされません)
c
キャラクター・スペシャル・ファイル
d
ディレクトリー
e
外部リンク
l
シンボリック・リンク
p
FIFO
s
ソケット・ファイル・タイプ
次の 9 文字は、3 つの 3 文字のグループになっています。これらは、ファイルに対する許可を記述しています。最初の 3 文字のグループは所有者の許可を記述し 、2 番目はグループの許可を記述し、3 番目は他の (または「ワールド」) 許可を記述して います。表示される可能性のある文字は、以下のとおりです。
r
ファイルの読み取り許可
w
ファイルへの書き込み許可
x
ファイルの実行許可
以下の文字は、出力の実行許可 (x) の位置にのみ現れます。
S
実行ビットがオフである点を除いては、s と同じ。
s
所有者許可セクションではセット・ユーザー ID ビットがオン、グループ許可セクションではセット・グループ ID ビットがオン。
T
実行ビットがオフである点を除いては、t と同じ。
t
スティッキー・ビットがオン。
拡張 ACL 項目がファイルに含まれている場合は、以下の文字がアクセス権の後に表示されます。
+
例えば、以下のとおりです。
ls -l file
-rwxrwxrw-+       WELLIE         SYS 167 Jan 11 09:54 file

拡張 ACL 項目を表示するには、getfacl を使用します。許可は、chmod または setfacl で設定することができます。

許可が設定されたあと、ls は以下のもの (上記の例を使用) をこの順序で表示します。
  • ファイルへのリンクの数。
  • ファイルまたはディレクトリーの所有者の名前。
  • ファイルまたはディレクトリーを所有しているグループの名前。
  • ファイルのサイズ (バイト数)。キャラクター・スペシャル・ファイルでは、メジャーとマイナーなデバイス・タイプを表示します。
  • ファイルの場合、最後に変更された日付と時刻。ディレクトリーの場合、作成された日付と時刻。–c および –u オプションによって、どの時刻値を使用するかを変更することができます。日付が 6 カ月以上古い場合、または 日付が未来である場合は、時刻の代わりに年が表示されます。
  • ファイルまたはディレクトリーの名前。
注: ユーザー ID 0 (UID=0) によって所有されているファイルが、UNIX タイプのシステムから NFS 接続を使用して他の UNIX タイプ・システムに 転送されるときは、UID は –2 (UID = –2) に変更されます。 –2 は z/OS システムでは有効な UID ではないので、ls は ユーザー名の代わりに –2 を表示します。
ls –E を出した場合は、追加の 4 文字が元の 10 文字の後に 続きます。
total 11
-rwxr-xr-x  -ps-   1 ROOT   SYS1  101 Mar 12 19:32 her
-rwxrwxrwx  a-s-   1 ROOT   SYS1  654 Mar 12 19:32 test
-rwxr-xr-x  a--    1 ROOT   SYS1   40 Mar 12 19:32 temp
-rwxr--r--  ap-l   1 ROOT   SYS1  572 Mar 12 19:32 foo
-rwxr--r--  --sl   1 ROOT   SYS1  640 Mar 12 19:33 abc
ls –H を出した場合は、追加の 4 文字が元の 10 文字の後に 続きます。
total 32
-rwxr-xr-x   ----   1 ROOT   SYS1     0 Mar 26 08:47 tmp
drwxr-xr-x          2 ROOT   SYS1  8192 Mar 26 08:50 usr
-rwxr--r--   cr     1 ROOT   SYS1    40 Mar 26 08:55 abc
-rwxr-x---   rec    1 ROOT   SYS1    80 Dec 26 09:55 newfmt
ls –E–H と一緒に使用した場合、ls –E に関連する通常の 4 文字の後に、–H で出力される 4 文字が続きます。
ls -EH
-rwxr-xr-x  ap-l bin   1 ROOT   SYS1   101 Mar 12 19:21 foo 
ls –W を出した場合は、追加の 6 文字 (2 つの 3 文字の グループ) が、元の 10 文字の後に続きます。最初の 3 文字のグループは ユーザー要求の監査情報を記述し、2 番目のグループは 監査担当者要求の監査情報を記述しています。
total 11
drwxr-xr-x  fff---     3 ROOT   SYS1    0 Mar 12 19:32 tmp
drwxrwxrwx  fff---     4 ROOT   SYS1    0 Mar 12 19:32 usr
drwxr-xr-x  fff---     2 ROOT   SYS1    0 Mar 12 19:32 bin
-rwxr--r--  fff---     1 ROOT   SYS1  572 Mar 12 19:32 foo
-rwxr--r--  fff---     1 ROOT   SYS1  640 Mar 12 19:33 abc

ls コマンドの使用上の注意

  1. ディレクトリーへのシンボリック・リンクからディレクトリーに関する情報 を表示するには、シンボリック・リンク名に末尾スラッシュを追加するか、あるいは -L オプションを使用してください。例えば、/etc ディレクトリーがシンボリック・リンクに変換されている場合は、末尾スラッシュを付けずに /etc に関して ls を発行すると、以下の情報が表示されます。
    > ls -l /etc
    lrwxrwxrwx   1 BPXROOT  BIN           12 Oct 18 19:46 /etc -> $SYSNAME/etc
    しかし、末尾スラッシュを追加すると、/etc に関する以下のような情報が表示されます。
    > ls /etc/      
    情報
    IBM cmx ioepdcf rc yylex.c
    NetQ csh.cshrc ldap recover yyparse.c
    Printsrv csh.login log security zoneinfo
    TextTools dfs magic socks.conf  
    booksrv imoisinf mailx.rc startup.mk  
    bpe init.options profile utmpx  
    -L オプションを使用した場合にも同じ情報が表示されます。
    ls -L /etc
    情報
    IBM cmx ioepdcf rc yylex.c
    NetQ csh.cshrc ldap recover yyparse.c
    Printsrv csh.login log security zoneinfo
    TextTools dfs magic socks.conf  
    booksrv imoisinf mailx.rc startup.mk  
    bpe init.options profile utmpx  
  2. 大規模なディレクトリー構造に対して ls コマンドを発行すると、次のメッセージが返される場合があります。
    FSUM6786  too many directory entries in "dir"
    この問題を緩和するには、ls コマンドを呼び出す前に _CEE_RUNOPTS="HEAP(,,,FREE)" 環境変数を設定します。 Language Environment® (言語環境プログラムともいう) は、ユーザー動的データ域が枯渇しないよう、未使用のすべてのストレージを解放します。 動的データ域の調整について詳しくは、「z/OS Language Environment プログラミング・リファレンス」を参照してください。

環境変数

ls は、以下の環境変数を使用します。
COLUMNS
端末の幅が列の数で入っています。ls は、–C オプションによって書き込む場合の 出力カラムの数を判別するために、この値を使用します。
TZ
日付および時刻ストリングを表示するときに使用する時間帯が入っています。

ローカライズ

ls は、以下のローカライズ環境変数を使用します。
  • LANG
  • LC_ALL
  • LC_COLLATE
  • LC_CTYPE
  • LC_MESSAGES
  • LC_TIME
  • LC_SYNTAX
  • NLSPATH

詳しくは、ローカライズを参照してください。

終了値

0
正常終了
1
以下のいずれかによる失敗。
  • メモリー不足
  • ファイル情報が見つからない
  • ディレクトリーが多すぎる
  • ファイルまたはディレクトリーが見つからない
  • コマンド行の指定
2
コマンド行のオプションが正しくない

メッセージ

以下の エラー・メッセージが出される可能性があります。
File or directory name is not found
要求されたファイルまたはディレクトリーが存在しない。
Cannot allocate memory for sorting
出力をソートするために、ls はメモリーを割り当てる必要があります。このメッセージは、ソート操作のためのメモリーが十分でないと言っています。
Too many directory entries in dir
このメッセージは、動的に割り当てられたメモリーを ls が 使い切ってしまったときにのみ表示されます。

移植性

POSIX.2, X/Open 移植性ガイド, UNIX システム.

–A–b–E–f–g–L–m–n–o–p–s–W、および –x オプションは、POSIX 標準の拡張です。

関連情報

TZ 環境変数のフォーマットに、TZ 環境変数を使用してローカル・タイム・ゾーンを設定する方法が説明されています。

ls-fshtcsh