これらのオプションは,lsが表示する情報に影響します.デフォル トで,ファイル名のみ表示されます.
//DIRED// beg1 end1 beg2 end2 ...
begNとendNは,出力のそれぞれのファイル名の始めと終りのバイ ト位置を記録する符号無し整数です.これで,たとえスペースや改行といった 通常用いない文字を含むときも,異常な検索をすることなく,Emacsで簡単に 名前を見つかるようになります.
ディレクトリが再帰的(-R)にリストアップされる場合,出力はそれ ぞれのサブディレクトリの後に,良く似た行を出力します.
//SUBDIRED// beg1 end1 ...
最終的に以下の形式の行を出力します.
//DIRED-OPTIONS// --quoting-style=word
wordは引用形式です(see Formatting the file names).
以下は実際の例です.
$ 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)を指定する,またはエスケープさ
れた名前のパーサを用意しておいて下さい.
通常,サイズは句読点を用いずバイト数を出力しますが,これは優先可能です (see Block size).例えば,-hでは,人間が読み易い省略した ものを出力し,‘--block-size="'1"’は,現在のロカールで千単位で分離 してバイト数を出力します.
リストアップされているそれぞれのディレクトリに対し,‘total blocks’という行をファイルに前置し,そこでのblocksは,その ディレクトリの全てのファイルに対する全体的なディスク占有量です.ブロッ クサイズは,現在デフォルトで1024バイトですが,これに優先させることが可 能です(see Block size).blocksは,それぞれのハードリンクを別々 に数えて計算します.これはおそらく欠陥です.
リストアップされる許可は,象徴的なモードでの指定に似ています (see Symbolic Modes).しかし,lsは,それぞれの許可の設定 を複数のビットを三番目の文字に組み合わせ,以下のようにします.
許可ビットに続くものは,ファイルに適用するアクセス手法の変更を指定する
単一の文字です.文字がスペースのとき,アクセス手法の変更はありません.
印刷可能な文字(例えば‘+’)のとき,そのような手法があります.
通常ディスクの占有量は1024バイト単位で出力されますが,これに優先させる ことが可能です(see Block size).
HP-UXシステムからBSDシステムに,NFSでマウントされているファイルに対し, このオプションは,正しい値の半分のサイズを報告します.HP-UXシステムで は,BSDシステムからNFSでマウントされているファイルに対し,正しい値の2 倍のサイズを報告します.これは,HP-UXの欠点のためです.それはHP-UXの lsプログラムにも影響します.