[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

10. ディレクトリのリストアップ

この章では,lsコマンドとその変形のdirvdirを記述し,それはファイルに関する情報をリストアップします.


10.1 ls: ディレクトリの内容をリストアップ

lsプログラムは,ファイル(のすべての形式で,ディレクトリを含 む)に関する情報をリストアップします.オプションとファイル引数は,通常 のものと同様,任意に混ぜることが可能です.

オプションの無いコマンドラインのディレクトリ引数に対し,lsは デフォルトで,ディレクトリの内容をリストアップし,それは再帰的ではなく, `.'で始まる名前を持つファイルは除外しています.他のオプションの無 い引数に対し,lsはデフォルトで,そのファイル名のみをリストアッ プします.オプションではない引数が指定されない場合,lsは現在 のディレクトリの内容をリストアップします.

デフォルトで,出力はアルファベット順に出力され,それはロカールの設定に 影響されます.(3) 標準出力が端末の場合,出力は(垂直方向にソートされた)列になり,制御文字 は疑問符として出力されます.それ以外の場合,出力は一行ごとにリストアッ プされ,制御文字はそのままになります.

lsはあまりに基本的なプログラムなので,数年かけて多くのオプショ ンを蓄積してきました.それらは以下のサブセクションで記述します.それぞ れのセクションで,オプションはアルファベット順に(大文字小文字を無視し て)リストアップされています.オプションをサブセクションに分けることは 絶対ではなく,それは,一つ以上のlsの処理の局面に影響するため です.

終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.

共通のオプションも参照してください.


10.1.1 リストアップされるファイル

これらのオプションは,lsがリストアップするファイルの情報を決 定します.デフォルトで,コマンドラインのあらゆるファイルとディレクトリ の内容が表示されます.

` -a'
` --all'

`.'で始まるファイルを含め,ディレクトリの全てのファイルをリストアッ プします.

` -A'
` --almost-all'

`.'と`..'以外の,ディレクトリの全てのファイルをリストアップ します.

` -B'
` --ignore-backups'

コマンドラインで与えられない限り,`~'で終るファイルをリストアップ しません.

` -d'
` --directory'

ディレクトリの名前のみリストアップし,それはファイルの他の形式と同様で, その内容をリストアップしません. `--dereference-command-line' (`-H'), `--dereference' (`-L'),または `--dereference-command-line-symlink-to-dir'オプションが指定され ていない限り,コマンドラインでリストアップされているシンボリックリンク をたどりません.

` -H'
` --dereference-command-line'

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

` --dereference-command-line-symlink-to-dir'

一つの例外がありますが,シンボリックリンクを間接参照しません.コマンド ライン引数で,ディレクトリを参照するシンボリックリンクが指定されている 場合,リンク自身ではなくディレクトリの情報を表示します.他に参照に関連 するオプション(`--classify' (`-F'),`--directory' (`-d'),(`-l'),`--dereference' (`-L'),ま たは`--dereference-command-line' (`-H'))が指定されていな いとき,これはデフォルトの動作です.

` -I PATTERN'
` --ignore=PATTERN'

コマンドラインで与えられていない限り,シェルパターン(正規表現ではあり ません)patternにマッチする名前のファイルをリストアップしません. シェルと同様に,ファイル名の最初の`.'は,patternの最初のワ イルドカードにマッチしません.このオプションを複数回与えると便利なとき もあります.例えば,以下のようにします.

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

最初のオプションは,`.'で始まる長さが3文字以上の名前を無視し,二 番目は`..'以外の`.'で始まる全ての2文字の名前を無視し,三番目 は`#'で始まる名前を無視します.

` -L'
` --dereference'

長いリストで,シンボリックリンク自身ではなくシンボリックリンクが参照す るファイルの情報(例えば,時間や許可)を表示します.しかし,このオプショ ンを使用していても,lsはリンク先のファイル名ではなく,リンク 自身の名前を出力します.

` -R'
` --recursive'

全てのディレクトリの内容を,再帰的にリストアップします.


10.1.2 リストアップされる情報

これらのオプションは,lsが表示する情報に影響します.デフォル トで,ファイル名のみ表示されます.

` --author'

長い書式のディレクトリのリストを生成するとき,それぞれのファイルの著者 をリストアップします.GNU/Hurdでは,ファイルの著者はその所有者とは異な りますが,他のオペレーティングシステムではその二つは同じです.

` -D'
` --dired'

長いリスト(`-l')の書式を用いた場合,主な出力の後に追加して以下 を出力します.

 
//DIRED// beg1 end1 beg2 end2

begNendNは,出力のそれぞれのファイル名の始めと終りのバイ ト位置を記録する符号無し整数です.これで,たとえスペースや改行といった 通常用いない文字を含むときも,異常な検索をすることなく,Emacsで簡単に 名前を見つかるようになります.

ディレクトリが再帰的(`-R')にリストアップされる場合,出力はそれ ぞれのサブディレクトリの後に,良く似た行を出力します.

 
//SUBDIRED// beg1 end1

最終的に以下の形式の行を出力します.

 
//DIRED-OPTIONS// --quoting-style=word

wordは引用形式です(see section ファイル名の書式化).

以下は実際の例です.

 
$ mkdir -p a/sub/deeper a/sub2
$ touch a/f1 a/f2
$ touch a/sub/deeper/file
$ ls -gloRF --dired a
  a:
  total 8
  -rw-r--r--  1    0 Dec  3 00:50 f1
  -rw-r--r--  1    0 Dec  3 00:50 f2
  drwxr-xr-x  3 4096 Dec  3 00:50 sub/
  drwxr-xr-x  2 4096 Dec  3 00:50 sub2/

  a/sub:
  total 4
  drwxr-xr-x  2 4096 Dec  3 00:50 deeper/

  a/sub/deeper:
  total 0
  -rw-r--r--  1 0 Dec  3 00:50 file

  a/sub2:
  total 0
//DIRED// 49 51 86 88 123 126 162 166 222 228 288 292
//SUBDIRED// 2 3 171 176 233 245 296 302
//DIRED-OPTIONS// --quoting-style=literal

上記の`//DIRED//'行のオフセットの組が,以下の名前`f1', `f2',`sub',`sub2',`deeper',`file'を分離し ていることに注意して下さい.`//SUBDIRED//'行のオフセットは,以下 のディレクトリ名`a',`a/sub',`a/sub/deeper', `a/sub2'を分離しています.

以下は,五番目の項目名を抽出する方法,`deeper'の例で,対応するオ フセットの組は,222と228です.

 
$ ls -gloRF --dired a > out
$ dd bs=1 skip=222 count=6 < out 2>/dev/null; echo
deeper

上記のリストには,`deeper'の項目に対してスラッシュが後置されてい ますが,オフセットは,最後のスラッシュを用いていない名前を選択している ことに注意して下さい.しかし,lsを `--escape'(`-b') のようなオプションとともに `--dired'を用いて呼び出し,特殊文字を含むファイル名を処理する場 合,バックスラッシュが含まれることに注意して下さい.

 
$ touch 'a b'
$ ls -blog --dired 'a b'
  -rw-r--r--  1 0 Dec  3 00:52 a\ b
//DIRED// 31 35
//DIRED-OPTIONS// --quoting-style=escape

引用の印(例えば`--quoting-style=c')を追加して,引用形式を使用し ている場合,オフセットには引用の印が含まれます.そのため,ユーザが環境 変数QUOTING_STYLEで,引用形式を選択している可能性があることに注 意して下さい.このため,`--dired'を使用しているアプリケーション では,明示的にコマンドラインで`--quoting-style=literal'オプショ ン(`-N'または`--literal')を指定する,またはエスケープさ れた名前のパーサを用意しておいて下さい.

` --full-time'

長い形式のディレクトリリストの書式と,完全な時間のリストを生成します. `--time-style=full-iso'とともに`--format=long'を使用する ことと等価です(see section ファイルのタイムスタンプの書式化).

` -g'

長い書式のディレクトリのリスト表示ですが,所有者の情報は表示しません.

` -G'
` --no-group'

長い書式のディレクトリのリスト表示で,グループ情報の表示を禁止します. (これはGNUではないバージョンのlsではデフォルトで,我々 は互換性のためにこのオプションを提供します.)

` -h'
` --human-readable'

メビバイトに対する`M'のような,サイズ文字を追加します.1000倍では なく1024倍が使用されます.`M'は1,048,576バイトを意味します.1000 倍を望む場合,`--si'オプションを使用してください.

` -i'
` --inode'

それぞれのファイルのinode番号(ファイルシリアル番号とインデックス番号と も呼ばれています)を,ファイル名の左に出力します.(この番号は,特定のファ イルシステム内の,それぞれのファイルを単一のものとして識別します.)

` -l'
` --format=long'
` --format=verbose'

それぞれのファイル名に加えて,ファイル形式,許可,ハードリンク数,所有 者名,バイトのサイズ,そして通常は編集した時間となっているタイムスタン プ(see section ファイルのタイムスタンプの書式化)を出力します.

通常,サイズは句読点を用いずバイト数を出力しますが,これは優先可能です (see section ブロックサイズ).例えば,`-h'では,人間が読み易い省略した ものを出力し,`--block-size="'1"'は,現在のロカールで千単位で分離 してバイト数を出力します.

リストアップされているそれぞれのディレクトリに対し,`total blocks'という行をファイルに前置し,そこでのblocksは,その ディレクトリの全てのファイルに対する全体的なディスク占有量です.ブロッ クサイズは,現在デフォルトで1024バイトですが,これに優先させることが可 能です(see section ブロックサイズ).blocksは,それぞれのハードリンクを別々 に数えて計算します.これはおそらく欠陥です.

リストアップされる許可は,象徴的なモードでの指定に似ています (see section 象徴的なモード).しかし,lsは,それぞれの許可の設定 を複数のビットを三番目の文字に組み合わせ,以下のようにします.

` s'

setuidやsetgidビットと対応する実行可能ビットが,両方設定されている場合.

` S'

setuidやsetgidビットは設定されているが,対応する実行可能ビットが設定さ れていない場合.

` t'

stickyビットとotherの実行可能ビットが両方設定されている場合.

` T'

stickyビットは設定されているが,otherの実行可能ビットが設定されていな い場合.

` x'

実行可能ビットが設定されていて,上記は何も適応されない場合.

` -'

それ以外.

許可ビットに続くものは,ファイルに適用するアクセス手法の変更を指定する 単一の文字です.文字がスペースのとき,アクセス手法の変更はありません. 印刷可能な文字(例えば`+')のとき,そのような手法があります.

` -n'
` --numeric-uid-gid'

長い書式でディレクトリのリストを生成しますが,所有者とグループの名前の 代わりに数値のUIDとGIDをリストアップします.

` -o'

長いディレクトリのリストの書式を生成しますが,グループ情報は表示しませ ん.それは,`--no-group'を用いた`--format=long'の使用と 同じです.

` -s'
` --size'

ファイル名の左側に,それぞれのファイルのディスク占有量を出力します.こ れは,ファイルが使用しているディスクスペースの総量で,それは通常ファイ ルサイズよりわずかに多くなりますが,ファイルに欠陥がある場合は,より小 さくなるはずです.

通常ディスクの占有量は1024バイト単位で出力されますが,これに優先させる ことが可能です(see section ブロックサイズ).

HP-UXシステムからBSDシステムに,NFSでマウントされているファイルに対し, このオプションは,正しい値の半分のサイズを報告します.HP-UXシステムで は,BSDシステムからNFSでマウントされているファイルに対し,正しい値の2 倍のサイズを報告します.これは,HP-UXの欠点のためです.それはHP-UXの lsプログラムにも影響します.

` --si'

メガバイトに対する`MB'のような,SI形式のサイズの略語を追加します. 1024倍ではなく1000倍が使用されます.`MB'は1,000,000バイトを意味し ます.このオプションは,`--block-size=si'と等価です.1024倍を望 む場合,`-h'または`--human-readable'オプションを使用して ください.


10.1.3 出力の並べ替え

これらのオプションは,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'

ディレクトリの内容を,ファイルの拡張子(最後の`.'の後の文字)で,ア ルファベット順に並べ替えます.ファイルの拡張子がないものが最初になりま す.


10.1.4 バージョンの並べ替えの詳細

バージョンの並べ替えは,ファイル名が索引やバージョン番号を含むことが多 いという事実を考慮にいれています.標準的な並べ替え機能は,一文字づつを 基本に比較するため,通常,人々が期待する順序を生成しません.バージョン の並べ替えは,この問題を提出し,その名前に索引/バージョン番号を伴うファ イルを多く含むディレクトリを眺めるとき特に役に立ちます.

 
      > 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

この機能は,strverscmp関数を使用して実装しています. See (libc)String/Array Comparison section `String/Array Comparison' in The GNU C Library Reference Manual.実装を決定した結果,ls -vはロカールカテゴリの LC_COLLATEを使用しなくなりました.結果として,数字以外の接頭辞は, LC_COLLATECに設定されているかのように並べ替えられます.


10.1.5 一般的な出力書式

これらのオプションは,出力の外観に影響します.

` -1'
` --format=single-column'

ファイルを一行ごとにリストアップします.これは,標準出力が端末でないと きのデフォルトです.

` -C'
` --format=vertical'

列で縦方向に並べ替えされてリストアップされます.標準出力が端末の場合, これはデフォルトです.dirdプログラムに対し,それは 常にデフォルトです.GNU lsは,最も少ない行で可能な限り 多くのファイルを表示できるように,列の幅を変更して使用します.

` --color [=when]'

ファイル形式を区別するため使用する色を指定します.whenは省略され る,または以下の一つになります.

`--color'を指定しwhenが無いのは,`--color=always' と同じです.色付きのリストをmorelessの様なページャ にパイプで渡すと,通常読むことができない結果を生成します.しかし, more -fを使用すると動作するでしょう.

` -F'
` --classify'
` --indicator-style=classify'

ファイル形式を示す文字を,それぞれのファイル名に追加します.また,実行 可能な標準ファイルに対し,`*'を加えます.ファイル形式表示子は,ディ レクトリに対する`/',シンボリックリンクに対する`@',FIFOに 対する`|',ソケットに対する`='で,標準ファイルは何もありませ ん. `--dereference-command-line' (`-H'), `--dereference' (`-L'),または `--dereference-command-line-symlink-to-dir'オプションが指定され ていない限り,コマンドラインでリストアップされているシンボリックリンク をたどりません.

` --indicator-style=word'

エントリー名にスタイルword文字表示子を以下のように追加します.

` none'

あらゆる文字表示子を追加しません.これはデフォルトです.

` file-type'

ディレクトリに対し`/',シンボリックリンクに対し`@',FIFOに 対し`|',ソケットに対し`='を追加し,標準ファイルには何も追加 しません.これは`-p'や`--file-type'オプションと同じです.

` classify'

実行可能な標準ファイルに`*'を加え,それ以外は`file-type'とし て動作します.これは,`-F'や`--classify'オプションと同じ です.

` -k'

ファイルの大きさを1024バイトブロックで出力し,デフォルトのブロックサイ ズ(see section ブロックサイズ)に優先します.

` -m'
` --format=commas'

それぞれの行にできるだけ多くフィットするように,`, ' (カンマとス ペース)で分けて,水平方向にリストアップします.

` -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列の幅だと考えます.可能な場合,デフォルトは端末の設定 で与えられます.それ以外で,環境変数COLUMNSが設定されている場合, それが使用されます.それ以外の場合,デフォルトの80です.


10.1.6 ファイルのタイムスタンプの書式化

デフォルトで,ファイルのタイムスタンプは短縮した様式でリストアップされ ます.ほとんどのロカールで`2002-03-30 23:45'のようなタイムスタン プが使用されます.しかし,デフォルトのPOSIXロカールでは,昔 のタイムスタンプに対し`Mar 30  2002'のような日付を使用し,最近 のタイムスタンプに対し,`Mar 30 23:45'のように年が無い日付と時間 を使用します.

タイムスタンプは,六カ月未満のものを最近のもの(recent)と考え,未 来のものは日付がつきません.タイムスタンプが今日の場合は,最近のものの 形式でリストアップされず,タイムスタンプが未来のものは,おそらく時間の 歪みの問題があることを意味し,makeのようにファイルのタイムス タンプに依存しているプログラムでは問題になる可能性があります.

以下のオプションで,ファイルのタイムスタンプを出力する方法を変更します.

` --time-style=style'

タイムスタンプをstyleの形式でリストアップします.styleは以 下の一つにします.

` +format'

formatを使用してタイムスタンプをリストアップし,formatdateの書式化引数のように解釈されます(see section date: システムの日付と時間を出力または設定).例えば,`--time-style="+%Y-%m-%d %H:%M:%S"'で lsは`2002-03-30 23:45:56'のようにタイムスタンプをリスト アップします.date同様,formatの解釈ではLC_TIME ロカールカテゴリの影響を受けます.

formatに二つの書式化文字列が,改行で分けられて存在する場合,前者 は最近のものではないファイルに使用され,後者は最近のファイルに使用され ます.出力列を並べたい場合,二つの書式の一つにスペースを挿入する必要が あるかもしれません.

` full-iso'

完全なISO 8601の日付,時間,タイムゾーンを,ナノ秒の精度を使 用してタイムスタンプをリストアップし,例えば,`2002-03-30 23:45:56.477817180 -0700'のようにします.この形式は`+%Y-%m-%d %H:%M:%S.%N %z'と等価です.

オペレーティングシステムで利用可能なすべての情報を含んでいる時間の出力 になるので,これは役に立ちます.例えば,ファイルが最新かどうかを決定す るため,GNU makeは完全なタイムスタンプを使用するの で,makeの動作を解釈する助けとなります.

` long-iso'

ISO 8601の日付,分単位の時間でリストアップし,例えば, `2002-03-30 23:45'のようにします.これらのタイムスタンプは, `full-iso'のタイムスタンプより短く,毎日の作業では通常十分に利用 できるものです.この形式は`%Y-%m-%d %H:%M'と等価です.

` iso'

最近のものではないタイムスタンプはISO 8601(例えば, `2002-03-30 ')で,最近のものは,月,日,時間,そして分でリストアッ プします(例えば,`03-30 23:45').これらのタイムスタンプは, `long-iso'のタイムスタンプより悪くなりますが,より小さなスペース で同じ情報を提供し,また簡潔なのでlsの出力は伝統的な80列の出 力行に適しています.以下の二つのlsの呼び出しは等価です.

 
newline='
'
ls -l --time-style="+%Y-%m-%d $newline%m-%d %H:%M"
ls -l --time-style="iso"
` locale'

タイムスタンプをロカール依存の様式でリストアップします.例えば,フィン ランドのロカールでは,最近のものではないタイムスタンプを`maalis 30  2002'のように,そして最近のもののタイムスタンプを`maalis 30 23:45'のようにリストアップするでしょう.ロカール依存のタイムスタンプは, 通常,`iso'のタイムスタンプよりスペースを使用し,また,ロカールの 慣習は幅広く,プログラムでパースするのはより難しくなりますが,多くの人々 はそれで読み易くなります.

LC_TIMEロカールカテゴリはタイムスタンプの書式を指定します.デフォ ルトのPOSIXロカールは,`Mar 30 2002'と`Mar 30 23:45'のようなタイムスタンプを使用します.このロカールでは,以下の二つ のlsの呼び出しは等価です.

 
newline='
'
ls -l --time-style="+%b %e  %Y$newline%b %e %H:%M"
ls -l --time-style="locale"

それ以外のロカールでは動作は異なります.例えばドイツのロカールでは, `--time-style="locale"'は`--time-style="+%e. %b %Y $newline%e. %b %H:%M"'と等価で,`30. Mär 2002 'と `30. Mär 23:45'のようなタイムスタンプを生成するでしょう.

` posix-style'

LC_TIMEロカールがPOSIXの場合,タイムスタンプを POSIXロカールで,それ以外ではstyleのタイムスタンプでリ ストアップします.例えば,デフォルトのスタイル`posix-long-iso'で は,POSIXロカールのときは,`Mar 30  2002'と`Mar 30 23:45'のようなタイムスタンプで,それ以外では`2002-03-30 23:45' のようなタイムスタンプでリストアップします.

`--time-style'オプションのデフォルト値を,環境変数 TIME_STYLEを用いて指定することが可能です.TIME_STYLEが設定 されていない場合,デフォルトのスタイルは`posix-long-iso'です. GNU Emacs 21とそれ以降では,ISOの日付をパースする ことは可能ですが,それより古いEmacsのバージョンではそうではないので, 古いバージョンのEmacsを使用していて,POSIX以外のロカールを指 定している場合,`TIME_STYLE="locale"'を設定する必要があるかもしれ ません.


10.1.7 ファイル名の書式化

これらのオプションは,ファイル名自身を出力する方法を変更します.

` -b'
` --escape'
` --quoting-style=escape'

ファイル名の表示不可能な文字を,Cで使用されるような,アルファベットと 八進数のバックスラッシュシーケンスを用いて引用符で囲みます.

` -N'
` --literal'
` --quoting-style=literal'

ファイル名を引用符で囲みません.

` -q'
` --hide-control-chars'

ファイル名の表示不能な文字の代わりに疑問符を出力します.出力が端末の場 合と,プログラムがlsの場合,これはデフォルトです.

` -Q'
` --quote-name'
` --quoting-style=c'

二重引用符でファイル名を囲み,表示不可能な文字をCのように引用符で囲み ます.

` --quoting-style=word'

ファイル名とその他の任意の文字を含む文字列の引用符に形式wordを使 用します.wordは以下の一つになります.

` literal'

そのまま文字列を出力します.これは,`-N'や`--literal'オ プションと同じです.

` shell'

文字列にシェルのメタ文字を含んでいたり,不明瞭な出力を生じる場合,引用 符で囲みます.引用符で囲むことは,bashのような POSIX互換のシェルに対しては適切ですが,cshのように 互換性の無いシェルで常に動作するわけではありません.

` shell-always'

シェルに対して,通常は引用符が不要な場合でも文字列を引用符で囲みます.

` c'

Cの文字列リテラルのように文字列を引用符で囲み,それには周りの二重引用 符が含まれ.これは`-Q'や`--quote-name'オプションと同じで す.

` escape'

Cの文字列リテラルのように文字列を引用符で囲みますが,周りの二重引用符 は省略したものになります.これは,`-b'や`--escape'オプショ ンと同じです.

` clocale'

Cの文字列リテラルのように文字列を引用符で囲みますが,周りの引用符はロ カールに適したものになります.

` locale'

Cの文字列リテラルのように文字列を引用符で囲みますが,周りの引用符はロ カールに適したものになり,デフォルトのCロカールでは"like this"の代 わりに`like this'のように引用符で囲みます.これは多くのディスプレ イでより良く見えます.

`--quoting-style'オプションのデフォルト値を,環境変数 QUOTING_STYLEで指定することが可能です.環境変数が設定されていな い場合,デフォルト値は`literal'ですが,このデフォルトは,このパッ ケージの将来のバージョンで`shell'に変更されるかもしれません.

` --show-control-chars'

ファイル名の出力不可能な文字をそのまま出力します.出力が端末の場合やプ ログラムがlsの場合以外では,これがデフォルトです.


10.2 dir: ディレクトリの内容の短いリスト

dir(とdとしてインストールされるもの)は,ls -C -bと同じです.すなわち,デフォルトでファイルは列にリストアップされ, 縦方向に並べ替えされ,そして特殊文字はバックスペースエスケープシーケン スで再表現されます.

See section ls.


10.3 vdir: ディレクトリの内容の冗長なリスト

vdirは(vとしてインストールされるものも),ls -l -bと同じです.すなわち,デフォルトでファイルは長い書式でリストアップ され,特殊文字はバックスペースエスケープシーケンスで再表現されます.


10.4 dircolors: lsの色をセットアップ

dircolorsは,ls (とdir等)から出力する色 のために端末を設定する連続したシェルコマンドを出力します.一般的な使用 方法は以下の通りです.

 
eval `dircolors [option]… [file]`

fileが指定されている場合,dircolorsは,ファイル形式と 拡張子に対して使用する色を決定するために,それを読み込みます.それ以外 の場合,前もってコンパイルされたデータベースが使用されます.これらのファ イルの書式の詳細のため,`dircolors --print-database'を実行してく ださい.

出力は,LS_COLORS環境変数を設定するためのシェルコマンドです.コ マンドラインで使用するシェル構文を指定することが可能で,そうでなければ dircolorsSHELL環境変数の値から判別します.

プログラムは以下のオプションも受け入れます.共通のオプションも参照 してください.

` -b'
` --sh'
` --bourne-shell'

Bourneシェルコマンドを出力します.SHELL環境変数が設定されていて, `csh'や`tcsh'で終わらない場合,これはデフォルトです.

` -c'
` --csh'
` --c-shell'

Cシェルコマンドを出力します.SHELLが`csh'や`tcsh'で終 わる場合,これがデフォルトです.

` -p'
` --print-database'

(組み込みの)デフォルトカラーの設定データベースを出力します.この出力は, それ自身有効な設定ファイルで,可能性をすべて記述しています.

終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Akihiro Sagawa on June, 8 2005 using texi2html 1.70.