戻る
GNUのsh-fileutils付属のlsコマンドのマニュアル。
================================
LS(1) LS(1)
名前
ls, dir, vdir - ディレクトリの中身をリスト表示する
書式
ls [オプション] [file...]
POSIX オプション [-CFRacdilqrtu1]
GNU オプション (簡略形式): [-1abcdfghiklmnopqrstuvxABCD-
FGHLNQRSUX] [-w cols] [-T cols] [-I pattern]
[--block-size=SIZE] [--classify]
[--color[={none,always,auto}]] [--file-type] [--full-time]
[--format={across,commas,long,single-column,verbose,verti-
cal}] [--human-readable] [--indicator-style={none,file-
type,classify}] [--quoting-style={c,escape,lit-
eral,shell,shell-always}] [--show-control-chars] [--si]
[--sort={none,extension,size,time,version}]
[--time={atime,access,ctime,status,use}] [--help] [--ver-
sion] [--]
説明
プログラム ls は、最初にディレクトリでない引き数 file をリ
スト表示する。それから、ディレクトリである引き数について、
それぞれのディレクトリにあるリスト表示可能なすべてのファイ
ルを表示する。オプション以外の引き数が何もない場合、デフォ
ル ト の 引 き 数として `.' (現在のディレクトリ) を仮定す
る。-d オプションは、ディレクトリをディレクトリでない引 き
数 として扱わせるようにする。ファイル名が `.' で始まってい
なければ、そのファイルは表示される。 `.' で始まる 名 前 の
ファイルでも、-a オプションが指定されていれば表示される。
それぞれのファイルリスト (ディレクトリでないファイルのリス
トと各ディレクトリ内のファイルのリスト) は、現在のロケール
における文字の順序に従って個別にソートされる。 -l オプショ
ンが指定された場合、リスト中の全ファイルの合計サイズを表示
する要約行が各リストの前に付加される。このサイズは選択され
ているブロックサイズを単位とする数値になる。
出力は標準出力に対して行われ、 -C オプションで複数列出力が
要 求されない限り、1 行に 1 エントリである。しかし、端末に
対する出力では、出力が 1 列または複数列のどちらになるか が
定 められていない。オプション -1 と -C は、それぞれ 1 列出
力と複数列出力を強制させるために使用される。
POSIX オプション
-C ファイルを複数列でリスト表示する。垂直方向にソー ト
する。
-F ディレクトリ名の後に `/' を、FIFO の名前の後に `|'
を、実行可能なファイル名の後に `*' をそれぞれ付加す
る。
-R サブディレクトリがあれば、再帰的にリスト表示する。
-a `.' で始まる名前のファイルをリスト表示に含める。
-c ソート (-t) やリスト表示 (-l) のとき、修正時刻では
なく状態変更時刻を使う。
-d ディレクトリの中身を表示せず、他のファイルと同じ よ
うにディレクトリ名をリスト表示する。
-i ファイルのシリアル番号 (i-node 番号) をファイル名の
出力の前に置く。
-l ファイルのモード・リンクの数・所有者名・ グ ルー プ
名・ (バイト単位の) サイズ・タイムスタンプ・名前を
(1 列形式で) 書き出す。デフォルトでは、表示されるタ
イ ムスタンプは最終修正時刻である。オプション -c と
-u のときは、他の 2 つのタイムスタンプを選択す る。
デ バイススペシャルファイルの場合、通例として、サイ
ズを表示する場所がデバイスのメジャー番号とマイ ナー
番号に置き換えられる。
-q ファイル名の中の非表示文字をクエスチョンマークで出
力する。 (端末への出力では、このオプションをデ フォ
ルトにすることが許されている。)
-r ソートの順序を逆にする。
-t 表示されたタイムスタンプでソートする。
-u ソート (-t) やリスト表示 (-l) のとき、修正時刻では
なく最終アクセス時刻を使う。
-1 出力を 1 列にする。
GNU 詳細
標準出力が端末の場合、出力は (垂直方向にソートされて) 複数
列になる。
dir (d という名前でもインストールされる) は `ls -C' と等し
い。つまり、デフォルトとして、ファイルは垂直方向にソートさ
れ て複数列でリスト表示される。 vdir (v という名前でもイン
ストールされる) は `ls -l' と等しい。つまり、デフォルト と
して、ファイルは長い形式でリスト表示される。
GNU オプション
-1, --format=single-column
1 行に 1 ファイルをリスト表示する。標準出力が端末で
ない場合のデフォルトである。
-a, --all
`.' ではじまるファイルを含め、ディレクトリ中のす べ
てのファイルをリスト表示する。
-b, --escape, --quoting-style=escape
ファ イル名の中の非表示文字を表すため、バックスラッ
シュとアルファベットのシーケンスやバックスラッ シュ
と 8 進数のシーケンスを用いる。これらのシーケンスは
C 言語で使われているものと同じである。
-c ディレクトリの内容をファイルの状態変更時 刻 (inode
の `ctme') でソートする。長いリスト表示形式が使われ
る (-l オプションの) 場合、修正時刻ではなく状態変更
時刻が表示される。
-d, --directory
ディ レクトリの中身を表示せず、他のファイルと同じよ
うにディレクトリ名をリスト表示する。
-f ディレクトリの中身をソートせず、ディスク上にある 順
番 にリスト表示する。このオプションは -a も有効にす
る。 -f より前に -l, --color, -s が指定された場合、
それらのオプションは無効になる。
-g 無視される。Unix との互換性のためにある。
-h, --human-readable
それぞれのサイズについて、メガバイトには M といった
サイズ文字を付加する。1000 倍単位ではなく 1024 倍単
位を用いるので、 M は 1,048,576 バイトを表す。 1000
倍単位にしたいときは -H または --si オプションを 使
うこと。
-i, --inode
そ れぞれのファイルについて、ファイル名の左に inode
番号 (シリアル番号またはインデックス番号とよばれる)
を 表示する。 (この番号が、あるファイルシステム上の
それぞれファイルを他と重ならないように区別する。)
-k, --kilobytes
ファイルサイズがリスト表示される場合は、キロバイ ト
単位で表示する。
-l, --format=long, --format=verbose
ファ イ ル 名に加えて、ファイルタイプ・アクセス権・
ハードリンクの数・所有者名・グループ名・バイト単 位
の サイズ・タイムスタンプ (他の時間が選択されなけれ
ば、修正時刻) を表示する。ファイルの時間が 6 カ月以
上前または 1 時間以上先の場合、タイムスタンプには時
刻のかわりに年が入る。
リスト表示される各ディレクトリについて、ファイル 表
示 の 前 に `total blocks' という行を置く。ここで、
blocks はディレクトリ内の全てのファイルによって使用
されるディスク容量の合計である。デフォルトでは 1024
バイトブロックが用いられるが、この値は上書きする こ
と ができる。計算された blocks では、それぞれのハー
ドリンクが別個に数えられている。これはバグだとい う
議論もある。
リ スト表示されるアクセス権はシンボルモードの仕様と
同じであるが、 ls は複数のビットを各アクセ ス 権 の
セットの 3 文字目に組み入れている。
s setuid ビットまたは setgid ビットが設定され
ていて、さらに対応する実行ビットが設定されて
いる場合。
S setuid ビットまたは setgid ビットが設定され
ているが、対応する実行ビットが設定されていな
い場合。
t sticky ビットとその他のユーザーに対する実行
ビットがともに設定されている場合。
T sticky ビットは設定されているが、そ の 他 の
ユーザーに対する実行ビットが設定されていない
場合。
x 実行ビットは設定されているが、上のどれも適用
されていない場合。
- その他。
-m, --format=commas
ファ イル名をコンマとスペースで区切って、それぞれの
行にできるだけ多く詰め込み、横にリスト表示する。
-n, --numeric-uid-gid
所有者のユーザ名・グループ名のかわりに数字の UID と
GID をリスト表示する。
-o 長 い 形式でのディレクトリのリスト表示をするが、グ
ループ情報は表示しない。 --format=long --no-group
を 用 い るのと同じである。このオプションは他のバー
ジョンの ls との互換性のために提供された。
-p, --file-type, --indicator-style=file-type
ファイルタイプを示す文字を各ファイル名に加える。 -F
と似ているが、実行可能ファイルにはマークしない。
-q, --hide-control-chars
ファ イ ル 名の中の非表示文字の代わりにクエスチョン
マークを表示する。出力が端末、プログラムが ls の 場
合のデフォルトである。
-r, --reverse
ディレクトリの中身を逆順にソートする。
-s, --size
そ れぞれのファイルのディスク割り当て量をファイル名
の左に表示する。これはファイルによって使用 さ れ る
ディ スクの総量である。この大きさは普通はファイルの
サイズよりいくらか大きいが、ファイルがホール ( 穴)
を持っている場合は小さくなることもある。
各 ファイルの割り当て量は 1024 バイトブロック単位で
ファイル名の左に表示される。しかし、このブロック サ
イズは上書きされるかもしれない。
-t, --sort=time
アルファベット順ではなく修正時刻 (inode の `mtime')
でソートする。最も新しいファイルが最初にくる。
-u 修正時刻ではなく最終アクセス時刻 (inode の `atime')
で ディレクトリの中身をソートする。長いリスト表示形
式が使われる場合、修正時刻ではなく最終アクセス時 刻
が表示される。
-v, --sort=version
バー ジョン名とバージョン番号でソートする。バージョ
ンの一番低いものが最初にくる。デフォルトのソート の
よ う に動作するが、10 進の数字のシーケンスは、イン
デックス番号またはバージョン番号として数値的に扱 わ
れる。ゼロを前にもつ数値部分は小数として扱われる。
ls -1 ls -1v
bar-1.gz bar-1.gz
bar-100.gz bar-2.gz
bar-12.gz bar-12.gz
bar-2.gz bar-100.gz
foo-1.007.gz foo-1.007.gz
foo-1.012b.gz foo-1.01a.gz
foo-1.01a.gz foo-1.012b.gz
-w, --width cols
ス ク リー ンの幅を cols 文字と仮定する。可能ならば
ターミナルドライバからデフォルトの値を採用する。 そ
れが不可能な場合には、環境変数 COLUMNS が設定されて
いればその値を使う。設定されていない場合のデフォ ル
トは 80 文字である。
-x, --format=across, --format=horizontal
ファ イルを複数列でリスト表示する。水平方向にソート
する。
-A, --almost-all
ディレクトリ内の `.' と `..' 以外のすべてのファイル
をリスト表示する。
-B, --ignore-backups
コ マンドラインで指定した場合を除いて、`~' で終わる
ファイルをリスト表示しない。
-C, --format=vertical
ファイルを複数列でリスト表示する。垂直方向にソー ト
す る。標準出力が端末のときのデフォルトである。 dir
と d ではこのオプションが常にデフォルトになっ て い
る。 最も少ない行でなるべく多くのファイルを表示する
ため GNU ls は可変幅の列を使う。
-D, --dired
長いリスト表示 ( -l) と一緒に使われた場合、メインの
出力の後に以下のような追加の行を表示する:
//DIRED//
BEG1 END1 BEG2 END2 ...
BEGn と ENDn は符号なし整数で、リスト出力における各
ファイル名の始めと終わりのバイト位置を記録したも の
で ある。このオプションを使うと、ファイル名にスペー
スや改行といった普段使わない文字が含まれている場 合
でも、 Emacs でファイル名を探すのが (ファンシー検索
(fancy searching) を使わなくても) 簡単になる。
ディレクトリが再帰的にリスト表示される (-R オプショ
ン の) 場合、各サブディレクトリの後に以下ような行を
出力する:
//SUBDIRED//
BEG1 END1 ...
最後に、以下のような行を出力する。
//DIRED-OPTIONS// --quoting-style=WORD
ここで WORD はクォートのスタイルである。
-F, --classify
--indicator-style=classify と同じ。
-G, --no-group
長い形式でのディレクトリのリスト表示の場 合 に、 グ
ループ情報の表示をさせない。
-H, --si
それぞれのサイズについて、メガバイトには M といった
サイズ文字を付加する。 (SIとは国際単位系のこと で、
これらの文字を接頭辞と定義している) 1024 倍単位では
なく 1000 倍単位を用いるので、 M は 1,000,000 バ イ
ト を 表 す。 1024 倍単位にしたいときは -h または
--human-readable オプションを使うこと。
-I, --ignore=pattern
コマンドラインで与えられない限り、シェル パ ター ン
pattern (注:正規表現とは異なる) にマッチする名前の
ファイルはリスト表示しない 。シェルと同様に、ファイ
ル 名の先頭にある `.' は pattern の始めにあるワイル
ドカードにはマッチしない。たとえば、
lightside:~% ls --ignore='.??*' --ignore='.[^.]' \
--ignore='#*'
では、 1 つ目のオプションが `.' で始まる 3 文字以上
の 長さの名前をリストから除外する。また、2 つ目のオ
プションが `..' 以外の `.' で始まる 2 文字の名前 を
除外する。さらに、3 つ目のオプションが `#' で始まる
名前をリストから除外する。
-L, --dereference
シンボリックリンクそのものではなく、参照し て い る
ファイルの情報をリスト表示する。
-N, --literal
ファイル名中の非表示文字の変換を行わない。
-Q, --quote-name, --quoting-style=c
ファ イル名をダブルクォートで囲む。さらに、非表示文
字を C 言語で使われている形式に変換して表示する。
-R, --recursive
すべてのディレクトリの中身を再帰的にリスト 表 示 す
る。
-S, --sort=size
ア ルファベット順でなく、ファイルサイズでディレクト
リの中身をソートする。最も大きいファイルが最初に 表
示される。
-T, --tabsize cols
タ ブストップの幅を cols 文字分と仮定する。デフォル
トは 8 文字分。 ls は効率をよくするために出力中の可
能 な 場 所でタブを使う。 cols がゼロの場合、タブを
まったく使わない。
-U, --sort=none
ディレクトリの中身をソートせず、ディスク上にある 順
番 にリスト表示する (-U と -f の違いは、-f オプショ
ンが他のオプションを有効にしたり無効にしたりする 点
にある)。非常に大きなディレクトリをリスト表示する場
合、このオプションは特に有用である。なぜなら、 ソー
トをしないことにより著しく速くできるからである。
-X, --sort=extension
ディレクトリの中身をファイル拡張子 (最後の `.' の後
につづく文字列) のアルファベット順にソートする。 拡
張子のないファイルは最初にソートされる。
--block-size=SIZE
環 境変数の値を上書きして、ブロックサイズを SIZE に
設定する。
--color[=when]
ファイルタイプを区別するための色づけの有無を指定 す
る。色は環境変数 LS_COLORS を用いて指定される。この
変数の設定法についての情報は dircolors(1) を参照 す
ること。 when は省略できる。以下のいずれか 1 つを指
定することもできる:
none まったく色づけしない。これがデフォルト で あ
る。
auto 標準出力が端末の場合のみ色づけする。
always 常に色づけする。 --color を指定して when に
何にも指定しないのは --color=always と 等 し
い。
--full-time
時 間に関する情報を標準の省略形式ではなく完全な形式
でリスト表示する。時間の表示形式は date(1) のデフォ
ル トと同じ。この形式は変更できないが、時間の文字列
を cut(1) で取り出し、結果を `date -d' に渡すことが
できる。
時 間の出力に秒単位の情報を含んでいるので、このオプ
ションはとても有用である。 (Unix ファイルシス テ ム
は、 四捨五入した秒単位までのタイムスタンプしか持た
ないので、このオプションはタイムスタンプにあるす べ
て の情報を表示する。) たとえば、ファイルを完全に再
生成しない Makefile がある場合に、このオプション が
役立つ。
--indicator-style=WORD
各 ファイル名にファイルタイプを示す文字を付加する。
付加される文字は WORD に依存する:
none ファイルタイプを示す文字を付加しない。これが
デフォルトの動作である。
file-type
ディ レクトリに `/' を、シンボリックリンクに
`@' を、 FIFO に `|' を、ソケットに `=' を付
加 する。通常のファイルには何もつけない。 -p
と --file-type に等しい。
classify
file-type と同じであるが、さらに実行可能ファ
イ ルには `*' をつける。 -F と --classify に
等しい。
--quoting-style=WORD
出力されるファイル名をクォートするために、 WORD で
指 示されるスタイルを使用する。 WORD は次のいずれか
でなければならない:
literal
ファイル名をそのまま出力する。これがデフォル
トの動作であるが、将来のバージョンでは shell
がデフォルトになるかもしれない。
shell ファイル名がシェルのメタキャラクタを含む場合
や、シェルによくわからない出力を引き起こさせ
るかもしれない場合には、ファイル名をクォート
する。
shell-always
通常はクォートを必要としないファイル名に対し
ても、クォートを行う。
c C 言語における文字列の形式でファ イ ル 名 を
クォートする。 -Q と --quote-name に等しい。
escape c と同じであるが、ファイル名を囲 む ダ ブ ル
クォート文字を省略する。 -b と --escape に等
しい。
--quoting-style オプションのデフォルトの値は環境 変
数 QUOTING_STYLE で指定することができる。
--show-control-chars
ファ イル名の中の非表示文字をそのまま出力する。出力
が端末でないか、プログラムが ls でない場合はデ フォ
ルトである。
--time=atime, --time=access
--sort=time ま た は -t と一緒に使われると、 -u
(atime でソートする) と等しくなる。普通に時間を表示
す るオプションと一緒に使われると、各ファイルの最終
修正時刻ではなく最終アクセス時刻を表示する。
--time=ctime, --time=status, --time=use
--sort=time または -t と一緒に 使 わ れ る と、 -c
(ctime でソートする) と等しくなる。普通に時間を表示
するオプションと一緒に使われると、各ファイルの最 終
修正時刻ではなく inode の最終変更時刻を表示する。
GNU 標準オプション
--help 標準出力に使用方法のメッセージを出力して正常終了す
る。
--version
標準出力にバージョン情報を出力して正常終了する。
-- オプションリストを終了する。
ブロックサイズ
デフォルトの出力ファイルブロックサイズ は 1024 バ イ ト
(POSIXLY_CORRECT が設定されているときは 512 バイト) であ
る。この値は以下の環境変数のどれかを設定することで変更でき
る。 また、これらの環境変数の値は --block-size=SIZE がオプ
ションに与えられると無視される。
優先順位:
LS_BLOCK_SIZE, BLOCK_SIZE, POSIXLY_CORRECT.
これらの変数の値は、数字でも human-readable でも si でもよ
い。数字の後には、何倍であるかを指定するサイズ文字と、通常
のバイトを選択する B または十進の「商業用」バイトを選択 す
る D を 続 け て も よい。たとえば、`BLOCK_SIZE=1KB' は
`BLOCK_SIZE=1024' に 等 し く、 `BLOCK_SIZE=1KD' は
`BLOCK_SIZE=1000' に等しい。
以下の文字が認識される (また --human-readable と --si オプ
ションで表示されるときに用いられる)
k キロ: --human-readable なら 2^10 = 1024、 --si なら
10^3 = 1000
M メガ: 2^20 = 1,048,576 または 10^6 = 1,000,000
G ギ ガ: 2^30 = 1,073,741,824 ま た は 10^9 =
1,000,000,000
T テラ: 2^40 = 1,099,511,627,776 ま た は 10^12 =
1,000,000,000,000
P ペ タ: 2^50 = 1,125,899,906,842,624 または 10^15 =
1,000,000,000,000,000
E エクサ: 2^60 = 1,152,921,504,606,846,976 ま た は
10^18 = 1,000,000,000,000,000,000
Z ゼッタ: 2^70 = 1,180,591,620,717,411,303,424 または
10^21 = 1,000,000,000,000,000,000,000
Y ヨッタ: 2^80 = 1,208,925,819,614,629,174,706,176 ま
たは 10^24 = 1,000,000,000,000,000,000,000,000
環境変数
変数 LS_BLOCK_SIZE, BLOCK_SIZE, POSIXLY_CORRECT は出力ファ
イルブロックサイズの選択を決定する。変数 COLUMNS は (10 進
の整数表現を含んでいる場合)、 (-C オプションで使われる) 出
力の列の幅を決定する。ファイル名は複数列での出力にあわせる
た め に 短くされたりはしない。変数 QUOTING_STYLE は出力の
クォートのスタイルを決定する。変数 LS_COLORS は使用され る
色を指定するために使われる。変数 LANG, LC_ALL, LC_COLLATE,
LC_CTYPE, LC_MESSAGES, LC_TIME が通常の意味を持つ。変数 TZ
は ls によって書き出される時間の文字列のためのタイムゾーン
を与える。
バグ
BSD システムでは、HP-UX システムから NFS マウントした ファ
イルに対して、 -s オプションでは正しい値の半分の値を表示し
てしまう。 HP-UX システムでは、BSD システムから NFS マウン
ト したファイルに対して、 ls は正しい値の 2 倍の値を表示し
てしまう。これは HP-UX の欠陥によるもので、HP-UX の ls プ
ログラムにも影響を及ぼしている。
準拠
POSIX 1003.2
関連項目
dircolors(1)
注意
こ のページでは fileutils-4.0 パッケージでの ls コマンドに
ついて説明している。その他のバージョンでは少し違いがあるか
もしれない。修正や追加は aeb@cwi.nl, aw@mail1.bet1.puv.fi,
ragnar@macula.net 宛にメイルしてください。プログラムのバグ
については bug-fileutils@gnu.org へ報告してください。
GNU fileutils 4.0 17 November 1998 LS(1)