Next: , Up: ls invocation   [Contents][Index]


10.1.1 表示対象にするファイル

以下のオプションは、どんなファイルについて ls が情報を表示するかを決定する。 デフォルトで ls が表示するのは、コマンドラインで指定されたファイルだが、 ディレクトリが指定された場合は、その内容になる。 ただし、ディレクトリの内容のうち、名前が ‘.’ で始まるファイルは表示しない。

-a
--all

ディレクトリの内容を表示する際、‘.’ で始まるファイル名も無視しない。

-A
--almost-all

ディレクトリの内容を表示する際、... は無視するが、 それ以外の ‘.’ で始まるいかなるファイル名も無視しない。--all (-a) オプションは、このオプションに優先する。

-B
--ignore-backups

ディレクトリの内容表示において、‘~’ で終わるファイルを無視する。 このオプションは、‘--ignore='*~' --ignore='.*~'’ と同じである。

-d
--directory

ディレクトリについても、ディレクトリ内容の一覧ではなく、 他のタイプのファイルの場合と同じように、名前だけを表示する。 また、--dereference-command-line (-H), --dereference (-L), --dereference-command-line-symlink-to-dir といったオプションが指定されていないかぎり、 コマンドラインでシンボリックリンクが指定されても、それをたどらない。

-H
--dereference-command-line

コマンドライン引数がシンボリックリンクを指定している場合、 リンクそのものではなく、リンクが参照しているファイルの情報を表示する。

--dereference-command-line-symlink-to-dir

原則としてシンボリックリンクの参照を行わないが、一つだけ例外がある。 すなわち、コマンドライン引数がシンボリックリンクを指定し、 それがディレクトリを指している場合は、リンクそのものではなく、そのディレクトリの情報を表示する。 この動作は、リンクの参照に関係する他のオプションが全く指定されていないときの、 ls のデフォルトの動作である (リンクの参照に関係する他のオプションには、 --classify (-F), --directory (-d), -l, --dereference (-L), --dereference-command-line (-H) がある)。

--group-directories-first

すべてのディレクトリをまとめてファイルの前に置き、その上で、選択したソート・キーを使って (--sort オプション参照)、ディレクトリとファイルをそれぞれ別々にソートする。 別の言い方をすると、このオプションはソートする際の主キーを設定し、 --sort オプションが副キーを設定するということだ。ただし、 --sort=none (-U) を使ったりすると、このオプションは全く無効になる。

--hide=PATTERN

ディレクトリの内容表示において、--all (-a) や --almost-all (-A) が同時に指定されていないかぎり、 シェルのパターン pattern に名前がマッチするファイルを無視する。 このオプションの動作は、--ignore=pattern とほぼ同じだが、--all (-a) や --almost-all (-A) が併せて指定されていると、効果がないという点が違う。

このオプションは、シェルのエイリアスで使うと、便利かもしれない。 たとえば、lx が ‘ls --hide='*~'’ のエイリアスで、ly は ‘ls --ignore='*~'’ のエイリアスだとしよう。 その場合、‘lx -A’ というコマンドは、ファイル README~ を表示するが、 ‘ly -A’ は表示しないことになる。

-I pattern
--ignore=pattern

ディレクトリの内容表示において、シェルのパターン (正規表現ではない) pattern に名前がマッチするファイルを無視する。 シェルの場合と同様、ファイル名の先頭にある ‘.’ は pattern の先頭のワイルドカードとマッチしない。 このオプションを二度以上使うと、便利なことがある。たとえば、

$ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'

最初のオプションは ‘.’ で始まる 3 文字以上のファイル名を無視する。 二番目のオプションは ‘.’ で始まる二文字のファイル名のうち、 ‘..’ を除くすべて無視し、三番目のオプションは ‘#’ で始まるファイル名を無視する。

-L
--dereference

シンボリックリンクについてファイル情報を表示する際、リンクそのものではなく、 リンクが参照しているファイルの情報を表示する。とは言え、 このオプションを使用した場合でも、表示されるファイル名については、 リンクそのものの名前のままであり、リンクが指しているファイルの名前にはならない。

-R
--recursive

すべてのディレクトリの内容を再帰的に一覧表示する。


Next: , Up: ls invocation   [Contents][Index]