ls コマンドを作ってみる
目標は 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 列にする。
- ディレクトリ・ファイル一覧表示
- -a オプション
- -l オプション(Permission/link count/owner/group name/byte size/timestamp/name)