Go to the first, previous, next, last section, table of contents.
この章では,ls
コマンドとその変形のdir
とvdir
を記述し,
それはファイルに関する情報をリストアップします.
ls
プログラムは,ファイル(の形式で,ディレクトリを含む)に関する情
報をリストアップします.オプションとファイル引数は,通常のものと同様,任
意に混ぜることができます.
オプションの無いコマンドラインのディレクトリ引数に対し,ls
はデフォ
ルトで,ディレクトリの内容をリストアップし,それは再帰的ではなく,
`.'で始まる名前を持つファイルは除きます.他のオプションの無い引数に
対し,ls
はデフォルトで,そのファイル名のみをリストアップします.
オプションではない引数が指定されない場合,ls
は現在のディレクトリ
の内容をリストアップします.
デフォルトで,出力はアルファベット順に出力されます.標準出力が端末の場合,
出力は(垂直方向にソートされた)列になり,制御文字は疑問符として出力されま
す.それ以外の場合,出力は1行毎にリストアップされ,制御文字は同様になり
ます.
ls
はこのような基本的なプログラムなので,それは数年かけて多くのオ
プションを蓄積してきました.それらは以下のサブセクションで記述します.そ
れぞれのセクションで,オプションはアルファベット順に(大文字小文字を無視
して)リストアップされています.オプションをサブセクションに分けることは
絶対ではなく,それは,1つ以上のls
の処理の局面で影響するためです.
`-g'オプションは受け入れられますが無視され,それはUnixの移植性のた
めです.section 共通のオプション,も参照してください.
これらのオプションは,ls
がリストアップするファイルの情報を決定し
ます.デフォルトで,コマンドラインのあらゆるファイルとディレクトリの内容
が表示されます.
- `-a'
-
- `--all'
-
`.'で始まるファイルを含め,ディレクトリの全てのファイルをリストアッ
プします.
- `-A'
-
- `--almost-all'
-
`.'と`..'以外の,ディレクトリの全てのファイルをリストアップし
ます.
- `-B'
-
- `--ignore-backups'
-
コマンドラインで与えられない限り,`~'で終るファイルをリストアップし
ません.
- `-d'
-
- `--directory'
-
ディレクトリの名前のみリストアップし,それはファイルの他の形式と同様で,
その内容をリストアップしません.
- `-I PATTERN'
-
- `--ignore=PATTERN'
-
それらがコマンドラインで与えられていない限り,シェルパターン(正規表現で
はありません)patternに一致する名前のファイルをリストアップしません.
シェルと同様に,ファイル名の最初の`.'は,patternの最初のワイ
ルドカードに一致しません.このオプションを複数回与えると便利なときもあり
ます.例えば,以下のようにします.
$ ls --ignore='.??*' --ignore='.[^.]' --ignore='#*'
最初のオプションは,`.'で始まる長さが3文字以上の名前を無視し,2番目
は`..'以外の`.'で始まる全ての2文字の名前を無視し,3番目は
`#'で始まる名前を無視します.
- `-L'
-
- `--dereference'
-
長いリストで,シンボリックリンク自身ではなくシンボリックリンクの参照のファ
イル情報(例えば,時間や許可)を表示します.
- `-R'
-
- `--recursive'
-
全てのディレクトリの内容を,再帰的にリストアップします.
これらのオプションは,ls
が表示する情報に影響します.デフォルトで,
ファイル名のみ表示されます.
- `-D'
-
- `--dired'
-
長いリスト(`-l')の書式を用いた場合,主な出力の後に追加して以下を出
力します.
//DIRED// beg1 end1 beg2 end2 ...
begNとendNは,出力のそれぞれのファイル名の始めと終りのバイト
位置を記録する符号無し整数です.これで,たとえスペースや改行といった通常
用いない文字を含むときも,異常な検索をすること無く,Emacsは簡単に名前を
見つけるようになります.
ディレクトリが再帰的(-R
)にリストアップされる場合,出力はそれぞれ
のサブディレクトリの後に,良く似た行を出力します.
//SUBDIRED// format beg1 end1 ...
最終的に以下の形式の行を出力します.
//DIRED-OPTIONS// --quoting-style=word
wordは引用形式です(see section ファイル名の書式化).
- `-G'
-
- `--no-group'
-
長い書式のディレクトリのリスト表示で,グループ情報の表示を禁止します.
(これはGNUではないバージョンの
ls
ではデフォルトで,我々は互換
性のためにこのオプションを提供します.)
- `-h'
-
- `--human-readable'
-
それぞれの大きさに,メガバイトに対する`M'のようなサイズ文字を追加し
ます.1000倍ではなく1024倍が使用されます.`M'は1,048,576バイトを意
味します.1000倍を望む場合,`--si'オプションを使用してください.
- `-H'
-
- `--si'
-
それぞれの大きさに,メガバイトに対する`M'のようなサイズ文字を追加し
ます.(SIは国際単位系で,それはこれらの文字を接頭辞として定義しています.
1024倍ではなく1000倍が使用されます.`M'は1,000,000バイトを意味しま
す.1024倍を望む場合,`-h'または`--human-readable'オプションを
使用してください.
警告:@option{-H}の意味は,将来POSIXに従い変更されます.古い意味に
対しては@option{--si}を使用してください.
- `-i'
-
- `--inode'
-
それぞれのファイルのinode番号(ファイルシリアル番号とインデックス番号と
も呼ばれています)を,ファイル名の左に出力します.(この番号は,特定のファ
イルシステム内の,それぞれのファイルを単一のものとして識別します.)
- `-l'
-
- `--format=long'
-
- `--format=verbose'
-
それぞれのファイル名に加えて,ファイル形式,許可,ハードリンク数,所有者
名,バイトのサイズ,そしてタイムスタンプ(デフォルトで編集した時間)を出力
します.6ヵ月以上前の時間や,未来のファイルについては,タイムスタンプは
日付の時間の代わりに年を含みます.タイムスタンプが日付ではなく,年と今日
の日付を含む場合,ファイルの時間は未来で,それはおそらく,ファイルの時間
に依存する@command{make}のようなプログラムを破壊する可能性のある,時刻の
ずれの問題があることを意味します.
リストアップされたそれぞれのディレクトリに対し,`total
blocks'という行をファイルに前置し,そこでのblocksは,そのディ
レクトリの全てのファイルが占めるディスク全体です.ブロックサイズは,現在
デフォルトで1024バイトですが,これに優先可能です(see section ブロックサイズ).
blocksは,それぞれのハードリンクを別々に数えて計算します.これはお
そらく欠陥です.
リストアップされる許可は,象徴的なモードでの指定に似ています
(see section 象徴的なモード).しかし,
ls
は,それぞれの許可の設定を複
数のビットを3番目の文字に組み合わせ,以下のようにします.
- `s'
-
setuidやsetgidビットと対応する実行可能ビットが,両方設定されている場合.
- `S'
-
setuidやsetgidビットは設定されているが,対応する実行可能ビットが設定され
ていない場合.
- `t'
-
stickyビットとotherの実行可能ビットが両方設定されている場合.
- `T'
-
stickyビットは設定されているが,otherの実行可能ビットが設定されていない
場合.
- `x'
-
実行可能ビットが設定されていて,上記は何も適応されない場合.
- `-'
-
それ以外.
許可ビットに続くものは,ファイルに適用するアクセス手法の変更を指定する単
一の文字です.文字がスペースのとき,アクセス手法の変更はありません.印刷
可能な文字(例えば`+')のとき,そのような手法があります.
- `-o'
-
長いディレクトリのリストの書式を生成しますが,グループ情報は表示しません.
それは,`--no-group'を用いた`--format=long'の使用と同じです.
このオプションは,
ls
の他のバージョンとの互換性のために供給されて
います.
- `-s'
-
- `--size'
-
ファイル名の左側に,それぞれのファイルのディスク占有量を出力します.これ
は,ファイルが使用しているディスクスペースの総量で,それは通常ファイルサ
イズよりわずかに多くなりますが,ファイルに欠陥がある場合は,より小さくな
るはずです.
通常ディスクの占有量は1024バイト単位で出力されますが,これに優先すること
は可能です(see section ブロックサイズ).
HP-UXシステムからBSDシステムに,NFSでマウントされているファイルに対し,
このオプションは,正しい値の半分のサイズを報告します.HP-UXシステムでは,
BSDシステムからNFSでマウントされているファイルに対し,正しい値の2倍のサ
イズを報告します.これは,HP-UXの欠点のためです.それはHP-UXの
ls
プログラムにも影響します.
これらのオプションは,ls
が並べ替える出力の情報の順序を変更します.
デフォルトで,並べ替えは文字コードによって行われます(例えば,ASCIIの順番
です).
- `-c'
-
- `--time=ctime'
-
- `--time=status'
-
- `--time=use'
-
長いリスト書式(例えば,`-l',`-o')が使用されている場合,編集時
間の代わりにステータス変更時間(inodeの`ctime')が出力されます.時間
(`--sort=time'または`-t')で明示的に並べ替えをしたり,長いリス
トの書式を使用しないとき,ステータスの変更時間によって並べ替えます.
- `-f'
-
主に,`-U'に似ています---並べ替えしません.ディレクトリに保存されて
いるファイルの順番に,それらをリストアップします.しかし,`-a'(すべ
てのファイルをリストアップ)も利用可能で,(前に`-f'が指定されている
場合)`-l',`--color',そして`-s'は利用不可能です.
- `-r'
-
- `--reverse'
-
並べ替えのあらゆる手法を反転します---例えば,アルファベットの逆順,新し
いものを最初,小さいものを最初,またはすべて逆順にリストアップします.
- `-S'
-
- `--sort=size'
-
ファイルサイズで,大きいものを最初にして並べ替えます.
- `-t'
-
- `--sort=time'
-
編集時間(inodeの`mtime')で,新しいものを最初にして並べ替えます.
- `-u'
-
- `--time=atime'
-
- `--time=access'
-
長いリスト書式(例えば,`--format=long')が使用されている場合,最後に
アクセスした時間(inodeの`atime')が出力されます.時間
(`--sort=time'または`-t')で明示的に並べ替えをしたり,長いリス
トの書式を使用しないとき,アクセスした時間によって並べ替えます.
- `-U'
-
- `--sort=none'
-
並べ替えしません.ディレクトリに保存されている順番にファイルをリストアッ
プします.(`-f'が行う,他と関連することは何もしません.) 並べ替えを
行わないことで,目立って速くすることが可能なので,非常に大きなディレクト
リをリストアップするとき,これは特に便利です.
- `-v'
-
- `--sort=version'
-
バージョン名と数字で,小さいものを最初にして並べ替えます.それはデフォル
トの並べ替えに似ている動作で,それぞれの10進数の並びが,索引/バージョン
番号として数値的に扱われることが期待されます.(See section バージョンの並べ替えの詳細.)
- `-X'
-
- `--sort=extension'
-
ディレクトリの内容を,ファイルの拡張子(最後の`.'の後の文字)で,アル
ファベット順に並べ替えます.ファイルの拡張子がないものが最初になります.
バージョンの並べ替えは,ファイル名が索引やバージョン番号を含むことが多い
という事実を考慮にいれています.標準的な並べ替え機能は,1文字づつを基本
に比較するため,通常,人々が期待する順序を生成しません.バージョンの並べ
替えは,この問題を提出し,その名前に索引/バージョン番号を伴うファイルを
多く含むディレクトリを眺めるとき特に役に立ちます.
> ls -1 > ls -1v
foo.zml-1.gz foo.zml-1.gz
foo.zml-100.gz foo.zml-2.gz
foo.zml-12.gz foo.zml-6.gz
foo.zml-13.gz foo.zml-12.gz
foo.zml-2.gz foo.zml-13.gz
foo.zml-25.gz foo.zml-25.gz
foo.zml-6.gz foo.zml-100.gz
数字の部分にゼロが前置されていても,分数として考慮されることに注意して下
さい.
> ls -1 > ls -1v
abc-1.007.tgz abc-1.007.tgz
abc-1.012b.tgz abc-1.01a.tgz
abc-1.01a.tgz abc-1.012b.tgz
これらのオプションは,出力の外観に影響します.
- `-1'
-
- `--format=single-column'
-
ファイルを1行毎にリストアップします.これは,標準出力が端末でないときの
デフォルトです.
- `-C'
-
- `--format=vertical'
-
列で縦方向に並べ替えされてリストアップされます.標準出力が端末の場合,こ
れはデフォルトです.
dir
とd
プログラムに対し,それは常にデフォ
ルトです.GNU ls
は,最も少ない行で可能な限り多くのファイルを
表示できるように,列の幅を変更して使用します.
- `--color [=when]'
-
ファイル形式を区別するため使用する色を指定します.whenは省略される,
または以下の一つになります.
- none
- 色を全く使用しません.これはデフォルトです.
- auto
- 標準出力が端末の場合のみ色を使用します.
- always
- 常に色を使用します.
`--color'を指定しwhenが無いことは,`--color=always'と同
じです.色付きのリストをmore
やless
の様なページャにパイプで
渡すと,通常読むことができない結果を生成します.しかし,more -f
を
使用すると動作するでしょう.
- `-F'
-
- `--classify'
-
- `--indicator-style=classify'
-
ファイル形式を示す文字を,それぞれのファイル名に追加します.また,実行可
能な標準ファイルに対し,`*'を加えます.ファイル形式表示子は,ディレ
クトリに対する`/',シンボリックリンクに対する`@',FIFOに対す
る`|',ソケットに対する`='で,標準ファイルは何もありません.
- `--full-time'
-
標準的な省略の経験則を用いるのではなく,完全な時間をリストアップします.
書式は現在,
date
に似ていますが,これは将来のリリースで変更される
予定で,それは近代的なファイルタイムスタンプが,部分的により正確なためで
す.これを変更することは不可能ですが,cut
で日付文字列を抽出して,
結果をdate -d
に渡すことができます.See section `date invocation' in Shell utilities.
これは,時間出力が秒を出力するので,最も役に立ちます.(Unix ファイルシス
テムは,最も近い秒でファイルのタイムスタンプを記録し,そのため,このオプ
ションは存在するすべての情報を表示します.)例えば,正しくファイルを再生
させていないMakefileがあるとき,これは役に立つはずです.
- `--indicator-style=word'
-
エントリー名にスタイルword文字表示子を以下のように追加します.
- `none'
-
あらゆる文字表示子を追加しません.これはデフォルトです.
- `file-type'
-
ディレクトリに対し`/',シンボリックリンクに対し`@',FIFOに対
し`|',ソケットに対し`='を追加し,標準ファイルには何も追加しま
せん.これは`-p'や`--file-type'オプションと同じです.
- `classify'
-
実行可能な標準ファイルに`*'を加え,それ以外は`file-type'として
動作します.これは,`-F'や`--classify'オプションと同じです.
- `-k'
-
- `--kilobytes'
-
ファイルの大きさを1024バイトブロックで出力し,デフォルトのブロックサイズ
(see section ブロックサイズ)に優先します.
- `-m'
-
- `--format=commas'
-
それぞれの行にできるだけ多くフィットするように,`, ' (カンマとスペー
ス)で分けて,水平方向にリストアップします.
- `-n'
-
- `--numeric-uid-gid'
-
名前の代わりに,数値のUIDとGIDをリストアップします.
- `-p'
-
- `--file-type'
-
- `--indicator-style=file-type'
-
それぞれのファイル名にファイル形式を示す文字を追加します.これは
`-F'に似ていますが,実行可能なものは印を付けません.
- `-x format'
-
- `--format=across'
-
- `--format=horizontal'
-
ファイルを列に,水平にソートしてリストアップします.
- `-T cols'
-
- `--tabsize=cols'
-
それぞれのタブストップがcols列の幅だと考えます.デフォルトは8です.
ls
は,効率のために出力可能なところではタブを使用します.
colsが0の場合はタブを全く使用しません.
- `-w'
-
- `--width=cols'
-
画面がcols列の幅だと考えます.可能な場合,デフォルトは端末の設定で
与えられます.それ以外で,環境変数@env{COLUMNS}が設定されている場合,そ
れが使用されます.それ以外の場合,デフォルトの80です.
これらのオプションは,ファイル名自身を出力する方法を変更します.
- `-b'
-
- `--escape'
-
- `--quoting-style=escape'
-
ファイル名の表示不可能な文字を,Cで使用されるような,アルファベットと8進
数のバックスラッシュシーケンスを用いて引用符で囲みます.
- `-N'
-
- `--literal'
-
ファイル名を引用符で囲みません.
- `-q'
-
- `--hide-control-chars'
-
ファイル名の表示不能な文字の代わりに疑問符を出力します.出力が端末の場合
と,プログラムが
ls
の場合,これはデフォルトです.
- `-Q'
-
- `--quote-name'
-
- `--quoting-style=c'
-
2重引用符でファイル名を囲み,表示不可能な文字をCのように引用符で囲みます.
- `--quoting-style=word'
-
出力名の引用符に形式wordを使用します.wordは以下の一つになり
ます.
- `literal'
-
現状のまま名前を出力します.
- `shell'
-
名前にシェルメタ文字を含んでいたり,不明瞭な出力を生じる場合,引用符で囲
みます.
- `shell-always'
-
シェルのため,通常は引用符が不要な場合でも名前を引用符で囲みます.
- `c'
-
C言語の文字列で名前を引用符で囲みます.これは`-Q'や
`--quote-name'オプションと同じです.
- `escape'
-
周囲の二重引用符を省略した`c'を引用符として用います.これは,
`-b'や`--escape'オプションと同じです.
- `clocale'
-
ロケールに適切な引用符を使用する以外は,`c'を用いたように引用符で囲
みます.
- `locale'
-
`clocale'に似ていますが,デフォルトのCロケール"like this"の代わ
りに,`like this'で囲みます.これは多くのディスプレイでより良く見え
ます.
`--quoting-style'オプションのデフォルト値を,環境変数
@env{QUOTING_STYLE}で指定することが可能です.環境変数が設定されていない
場合,デフォルト値は`literal'ですが,このデフォルトは,このパッケー
ジの将来のバージョンで`shell'に変更されるかもしれません.
- `--show-control-chars'
-
ファイル名の出力不可能な文字をそのまま出力します.出力が端末の場合やプロ
グラムが
ls
の場合以外では,これがデフォルトです.
dir
(とd
としてインストールされるもの)は, ls -C -b
と
同じです.すなわち,デフォルトでファイルは列にリストアップされ,縦方向に
並べ替えされ,そして特殊文字はバックスペースエスケープシーケンスで再表現
されます.
See section ls
: ディレクトリの内容をリストアップ.
vdir
は(v
としてインストールされるものも),ls -l -b
と
同じです.すなわち,デフォルトでファイルは長い書式でリストアップされ,特
殊文字はバックスペースエスケープシーケンスで再表現されます.
dircolors
は,ls
(とdir
等)から出力する色のために端末
を設定するシェルコマンドの順番を出力します.典型的な使用方法は以下の通り
です.
eval `dircolors [option]... [file]`
fileが指定された場合,dircolors
は,ファイル形式と拡張子に対
して使用する色を決定するために,それを読み込みます.それ以外の場合,前もっ
てコンパイルされたデータベースが使用されます.これらのファイルの書式の詳
細のため,`dircolors --print-database'を実行してください.
出力は,@env{LS_COLORS}環境変数を設定するためのシェルコマンドです.コマ
ンドラインで使用するシェル構文を指定することが可能で,そうでなければ
dircolors
はSHELL
環境変数の値から判別します.
プログラムは以下のオプションも受け入れます.section 共通のオプション,も参照
してください.
- `-b'
-
- `--sh'
-
- `--bourne-shell'
-
Bourneシェルコマンドを出力します.@env{SHELL}環境変数が設定されていて,
`csh'や`tcsh'で終わらない場合,これはデフォルトです.
- `-c'
-
- `--csh'
-
- `--c-shell'
-
Cシェルコマンドを出力します.@env{SHELL}が`csh'や`tcsh'で終わ
る場合,これがデフォルトです.
- `-p'
-
- `--print-database'
-
組み込みデフォルトカラー設定データベースを出力します.この出力は,それ自
身有効な設定ファイルで,可能性をかなり記述しています.
Go to the first, previous, next, last section, table of contents.