fd

Autres langues

Langue: ja

Version: July 27, 2008 (debian - 07/07/09)

Autres sections - même nom

Section: 1 (Commandes utilisateur)

名称

fd - ファイル・ディレクトリ管理ツール

形式

fd [ -abCefhiklmNnPrSsTtuvx ] [ -NAME=value ] [ directory [ directory2 ... ]]
fdsh [ -abCcefhiklmNnPrSsTtuvx ] [ args ]

解説

fd は、 UNIX 汎用のテキスト端末用に考えられた、 ファイルやディレクトリの管理ツールです。 PC/AT 互換機と PC-98x1 専用に作られている同名ユーティリティのクローンを目指しています。 実際、機能的には上位互換となっています。

fd を起動すると、ファイル一覧のブラウザ画面になりますので、 各コマンドを割当ててある各種キーの入力により、 様々な機能を実行することができます。

(以下の記述で (UNIX) とある機能については、UNIX 版のみの実装で、 MS-DOS 版では機能しません。 同様に (DOS) とある機能については MS-DOS 版のみの実装です。)

オプション

コマンドラインオプションは、 内蔵シェル用の機能設定と、 後述の内部変数の設定に使用します。 内部変数には任意の変数名が使用できますが、 fd が解釈するものは後述の 環境変数 の項目で挙げられているものに限ります。 directory を指定すると、 起動直後にカレントディレクトリをそのディレクトリに移動します。 directory2 ... を指定すると、 ウィンドウ分割モードで起動し、 追加ウィンドウ側のカレントディレクトリをそれぞれのディレクトリに移動します。

内蔵シェル用に使えるオプションには下記のものがあります。

-c string
string で示されるコマンドを実行し、 終了します。 fdsh として起動された時のみ有効です。
-i
-i を指定するか、 もしくは標準入出力が端末である場合には、 シェルが対話型シェルになります。
-s
-s を指定するか、 もしくは args を指定しない場合は、 シェルのコマンド入力を標準入力から読込みます。 以降の引数は位置パラメータとなります。
-r
シェルの機能が一部制限されます。 具体的には以下の動作が禁止されます。

カレントディレクトリの移動
$PATH, $SHELL 及び $ENV の設定変更
/ を含むコマンドの実行
出力のリダイレクト (> 及び >>)
 IN_DIR         OUT_DIR        LOG_TOP
 LOG_DIR        ATTR_FILE      COPY_FILE
 MOVE_FILE      DELETE_FILE    DELETE_DIR
 RENAME_FILE    MAKE_DIR       WRITE_DIR
 TREE_DIR       BACKUP_TAPE    EDIT_FILE
 UNPACK_FILE    PACK_FILE      LOG_TREE
 COPY_TREE      MOVE_TREE      UNPACK_TREE
 FIND_DIR       ATTR_DIR
 
rfd または rfdsh として起動された場合には、 自動的にこの一部制限シェルになります。
-l
ログインシェルとして起動します。
-N
起動時に初期設定ファイルの読込みを省略します。

この他、 後述の組込みコマンド set で述べられているオプションが有効です。

画面レイアウト

fd の画面モードは、 大きく 3 つのモードに分けられます。 ブラウザ画面では、ファイルの一覧リストの中をブラウジングして、 各コマンドを実行していきます。 アーカイブブラウザ画面では、 アーカイブファイル内のファイルを、ディレクトリ階層別に一覧表示し、 ブラウザ画面と同様にブラウジングします。 ツリー表示画面では、ディレクトリの階層構造がツリー表示された中を、 移動してディレクトリパスを選択します。

どの画面モードでも、画面全体の上下各 3 行ずつは、 fd の様々な情報を表示するために用いられます。 画面上端情報については、 4 行の場合もあります。 その画面レイアウトは、おおよそ次のようになっています。

行数
意味
1
タイトル行。 右端の時計は 10 秒毎に更新されます。
2
インフォメーション行。 表示ページ (及び全ページ数)、マーク数 (及び全ファイル数)、 ソート形式、ファイル検索文字列の順で情報が書かれます。
3
パス行。 カレントディレクトリのフルパスが表示されます。 また、アーカイブブラウザ画面では、 アーカイブファイルのフルパスと、アーカイブ内パスが表示されます。
2 (随意)
ファイルサイズ情報行。 ディレクトリ内のマークファイルの トータルサイズ (及び全ファイルのトータルサイズ)、 カレントディレクトリのあるファイルシステムの総容量、 及び空き容量が表示されます。 後述の内部変数 SIZEINFO の設定を事前に行なっておくことによりこの行が表示されます。 この行が表示されている場合、 インフォメーション行とパス行は それぞれ 1 行ずつ繰り下げて表示されます。
最下 - 2
スタック行。 ファイルの並び替えを行なう際、 一時的にスタックに積んだファイルがここに表示されます。
最下 - 1
ファンクション行。 ファンクションキーの機能が表示されます。
最下
ステイタス行。 カーソル位置のファイルに関するステイタスが表示されます。 また、コマンド実行の上で何らかの支障が生じた場合の ウォーニングメッセージもここに表示されます。

内部コマンド

fd では以下の各内部コマンドが使用できます。 これらの内部コマンドのキー割当てはユーザにより変更可能ですが、 ここではデフォルトのキー割当てを添えます。 識別子は、 EXECUTE_SH コマンド内でコマンドラインから実行する場合や、 キー割当てをユーザ定義する場合に用います。


 識別子           意味                        キー
 
 CUR_UP              カーソルを上に移動   
 CUR_DOWN            カーソルを下に移動   
 CUR_RIGHT           カーソルを右に移動   
 CUR_LEFT            カーソルを左に移動   
 ROLL_UP             次の表示ページに切替えPageDown
 ROLL_DOWN           前の表示ページに切替えPageUp
 CUR_TOP             カーソルを先頭に移動Beg(<)
 CUR_BOTTOM          カーソルを最後尾に移動Eol(>)
 FNAME_RIGHT         ファイル名表示範囲を右シフト(
 FNAME_LEFT          ファイル名表示範囲を左シフト)
 ONE_COLUMN          画面表示を 1 列にする1
 TWO_COLUMNS         画面表示を 2 列にする2
 THREE_COLUMNS       画面表示を 3 列にする3
 FIVE_COLUMNS        画面表示を 5 列にする5
 MARK_FILE           ファイルのマーク      Tab
 MARK_FILE2          ファイルのマークと下移動Space
 MARK_FILE3          ファイルのマークと画面内移動^Space(^@)
 MARK_ALL            全ファイルにマーク   Home(+)
 MARK_REVERSE        全ファイルをマーク反転End(-)
 MARK_FIND           検索したファイルにマーク*
 IN_DIR              サブディレクトリに移動Return
 OUT_DIR             親ディレクトリに移動Bs
 LOG_TOP             ルートディレクトリに移動\
 REREAD_DIR          表示画面の再描画      ^L
 PUSH_FILE           ファイルをスタックに積むDel(])
 POP_FILE            ファイルをスタックから取出すIns([)
 LOG_DIR             ディレクトリの絶対移動F1(l)
 EXECUTE_FILE        ファイルの実行         F2(x)
 COPY_FILE           ファイルのコピー      F3(c)
 DELETE_FILE         ファイルの削除         F4(d)
 RENAME_FILE         ファイル名の変更      F5(r)
 SORT_DIR            ファイルのソート      F6(s)
 FIND_FILE           ファイルの検索         F7(f)
 TREE_DIR            ディレクトリのツリー表示F8(t)
 EDIT_FILE           ファイルの編集         F9(e)
 UNPACK_FILE         アーカイブファイルの伸長F10(u)
 ATTR_FILE           ファイル属性の変更   F11(a)
 INFO_FILESYS        ファイルシステムの情報表示F12(i)
 MOVE_FILE           ファイルの移動         F13(m)
 DELETE_DIR          ディレクトリの削除   F14(D)
 MAKE_DIR            ディレクトリの作成   F15(k)
 EXECUTE_SH          子プロセスの実行      F16(h)
 WRITE_DIR           表示ディレクトリの書込みF17(w)
 BACKUP_TAPE         テープへのバックアップF18(b)
 VIEW_FILE           ファイルの閲覧         F19(v)
 PACK_FILE           ファイルの圧縮         F20(p)
 LOG_TREE            ツリー選択でディレクトリ移動L
 COPY_TREE           ツリー選択でファイルコピーC
 MOVE_TREE           ツリー選択でファイル移動M
 UNPACK_TREE         ツリー選択でファイル伸長U
 FIND_DIR            ディレクトリの検索移動F
 ATTR_DIR            再帰的なファイル属性変更A
 SYMLINK_MODE        symbolic リンク表示形式の切替S
 FILETYPE_MODE       ファイルタイプシンボルの切替T
 DOTFILE_MODE        ドットファイル非表示の切替H
 FILEFLG_MODE        ファイルフラグ表示の切替O
 LAUNCH_FILE         ランチャの起動         Return
 SEARCH_FORW         ファイル名の前方検索^S
 SEARCH_BACK         ファイル名の後方検索^R
 SPLIT_WINDOW        ウィンドウの分割      /
 NEXT_WINDOW         ウィンドウ間の移動   ^
 WIDEN_WINDOW        ウィンドウの拡張      W
 NARROW_WINDOW       ウィンドウの縮小      N
 KILL_WINDOW         ウィンドウの破棄      K
 EDIT_CONFIG         カスタマイザの起動   E
 HELP_MESSAGE        ヘルプ画面の表示      ?
 QUIT_SYSTEM         fd の終了                  Esc(q)
 
 WARNING_BELL        ベルを鳴らします
 NO_OPERATION        何もしません
 

最後の 2 つの内部コマンドは、 キー割当てを変更してデフォルトで割当てられた機能を殺したい時に使います。

内部コマンド解説

各内部コマンドの詳細を以下で説明します。 同様な機能を持つ内部コマンドは、 幾つかまとめて説明しています。
カーソル移動
カーソルを移動します。
表示ページ切替え
表示が一画面に収まらなかった場合に、 前後のページに移動します。 カーソル移動でページの外に移動しようとした場合にも、 ページ切替えになります。
先頭, 最後尾への移動
カーソルをファイル一覧の先頭及び最後尾に移動します。 表示が一画面に収まらない場合は、ページの切替えも行なわれます。
ファイル名表示範囲の変更
ファイル名表示が規定のカラム内に収まらなかった場合、 カーソル位置のファイル名のみ、表示される部分を変更していくことができます。 それぞれ、一文字ずつ右と左にシフトさせて表示します。 ステイタス行の表示も同時にシフトされます。
画面表示列の変更
通常は一画面 2 列の表示になっていますが、 この列の数をそれぞれの値に変更します。 列の数により、1 ファイル当たりのカラム数が変わるので、 表示されているファイル情報も変化します。
ファイルのマーク
カーソル位置のファイルにマークをします。 ディレクトリにはマークできません。 [Space] の場合にはマークと同時にカーソルを下移動します。 [^Space] の場合にも下移動しますがページ切替えはしません。 また、 [Home] で全ファイルにマークを、 [End] で全ファイルのマークを反転します。 [*] では、 ワイルドカードにマッチしたファイルにマークを追加します。 ワイルドカード文字列は [*] を押した後でその都度入力します。

マークしたファイルは、 ATTR_FILE, COPY_FILE, DELETE_FILE, MOVE_FILE, UNPACK_FILE 及びユーザ定義のコマンドマクロ実行の際に対象となります。

カレントディレクトリの移動
移動したいサブディレクトリのところにカーソルを移動し、 [Return] を押すと、そのディレクトリに移動します。 親ディレクトリへは、".." のファイルにカーソル移動して [Return] を押すか、 もしくは [Bs] を押すことで移動できます。 また、 [\] でルートディレクトリへの絶対移動を行ないます。
ファイルスタックへの積み下ろし
[Del] を押すと、そのカーソル位置のファイルが一旦スタックに積まれ、 ファイル一覧の画面から一時的に削除されます。 スタックには 5 ファイルまで積むことができます。

スタックに積まれたファイルは、 [Ins] でそのカーソル位置に挿入することができます。 最後にスタックに積んだファイルから順に取り出されます。 但し、この並びは fd の中で便宜上そう見えているだけで、 ディレクトリの移動等を行なえば元の並びに戻ります。

表示画面の再描画
カレントディレクトリの情報を再度読み出し、 ファイル一覧の画面を再描画します。 起動中に他のプロセスからファイルの追加削除を行なった場合や、 何らかの理由により画面表示が乱れた場合などに有効です。

また、画面サイズの変更に際して SIGWINCH シグナルを発生しないような端末の場合 (HP-UXの kterm(1) など) は、 画面サイズを変更した後には明示的に再描画させる必要があります。

ディレクトリの絶対移動 (Logdir)
入力したパス名に、カレントディレクトリを移動します。 '/' で始まるパス名を入力すれば、相対移動でなく絶対移動になります。

パス名として "." を入力すると、 カレントディレクトリのパス名を絶対表記に改めます。 これ以外の移動では、リンク等の原因により、 カレントディレクトリは常に仮想的なパス名を示します。 また、"?" というパス名を入力すると、 fd を起動した直前のカレントディレクトリに移動できます。 "-" というパス名を入力すると、 最後に訪れたディレクトリに移動できます。

また、フロッピードライブに移動している時に "@" というパス名を入力すると、 フロッピードライブに移動する前の UNIX ファイルシステム 側のディレクトリに移動できます。 (UNIX)

ファイルの実行 (eXec)
カーソル位置のファイル名に、 パラメータを追加して子プロセスとして実行します。 編集ラインのカーソル位置は、 実行権のあるファイルではファイル名の後に、 それ以外のファイルではファイル名の前に来ます。 それぞれ、適当なパラメータやコマンド名を補って下さい。 また、カーソルキーの上下で過去に実行したコマンド履歴の参照もできます。

MS-DOS 版では、 編集ライン中で引用符 " で括られた LFN 形式のファイル名は、 自動的に 8+3 形式のファイル名に置き換えられてから実行されます。 この時、" で括られた文字列で表されるファイル名が存在する時には全て、 " を削除した上で 8+3 形式のファイル名に変換しますが、 そのファイル名が存在しない場合は、 " を含めて変換を行ないません。

ファイルのコピー (Copy)
カーソル位置のファイルを指定のディレクトリにコピーします。 カーソル位置がディレクトリだった場合には、 ディレクトリの中を再帰的にコピーできます。 マークされたファイルがある場合は、 カーソル位置のファイルではなくマークファイルが対象となります。

また、コピー先に同名ファイルが存在した場合、 「日付の新しいファイルを上書き」 「名前を変えてコピー」 「全て上書き」 「同名ファイルはコピーしない」 「転送」 の中から処理を選択できます。 「転送」を選択すると転送先のディレクトリを聞いてきますので指定して下さい。 コピー先の同名ファイルは全てここで指定したディレクトリに移動します。

ファイルの削除 (Delete)
カーソル位置のファイルを削除します。 ディレクトリは削除できません。 マークされたファイルがある場合は、 カーソル位置のファイルではなくマークファイルが対象となります。

書込み権のないファイルの場合には、安全のため確認を取ります。

ファイル名の変更 (Rename)
カーソル位置のファイルのファイル名を変更します。 既に存在するファイルと同じ名前には変更できません。 また、新しいファイル名としてディレクトリ付きのパス名を指定すると、 ファイル移動も同時に行なわれることになります。
ファイルのソート (Sort)
カレントディレクトリ内のファイルをソートして表示します。 ソートのタイプは 「名前順」「拡張子順」「サイズ順」「日付順」「長さ順」の中から選び、 更に「昇べき」「降べき」を指定します。 ソート前のソートタイプが「ソートしない」以外だった時は、 選択肢の中に「ソートしない」も含まれるようになります。 また、一度ソートした後に別のタイプでソートすると、 以前のソート結果を基準にしてソートし直します。 なお、このソートには指定したタイプ以外に優先順位があり、 「ソートしない」以外のソートタイプでは、 ディレクトリファイルは通常ファイルよりも常に先んじて並べられます。 また、「長さ順」ではファイル名長が同じもの同士は名前順で並べます。

但し、このソートは fd の中で便宜上そう見えているだけで、 ディレクトリの移動等を行なえば元の並びに戻ります。

ファイルの検索 (Find)
ワイルドカードにマッチしたファイルだけを画面に表示するようにします。 先頭が '.' で始まるファイル名は、 '*' や '?' で始まるワイルドカードにマッチしません。 検索表示を解除したい場合は、ディレクトリを移動するか、 再度 FIND_FILE を実行して空行を入力して下さい。

また、カレントディレクトリに、 アーカイブブラウザの登録されている拡張子のファイルが存在した場合、 検索文字列の先頭を '/' で始めると、 ファイル名そのものの検索ではなく、アーカイブファイル内のファイル名を検索し、 マッチしたファイルを持つアーカイブファイルのみ画面に表示します。 この機能はアーカイブブラウザ内でも利用できます。

なお、検索表示中は WRITE_DIR は実行できません。

ディレクトリのツリー表示 (Tree)
カレントディレクトリを基準としたツリー構造を表示します。 ツリー表示モード内で移動したい先のディレクトリを選択すると、 カレントディレクトリを移動します。
ファイルの編集 (Editor)
カーソル位置のファイルを編集します。 編集に用いるエディタは、内部変数 EDITOR を参照して用いますが、 内部変数が未定義の場合には環境変数 EDITOR を参照します。
アーカイブファイルの伸長 (Unpack)
カーソル位置のアーカイブファイルを指定ディレクトリ先に伸長します。 デフォルトでは、tar ファイルとその圧縮ファイル及び LHa 圧縮ファイルしか 伸長できませんが、初期設定ファイルに記述することで、 これ以外のアーカイバにも対応できるようになります。
ファイル属性の変更 (Attr)
カーソル位置のファイルの、 ファイルアクセスモードとタイムスタンプ及びオーナーとグループを変更します。 マークされたファイルがある場合は、 カーソル位置のファイルではなくマークファイルが対象となります。 マークファイルの場合は、 モード、タイムスタンプ、オーナーとグループのいずれかを選んでから、 入力したものを一括変更することになります。

モードの入力は、カーソルキーで変更したい位置へカーソルを移動し、 [Space] でその位置の属性を反転させます。 実行ビットの属性は、2 値のトグルではなく、 それぞれ setuid ビット、setgid ビット、 sticky ビットを含んだ 3 値のトグルになっていますので注意して下さい。 また、 対象がマークファイルの場合は、 [m](Mask) を入力するとその位置のビット値は '*' でマスクされ、 元のファイルの属性値を保存します。 タイムスタンプの入力は、変更したい位置にカーソルを持っていって、 数値を入力するだけです。 オーナーとグループの入力は、それぞれの名前の位置にカーソルを移動し、 [Space] で名前または ID 値の入力を行ないます。 名前の入力にはユーザ名補完やグループ名補完が有効です。 最終的に、 [Return] を押した時点で実行されます。 中断する場合は [Esc] です。 日付の範囲チェックは完全ではありませんので気をつけて下さい。

なお、 [a](Attr), [d](Date), [t](Time), [o](Owner), [g](Group) を入力すると、 各々の入力ラインの先頭位置にカーソル移動します。

また、 ファイルフラグ属性のある OS では、 モードの変更と同様にファイルフラグも変更できます。 この場合、 [f](Flag) を入力するとフラグ入力ラインの先頭位置にカーソル移動します。 但し、 変更できるフラグの値は実効ユーザの権限に準じます。

ファイルシステムの情報表示 (Info)
指定されたファイルシステムの情報を表示します。 入力されたパスがファイルシステムを表すスペシャルファイルでなかった場合は、 そのパスを含むファイルシステムの情報を示します。
ファイルの移動 (Move)
カーソル位置のファイルを指定のディレクトリに移動します。 カーソル位置がディレクトリだった場合には、 ディレクトリそのものを移動します。 マークされたファイルがある場合は、 カーソル位置のファイルではなくマークファイルが対象となります。

移動先に同名ファイルが存在した場合、 COPY_FILE 同様、処理の選択ができます。 また、移動先が異なるファイルシステムの場合は、 単にコピーと削除を連続して実行します。

ディレクトリの削除 (rmDir)
カーソル位置のディレクトリファイルを、 再帰的に削除します。 但し、ディレクトリが symbolic リンクの場合には、 リンクの削除のみ行ない、リンク先のディレクトリには影響を与えません。
ディレクトリの作成 (mKdir)
カレントディレクトリの下にサブディレクトリを作成します。 入力したサブディレクトリ文字列に、 パス名デリミタである '/' が含まれていた場合、 最終的にその文字列で示されるディレクトリが作成されるまで、 再帰的にディレクトリ作成を繰り返します。

'/' で始まるパス名を入力すれば、 カレントディレクトリ下でなく、 表される絶対パスにディレクトリを作成します。

子プロセスの実行 (sHell)
入力されたコマンド文字列を内蔵シェルに渡して子プロセスとして実行させます。 EXECUTE_FILE と同様にコマンド履歴の参照や MS-DOS 版での LFN 自動変換もできます。 また、何も入力せずに [Return] のみ入力すると、 内部変数もしくは環境変数 SHELL の指すユーザシェルを起動します。 この場合、 fd に戻るためには "exit" と入力して下さい。 また、 SHELL の値が fdsh の場合には、 内蔵シェルを対話型シェルとして起動します。

但し、組込みコマンド及び内部コマンドに同じコマンド名があった場合、 外部コマンドに優先して組込みコマンド及び内部コマンドが実行されます。 組込みコマンドの詳細は、 `組込みコマンド' の項を参照して下さい。

表示ディレクトリの書込み (Write)
現在表示されているディレクトリの書込みをします。 ディレクトリエントリ上のファイル間の隙間も詰めて書込まれます。 PUSH_FILE, POP_FILESORT_DIR で並び替えた後であれば、その結果を書込むことになります。

表示ディレクトリがホームディレクトリ下の階層に属していなかった場合、 安全のため、他のユーザが利用していないかどうかの確認を求めます。 セキュリティ上不安定なので、 NFS マウントされたディレクトリや一部の特殊ディレクトリ上では書込みできません。

また、ファイルの並び替えをするような内部コマンド実行後に、 その並びを崩してしまう内部コマンドを実行しようとすると、 その内部コマンド実行の直前に、 書込みを行なうかどうかを問い合わせしてきます。 この機能のため、 明示的にこの書込みコマンドを実行しなくても ディレクトリの書込みを行なうことがあります。 但し、表示ディレクトリがホームディレクトリ下になかった場合は、 この問い合わせを行ないません。

テープへのバックアップ (Backup)
カーソル位置のファイルを指定デバイスの記録装置にバックアップします。 カーソル位置がディレクトリだった場合には、 その中身を全て保存します。 マークされたファイルがある場合は、 カーソル位置のファイルではなくマークファイルが対象となります。

バックアップには tar(1) を用います。 デバイス名の入力の際に、デバイスを示すスペシャルファイル以外を与えた場合、 そのファイル名でアーカイブファイルを作成します。

ファイルの閲覧 (View)
カーソル位置のファイルを閲覧します。 閲覧に用いるページャは、 内部変数 PAGER を参照して用いますが、 内部変数が未定義の場合には環境変数 PAGER を参照します。
ファイルの圧縮 (Pack)
カーソル位置のファイルを指定のアーカイブファイルに圧縮します。 カーソル位置がディレクトリだった場合には、 その中身を全てアーカイブファイルに入れます。 マークされたファイルがある場合は、 カーソル位置のファイルではなくマークファイルが対象となります。

入力したアーカイブファイルの拡張子を見て、 それぞれに応じたアーカイバを自動的に選択します。 デフォルトでは、 tar ファイルとその圧縮ファイル及び LHa 圧縮ファイルにしか圧縮できませんが、 初期設定ファイルに記述することで、 これ以外のアーカイバにも対応できるようになります。

但し、 tar(1) を用いる場合は、 一度に渡せるパラメータ長の限界のせいで、 たくさんのファイルを一度に圧縮することができない場合があります。 そのような場合は、 BACKUP_TAPE を用いてアーカイブファイルを作成して下さい。

ツリーを用いたファイル操作
[L], [C], [M], [U] を押すと、 パス名の入力の際に、 文字列を入力する代わりにツリー構造の中から選択させることができます。 それぞれ、 LOG_DIR, COPY_FILE, MOVE_FILE, UNPACK_FILE と同等の機能の内部コマンドが実行されます。
ファイルの検索移動
ワイルドカードにマッチするファイルを、 カレントディレクトリから下に階層的に検索し、 見つかったファイルのあるディレクトリに移動します。 カーソル位置がディレクトリだった場合は、 カレントディレクトリでなく、カーソル位置のディレクトリの下を検索します。

マッチした個々のファイルに対し、 そこに移動するかどうかを確認してきますので、 目的のファイルが表示されるまでは [n](No) を選択して下さい。

再帰的なファイル属性変更
カーソル位置のディレクトリファイルを、 再帰的にファイル属性変更します。 マークファイルの属性変更と同様に、 モード、タイムスタンプ、オーナーとグループのいずれかを選んでから、 ディレクトリ以下の全てのファイル属性を変更します。

但し、 モードの入力では、 実行ビットの属性は、 3 値のトグルではなく、 'X' と '!' を含んだ 5 値のトグルになっていますので注意して下さい。 'X' は対象がディレクトリであるかもしくはいずれかの実行ビットが立っている時のみ、 そのビットを有効にします。 同様に '!' は対象がディレクトリであるかもしくはいずれかの実行ビットが立っている時のみ、 そのビットを無効にします。 また、 [m](Mask) を入力するとその位置のビット値は '*' でマスクされ、 元のファイルの属性値を保存します。

ランチャの起動
サブディレクトリ以外のカーソル位置で [Return] を押すと、 それぞれのファイル拡張子に応じた動作をします。 デフォルトでは、 tar ファイルとその圧縮ファイル及び LHa 圧縮ファイルに対し、 アーカイブブラウザが登録されています。 初期設定ファイルに記述することで、 これ以外のコマンドもランチャとして登録することができます。

カーソル位置が未登録の拡張子のファイルだった場合は、 VIEW_FILE と同じ挙動を示します。 アーカイブブラウザ画面でも、 登録ランチャは有効に機能し、 再帰的にアーカイブブラウザを起動することも可能です。

symbolic リンク表示形式の切替え
ファイル表示欄やステイタス行に表示されるファイル情報は、 symbolic リンクファイルの場合には、 リンク先の本体ではなくリンクファイルのものになっています。 これを、トグルスイッチでリンク先本体の情報を参照するように切替えます。 (UNIX)

リンク本体情報参照モードでは、 ファンクション行の左端に 'S'(Symbolic Link) と表示されます。

ファイルタイプシンボル表示の切替え
ls(1) の -F オプションでの表示と同様に、 ファイル一覧リストのファイル名の欄に、 そのファイルのタイプを表すシンボル文字を付加して表示します。 トグルスイッチでシンボルの表示非表示を切替えます。 各シンボルの意味は以下のとおり。
 /    ディレクトリ
 @    symbolic リンク
 *    実行可能ファイル
 =    ソケット
 |    FIFO
 
(MS-DOS 版及びフロッピードライブ)
 /    ディレクトリ
 *    実行可能ファイル
 =    システムファイル
 |    ラベル
 
ファイルタイプ表示モードでは、 ファンクション行の左端に 'T'(Type) と表示されます。
ドットファイル表示非表示の切替え
'.' で始まるファイル名のファイルを、 ファイル一覧内に表示しないようにします。 トグルスイッチでドットファイルの表示非表示を切替えます。

ドットファイル非表示モードでは、 ファンクション行の左端に 'H'(Hidden) と表示されます。

ファイルフラグ表示の切替え
各ファイルのファイルモードの代わりに、 一部の OS にあるファイルフラグを表示します。 トグルスイッチでファイルフラグの表示とファイルモードの表示を切替えます。 ファイルフラグのない OS では機能しません。 各シンボルの意味は順に以下のとおり。 (UNIX)
 A    Archived
 N    Nodump
 a    system Append-only
 c    system unChangable (immutable)
 u    system Undeletable
 a    user Append-only
 c    user unChangable (immutable)
 u    user Undeletable
 
ファイルフラグ表示モードでは、 ファンクション行の左端に 'F'(Flags) と表示されます。
ファイル名の検索
カレントディレクトリ内でファイル名をインクリメンタルサーチし、 カーソルを移動していきます。 コマンドを実行するとサーチモードに移行し、 ファンクション行にプロンプトが現れますので、 ここで検索したいファイル名をキー入力していくと、 その時点で入力されている文字列にマッチするファイル名に カーソルが順次移動していきます。 [Esc] で通常モードに復帰できます。
ウィンドウの分割
現在のウィンドウを分割します。 通常のウィンドウ非分割モードの時に分割を行なうと、 画面を縦方向に二分割して使うウィンドウ分割モードになります。 ウィンドウ分割モードでは、 それぞれのウィンドウ内で独立して作業を行なうことができます。 ウィンドウ分割モードの時に更に分割を行なうと、 現在操作中のウィンドウ画面を縦方向に二分割します。 最大で 5 つまでの分割ウィンドウを作成することができます。
ウィンドウ間の移動
ウィンドウ分割モードの時に次のウィンドウに移動します。 現在のウィンドウが最後の時には先頭のウィンドウに移動します。 ウィンドウ非分割モードでは意味を持ちません。
ウィンドウの拡張
ウィンドウ分割モードの時に現在のウィンドウサイズを大きくし、 その分だけ次のウィンドウサイズが小さくなります。 現在のウィンドウが最後の時には先頭のウィンドウサイズが小さくなります。 ウィンドウ非分割モードでは意味を持ちません。
ウィンドウの縮小
ウィンドウ分割モードの時に現在のウィンドウサイズを小さくし、 その分だけ次のウィンドウサイズが大きくなります。 現在のウィンドウが最後の時には先頭のウィンドウサイズが大きくなります。 ウィンドウ非分割モードでは意味を持ちません。
ウィンドウの破棄
ウィンドウ分割モードの時に現在のウィンドウを破棄して直前のウィンドウに統合します。 現在のウィンドウが先頭の時には最後のウィンドウと統合されます。 破棄した結果ウィンドウの数が一つになるとウィンドウ非分割モードになります。 ウィンドウ非分割モードでは意味を持ちません。
カスタマイザの起動
内部変数や組込みコマンドで設定する内容を、 対話的に変更するカスタマイザを起動します。 ここで設定した内容は即座に反映されますが、 初期設定ファイルに反映させるには、 カスタマイザ内で明示的に書込みを実行する必要があります。
ヘルプ画面の表示
現在のキー割当てとそのコマンド内容を一覧表示します。 一画面に収まりきらない場合は一画面分の表示で一旦キー入力を待ちます。

また、バイナリ頒布の実行ファイルでは、 この画面のファンクション行に頒布責任者の連絡先が表示されますので、 何かあった場合にはこちらの連絡先にご一報下さい。

fdの終了 (Quit)
fd を終了します。

コマンド

EXECUTE_SH や初期設定ファイルの中では、 外部コマンド以外に上述の内部コマンドや後述の組込みコマンドが使用できます。 これらのコマンドについては、 一つ以上のコマンドを | または |& で区切ってパイプラインを構成することができます。 | の前段のコマンドの標準出力は後段のコマンドの標準入力に渡されます。 |& の場合は、 前段のコマンドの標準出力と標準エラー出力の両方が後段のコマンドの標準入力に渡されます。 パイプラインの終了ステータスは最後段コマンドの終了ステータスになりますが、 パイプラインの先頭を ! で始めることで、 パイプラインの終了ステータスを最後段コマンドの終了ステータスの論理否定にすることができます。 また、 一つ以上のパイプラインを ;, &, &|, &&, || で区切ってコマンドリストを構成することができます。 コマンドリストは ;& または &| で終わっていても構いません。 これらの区切り子は各々以下のような意味を持ちます。
;
前段のパイプラインから順に実行します。
&
前段のパイプラインの終了を待たずに後段のパイプラインを同時に実行します。 (UNIX)
&|
最初から disown されていることを除いて & と同じです。 (UNIX)
&&
前段のパイプラインを実行し、 その終了ステータスが 0 ならば後段のパイプラインを実行します。
||
前段のパイプラインを実行し、 その終了ステータスが 0 でなければ後段のパイプラインを実行します。
コマンドリストの中では、 改行文字は ; と同じ意味を持ちます。

また、 コマンドリスト中の各々のコマンドは、 以下のリダイレクト記述子により入出力を切替えることができます。 リダイレクト記述子は、 コマンド文字列の中のどの位置にあっても構いません。

n<file
ファイルディスクリプタ n で表される入力をファイル file からの入力に切替えます。 n を省略すると、 標準入力を指定したものと見なされます。
n>file
ファイルディスクリプタ n で表される出力をファイル file への出力に切替えます。 n を省略すると、 標準出力を指定したものと見なされます。 ファイル file が存在しない場合は新たに生成され、 存在する場合はファイルサイズ 0 に切詰められてから出力されます。
n>|file
組込みコマンド set により -C オプションが設定されている場合でも、 強制的に既存ファイルに上書きするという点を除けば、 > と全く同等です。
n>>file
ファイルディスクリプタ n で表される出力をファイル file への出力に切替えます。 n を省略すると、 標準出力を指定したものと見なされます。 ファイル file が存在しない場合は新たに生成され、 存在する場合はその後ろに追加されます。
n1<&n2
ファイルディスクリプタ n1 で表される入力をファイルディスクリプタ n2 で表される入力に切替えます。 n1 を省略すると、 標準入力を指定したものと見なされます。
n1>&n2
ファイルディスクリプタ n1 で表される出力をファイルディスクリプタ n2 で表される出力に切替えます。 n1 を省略すると、 標準出力を指定したものと見なされます。
&>file
標準出力と標準エラー出力の両方を同時にファイル file への出力に切替えます。 ファイル file が存在しない場合は新たに生成され、 存在する場合はファイルサイズ 0 に切詰められてから出力されます。
&>|file
組込みコマンド set により -C オプションが設定されている場合でも、 強制的に既存ファイルに上書きするという点を除けば、 &> と全く同等です。
&>>file
標準出力と標準エラー出力の両方を同時にファイル file への出力に切替えます。 ファイル file が存在しない場合は新たに生成され、 存在する場合はその後ろに追加されます。
n<>file
ファイルディスクリプタ n で表される入出力をともにファイル file の入出力に切替えます。 n を省略すると、 標準入力を指定したものと見なされます。
n><file
ファイルディスクリプタ n で表される入出力をともにファイル file の入出力に切替えます。 n を省略すると、 標準出力を指定したものと見なされます。
n1<>&n2
ファイルディスクリプタ n1 で表される入出力をファイルディスクリプタ n2 で表される入出力に切替えます。 n1 を省略すると、 標準入力を指定したものと見なされます。
n1><&n2
ファイルディスクリプタ n1 で表される入出力をファイルディスクリプタ n2 で表される入出力に切替えます。 n1 を省略すると、 標準出力を指定したものと見なされます。
n<-
n<&-
ファイルディスクリプタ n で表される入力を閉じます。 n を省略すると、 標準入力を指定したものと見なされます。
n>-
n>&-
ファイルディスクリプタ n で表される出力を閉じます。 n を省略すると、 標準出力を指定したものと見なされます。
n<>-
n<>&-
ファイルディスクリプタ n で表される入出力を閉じます。 n を省略すると、 標準入力を指定したものと見なされます。
n><-
n><&-
ファイルディスクリプタ n で表される入出力を閉じます。 n を省略すると、 標準出力を指定したものと見なされます。
n<<[-]word
ファイルディスクリプタ n で表される入力を、 文字列 word と同じ文字列から成る入力行が現れるか、 もしくはファイルの終端までの部分の入力に切替えます。 word にクォートで囲まれた部分がある場合は入力行を評価しません。 そうでなければ各入力行は評価され、 変数展開や文字列置換が行なわれます。 - が指定された場合、 入力行の先頭にあるタブを全て削除してからコマンドに渡します。 n を省略すると、 標準入力を指定したものと見なされます。

但し、 それぞれのリダイレクトでファイルを指定する場合、 ファイル名として `scheme://host:port' 形式の文字列を指定すると、 scheme 文字列の内容に応じてそれぞれ下記のような TCP ソケットをオープンします。 待受けポート番号の指定には OS 上の権限による制限があります。 (UNIX)

connect://host:port
host で示されるリモートホストの port で示される番号の TCP ポートに接続するソケットをオープンします。
accept://[host][:port]
host で示されるローカルホストへの接続を、 port で示される番号の TCP ポートで待受けるソケットをオープンします。 host を省略すると任意のホストへの接続を受理します。 port を省略すると OS の定めた範囲の任意ポートを用います。
bind://[host][:port]
host で示されるローカルホストへの接続を、 port で示される番号の TCP ポートに束縛されたソケットをオープンし、 組込みコマンド accept での待受けに備えます。 host を省略すると任意のホストへの接続を受理します。 port を省略すると OS の定めた範囲の任意ポートを用います。

なお、 各コマンド入力行においては、 '#' から行末まで、 及び空行は無視されます。 行の最後尾が '\' で終っている場合は、 その行の記述が次行にも継続しているとみなしますので、 一行が長くなるような場合はこれで分割できます。

組込みコマンド

fd では以下の組込みコマンドが用意されています。 これらの組込みコマンドは、 EXECUTE_SH や初期設定ファイルの中で用いることができます。
if list then [elif list then list] ... [else list] fi
if 節及び elif 節の list が先頭から順に実行され、 その終了ステータスが 0 ならば対応する then 節の list が実行され、 その時点で後続の elif 節は無視されます。 もしどの if 節や elif 節の list0 で終了しなかった場合、 else 節の list が実行されます。 どの then 節や else 節の list も実行されなかった場合は、 if は終了ステータス 0 を返します。
while list do list done
while 節の list が繰返し実行され、 その終了ステータスが 0 である間ずっと do 節の list が繰返し実行されます。 do 節の list が一度も実行されなかった場合は、 while は終了ステータス 0 を返します。
until list do list done
until 節の list が繰返し実行され、 その終了ステータスが 0 でない間ずっと do 節の list が繰返し実行されます。 do 節の list が一度も実行されなかった場合は、 until は終了ステータス 0 を返します。
for NAME [in value ...] do list done
value リストの値を一つずつ順に内部変数 NAME に代入し、 そのそれぞれについてコマンドリスト list を実行します。 in value を省略すると、 位置パラメータを順に代入します。
case word in [pattern [| pattern] ... ) list ;;] ... esac
文字列 word と各パターン pattern とを比較し、 最初にマッチした pattern に対応するコマンドリスト list を実行します。
(list)
サブシェル内で list を実行します。
{ list; }
現行シェル内で list を実行します。
NAME=[value] [com ...]
fd 内でのみ有効の内部変数の定義を行ないます。 内部変数 NAME に値(文字列) value を代入します。 変数定義に続いてコマンド com を記述すると、 この変数を環境変数として渡した状態で com を実行します。 この場合、 NAME の定義は環境変数としても内部変数としても残りません。

value を省略すると、内部変数 NAME の値としてナルを定義します。 内部変数の定義を削除する場合には組込みコマンド unset を用いて下さい。

name() { list; }
コマンドリスト list を関数 name として定義します。 定義された関数は、 EXECUTE_SH の入力ラインのほか、 後述の各コマンドマクロ内に用いることができます。 各コマンド記述内では位置パラメータ $n が記述可能で、 これは、関数呼出時の引数を指しています。 $0name そのもので、 $1-$9 までが引数を指します。

{ }list は省略できませんが、 list が単文からなる場合は前後の { } を省略しても構いません。 関数定義を削除する場合には組込みコマンド unset を用いて下さい。

!num
数値 num で表される履歴番号のコマンドを実行します。 num が負数だった場合は、現在の履歴番号から相対的に数えて num 番目の履歴番号のコマンドを実行します。
!!
直前のコマンドを実行します。 !-1 と同義です。
!str
文字列 str で始まる行のコマンド履歴を実行します。
: [arg ...]
何もしません。 但し、 arg の評価やリダイレクトの実行は行なわれます。
. file
source file
ファイル file を読み込んで評価します。 filePATH に含まれるディレクトリにあるか、 もしくはパス名付表記でなくてはいけません。 ファイルの各行の書式は EXECUTE_SH コマンドの書式に準拠します。 ファイル内で入れ子にしてファイルを読み込ませることもできます。
accept [fd]
fd で表されるファイルディスクリプタをソケットとして待受けを行ない、 接続が確立すると接続ソケットを同じファイルディスクリプタ fd に割付けます。 この時、 待受けに用いたソケットはクローズされます。 fdbind:// 形式のリダイレクトでない場合は失敗します。 accept:// 形式のリダイレクトと比べ、 実際の接続を受ける前に一旦シェルに制御が戻るので、 リモートホストとの間で事前に TCP ポート番号のネゴシエーションを行なう場合に利用することができます。 (UNIX)

fd を省略すると標準入力に対して待受けを行ないます。

addcr [-1] [file]
file で示されるファイルから一行ずつ読込んで標準出力に出力します。 各行の改行コードは CR-NL (\r\n) に統一されます。 ソケットに対する出力を行なう際にパイプとして用いると有用です。

file を省略すると標準入力を指定したものと見なされます。 -1 を指定すると一行分だけ出力して終了します。

alias [name[=com]]
コマンド com の別名として name をエイリアス定義します。 定義されたエイリアスは、 EXECUTE_SH の入力ラインのほか、 後述の各コマンドマクロ内に用いることができます。 エイリアスによる置換は再帰的に行なわれます。

com を省略すると、 name のエイリアスを表示します。 comname も省略すると、現在定義されている全てのエイリアスを一覧表示します。

arch ext [pack unpack]
拡張子 ext のアーカイブファイルに対するアーカイバコマンドを登録します。 pack には圧縮時のコマンドを、 unpack には伸長時のコマンドを、 それぞれ " で括ったマクロ表記で記述します。 ext の先頭を / で始めると、 拡張子の比較の際に大文字小文字の違いを無視して比較します。

pack, unpack 共に省略すると、拡張子 ext に対するアーカイバコマンド登録を削除します。

bg [job]
job で表されるジョブの実行をバックグラウンドで再開します。 ジョブを指定するには下記の書式が有効です。 (UNIX)
 %
 %+   カレントジョブ
 %-   一つ前のジョブ
 %n   ジョブ番号 n のジョブ
 %str コマンドラインが str で始まるジョブ
 
但し、 後述のパラメータマクロ機能のために、 EXECUTE_SH のコマンドライン入力ではこれらの % の部分は %% と重ねて記述する必要があります。
job を省略するとカレントジョブをバックグラウンドで再開します。
bind c [com1 [com2] [:comment]]
キー c に対して、コマンド com1 を割当てます。 c にコントロール文字を指定したい場合は、 ^ を冠して ^A のように 2 文字で記述します。 Meta キー (MS-DOS 版では Alt キー) を併用する文字を指定したい場合は、 @ を冠して @a のように 2 文字で記述します。 ファンクションキーや機能キーを指定したい場合は、 後述の keymap コマンドで用いられている各識別子を用い、 F10 のように文字列で記述します。 また、 \n =0x0a や \e =0x1b といったエスケープ文字列、8 進数を用いた \ooo といった表記もできます。

fd の持つ内部コマンドの割当ては、コマンド識別子をそのまま記述できます。 引数付きで内部コマンドを定義したい場合や、 コマンドをマクロ表記で定義する場合は、 " で括った文字列を記述します。 com2 を省略せずに記述すると、 カーソル位置がディレクトリだった場合に com2 の方を実行します。 キー c が F1 から F20 のファンクションキーの場合、 コマンドの記述に続いて : を冠して comment を記述すると、 ファンクション行の該当部分の表示を comment に変更できます。

但し、コントロール文字に対するキー割当てについては、 後述の編集モードの設定が優先しますので気をつけて下さい。

com1, com2 共に省略すると、 キー c に対するキー割当て登録を削除します。

break [n]
ループから抜けます。 for などのステートメント中で用います。 n が指定されていると n 段階分ループから抜けます。
browse [-@ file]
browse com [-ftbie arg] [-p com2] [-dn {noprep,loop}] ...
コマンド com を実行し、 その出力を渡してアーカイブブラウザを起動させます。 com にはコマンドのマクロ表記を " で括って記述します。 -f オプション及び -t, -b, -i, -e の各オプションは、 組込みコマンド launch で用いられるものと同等です。 複数の com を記述すると、 アーカイブブラウザ内で各々のファイルを選択した場合に、 その次に記述されたコマンド com が順次実行され、 それぞれのコマンド com に続いて記述されたフォーマットやパターンが用いられます。 一つ前の段階のアーカイブブラウザに戻るには、 ファイル .. を選ぶか [Bs] キーを押します。 QUIT_SYSTEM コマンドは browse で起動された全てのアーカイブブラウザを終了します。 また、 最後に記述されたコマンド com 以外には -f オプションが必須です。 最後の com-f オプションが指定されなかった場合には、 アーカイブブラウザを起動する代わりに単にそのコマンドを実行し、 実行後はアーカイブブラウザに戻ります。

-p オプションを指定すると、 ファイル選択時に次のコマンド com の実行に進む前にコマンド com2 が実行されます。 パイプ用のサブシェルで実行される com と異なり、 com2 はカレントシェルで実行されますので、 このコマンド内で設定した内部変数値は com2 終了後も継承されます。 また、 その段階のアーカイブブラウザに到達するまでに選択してきたファイル名が位置パラメータに順次保存され、 最後に選択したファイル名は $1 に保存されています。 この値はファイルを選択する都度更新されますので、 comcom2 の中で組込みコマンド setshift を使って書換えても、 次のファイル選択時にはこれまでの選択履歴のとおりに再設定されます。 -d 及び -n オプションは、 選択したファイルがそれぞれディレクトリだった場合とディレクトリでなかった場合の制御を記述します。 noprep を指定すると -p オプションで指定した com2 を実行しません。 loop を指定するとファイル選択後に次のコマンド com に進まずに同じ段階のコマンド com を再度実行します。

また、 browse の引数が長くなって記述が面倒な場合には、 引数を記述したファイル file-@ オプションで指定することもできます。 -@ オプションは引数の中の任意の場所に記述可能で、 file に記述された各引数は -@ のある位置に挿入されます。 file として - を指定するとファイルの代わりに標準入力から引数を読込みます。 file の中には引数を空白文字または改行で区切って記述します。 空行または # で始まる行は無視されます。 file の中に -@ オプションを記述した場合は、 再帰的に引数ファイルが参照されます。

builtin arg ...
単純な組込みコマンドとして arg を実行します。 arg と同名の関数定義があった場合でも、 関数は実行されません。
cd [-LP] [dir]
chdir [-LP] [dir]
fd 内のカレントディレクトリを dir に移動します。 dir を省略すると内部変数 HOME で示されるディレクトリに移動します。 パス名として ".", "?", "-", "@" を指定すると、 LOG_DIR と同様の挙動が得られます。

-L が指定されると、 symbolic リンクを辿って論理的なディレクトリ移動を行ないます。 -P が指定されると、 symbolic リンクを辿らずに物理的なディレクトリ移動を行ないます。 どちらも指定しない時は、 組込みコマンド setphysical オプションに従います。

checkid [file ...]
RFC1321 の MD5 アルゴリズムに従って、 指定されたファイルの一意な ID を計算し表示します。 複数の file を指定すると指定された全ファイルについて ID を表示します。 一つも指定しなかった場合は、 実行中の fd 自身の ID を表示します。

安全性の保証されたアルゴリズムなので、 ファイルの同一性を確認する手段として有効です。

cls
画面を消去します。
command [-p | -v | -V] arg ...
単純なコマンドとして arg を実行します。 arg と同名の関数定義があった場合でも、 関数は実行されません。 -p が指定されると、 現在の PATH の値の代わりに既定値を用いてパス検索します。 -v が指定されると、 arg を実行する代わりに arg の絶対パスを表示します。 この時、 arg が内部コマンドであれば単にその名前を表示します。 -V が指定されると type と同様に arg に関する詳細説明を表示します。
continue n
ループの中で次の繰返しを開始します。 for などのステートメント中で用います。 n が指定されていると n - 1 段階上層のループの中で次の繰返しを開始します。
copy [-ABVY-Y] src [-AB] [+ src2 [-AB] [+ ...]] [dest [-AB]]
src で示されるファイルを dest で示されるファイルまたはディレクトリにコピーします。 dest がディレクトリを表している時にはコピー先のファイル名は src になります。 dest を省略するとカレントディレクトリにコピーされます。 コピー元のファイルは + で区切るかワイルドカードを用いるかで複数指定できます。 + で区切った場合はそれらのファイルを連結してコピーします。 ワイルドカードを用いた場合は、 コピー先がディレクトリなら一つずつコピーし、 コピー先がファイルなら連結してコピーします。

-A を指定すると ASCII テキストファイルとして扱います。 -B を指定するとバイナリファイルとして扱います。 -V を指定するとコピーの正否を照合します。 -Y を指定するとコピー先の上書き確認のキー入力待ちをしません。 --Y を指定するとコピー先の上書き確認のキー入力待ちをします。

(MS-DOS 版では COMMAND.COM との互換性のために、 オプション識別用文字として - の代わりに / を用います。)

del [-P] file
erase [-P] file
file で示されるファイルを削除します。 ファイルはワイルドカードを用いて複数指定できます。

-P を指定すると削除する前に確認のキー入力待ちをします。

(MS-DOS 版では COMMAND.COM との互換性のために、 オプション識別用文字として - の代わりに / を用います。)

dir [-[-]PWSBLV4] [-A[DRHSA-]] [-O[NSEDGA-]] [dir]
dir で表されるディレクトリ中のファイルとサブディレクトリを一覧表示します。 dir 省略時にはカレントディレクトリの情報を表示します。

-P を指定すると一画面毎にキー入力待ちになります。 -W を指定するとワイド一覧形式で表示します。 -A を指定するとその後続文字で表される属性のファイルのみ表示します。

 D  ディレクトリ  R読取り専用
 H  隠しファイル  Sシステムファイル
 A  アーカイブ  -  その属性以外
 
-O を指定するとその後続文字で表されるソート形式でソートします。
 N  名前順        S  サイズ順
 E  拡張子順     D  日付順
 G  ディレクトリ優先A最終アクセス順
 -  逆順
 
-S を指定するとサブディレクトリの中のファイルも表示します。 -B を指定するとファイル名とディレクトリ名のみを表示します。 -L を指定すると小文字で表示します。 -V を指定すると詳細情報を表示します。 -4 を指定すると西暦を 4 桁で表示します。 また、 これらのオプション文字の前に - を冠すると、 そのオプションを上書きして無効にします。
(MS-DOS 版では COMMAND.COM との互換性のために、 オプション識別用文字として - の代わりに / を用います。)
dirs
現在のディレクトリスタックの一覧を表示します。 ディレクトリスタックは pushd 及び popd コマンドで積み降ろしされます。
disown [job]
job で表されるジョブをシェルの管理下から外します。 disown されたジョブは、 組込みコマンド jobsfg, bg で制御できなくなります。 ログインシェルとして起動された時には、 disown されていないジョブはシェル終了時に強制終了されます。 (UNIX)

job を省略するとカレントジョブをシェルの管理化から外します。

dtype file
file で示されるファイルの内容を表示します。
echo [-nN] [arg ...]
arg を標準出力に出力します。 -n が指定されない場合は arg の最後に改行を出力します。 -N が指定された場合は出力する改行を CR-NL (\r\n) にします。 echo(1) を参照して下さい。
enable [-n] [arg ...]
arg を組込みコマンドとして有効にします。 -n が指定された場合は無効にします。 arg を省略すると現在有効または無効になっている組込みコマンドの一覧を表示します。
eval [arg ...]
arg を評価した後実行します。
evalmacro [arg ...]
arg に含まれるパラメータマクロを評価した後実行します。 eval はパラメータマクロを評価しませんので、 用途に応じて適宜使い分けて下さい。 また、 関数の中ではパラメータマクロが使えないので、 パラメータマクロの展開にはこのコマンドが必要になります。
exec [com [arg ...]]
fd の実行を com に置換えて実行を続けます。 com の引数として arg を指定できます。
exit [n]
fd を終了します。 n が指定されていると終了ステータス n で終了します。
export [NAME[=[value]] ...]
内部変数 NAME を環境変数として子プロセスに継承させるようにします。 以降、 NAME への定義は全て子プロセスでも参照されるようになります。 値が未定義の内部変数を export した場合は、 その内部変数に値が定義された時点で初めて環境変数となります。 値の定義も同時に行ないたい場合は、 value を指定して下さい。

= のみ記述して value を省略すると、環境変数 NAME の値としてナルを定義します。 引数なしで実行された場合は、 現在 export されている環境変数の一覧を表示します。 環境変数の定義を削除する場合には組込みコマンド unset を用いて下さい。

false
終了ステータス 1 を返すだけで何もしません。
fc [-l | -s [old=new ...]] [-nr] [-e editor] [first [last]]
コマンド履歴を表示したり編集したりします。 first 及び last でコマンド履歴の範囲を選択します。 範囲指定には数値もしくは文字列が使用できます。 正の数値は履歴番号を示し、 負の数値は現在の履歴番号から相対的に数えた番号のコマンド履歴を示します。 文字列で指定すると、 その文字列で始まる行のコマンド履歴を示します。 -n が指定されるとコマンド履歴一覧に履歴番号を付けません。 -r が指定されるとコマンド履歴一覧が逆順になります。 -e が指定されるとコマンド履歴編集に使うエディタを editor に指定します。 未指定時には内部変数 FCEDIT または EDITOR で指定されたエディタコマンドが用いられます。

-l が指定されると標準出力に指定された範囲のコマンド履歴を一覧表示します。 この時、 last を省略すると現在の履歴番号が指定されたものと見なし、 更に first も省略すると -16 が指定されたものと見なします。

-s が指定されると first で指定されたコマンド履歴を即時実行します。 この時、 first を省略すると現在の履歴番号が指定されたものと見なします。 指定されたコマンド履歴の文字列中に old という文字列が存在した場合は、 実行前にその部分を new という文字列に置換えてから実行します。

-l-s も指定されなかった場合は、 指定された範囲のコマンド履歴を編集し、 編集を終えると編集されたコマンドが標準出力に表示されながら逐次実行されます。 この時、 last を省略すると first を指定されたものと見なし、 更に first も省略すると共に現在の履歴番号が指定されたものと見なします。

fd [directory [directory2]]
内蔵シェルから fd を起動します。 directory を指定すると、 起動直後にカレントディレクトリをそのディレクトリに移動します。 directory2 を指定すると、 ウィンドウ分割モードで起動し、 追加ウィンドウ側のカレントディレクトリをそのディレクトリに移動します。 QUIT_SYSTEM により内蔵シェルに戻ります。 fdsh として起動された時のみ有効です。
fg [job]
job で表されるジョブの実行をフォアグラウンドで再開します。 ジョブを指定するには下記の書式が有効です。 (UNIX)
 %
 %+   カレントジョブ
 %-   一つ前のジョブ
 %n   ジョブ番号 n のジョブ
 %str コマンドラインが str で始まるジョブ
 
但し、 後述のパラメータマクロ機能のために、 EXECUTE_SH のコマンドライン入力ではこれらの % の部分は %% と重ねて記述する必要があります。
job を省略するとカレントジョブをフォアグラウンドで再開します。
getkey [num]
押下したキーに対するキーコード文字列を取得します。 コマンド実行後にキー入力待ちになりますので、 検査したいキーを押すと、 そのキーに対するキーコード文字列を表示します。 num 回キーを押下すると終了です。 num2 回以上の場合は、 [Space] を押しても終了させることができます。 num0 回の場合には [Space] が押されるまで無限に繰り返されます。 ここで表示される文字列は、 そのまま keymap コマンドのキーコード文字列として使用可能です。 (UNIX)

num を省略すると、 1 回を指定したものと見なします。

getopts optstr NAME [arg ...]
arg の並びからオプションパラメータを展開するのに用いられます。 オプションとして有効な文字は optstr に列挙された文字だけです。 あるオプション文字が引数を取る場合は、 optstr の記述の中でその文字の後ろに : を続けます。 getopts が呼出される度に、 arg の並びから展開された新しいオプション文字が内部変数 NAME に代入されます。 引数を持つオプション文字の場合は、 その引数が内部変数 OPTARG に代入されます。 また、 次に展開するパラメータの位置がその都度内部変数 OPTIND に代入されます。 OPTIND の値は起動時に 1 に初期化されますが、 別のオプションパラメータ展開を行なう際には、 予め手動で OPTIND の値を 1 に初期化しておく必要があります。 arg を省略すると、 位置パラメータをオプションパラメータに展開します。

オプションの終端に達した場合は、 getopts1 を返します。 この時、 NAME には ? が代入されます。 optstr に含まれないオプション文字が見つかった場合は、 標準エラー出力にエラーメッセージを表示し、 NAME? を代入し OPTARGunset します。 但し、 optstr: で始まっていると、 エラーメッセージは表示せずに、 代わりに見つかったオプション文字を OPTARG に代入します。 引数を要するオプション文字に引数が伴わなかった場合は、 標準エラー出力にエラーメッセージを表示し、 NAME? を代入し OPTARGunset します。 但し、 optstr: で始まっていると、 エラーメッセージは表示せずに、 代わりに見つかったオプション文字を OPTARG に代入し NAME: を代入します。

hash [-r | com ...]
外部コマンド実行時の検索パス PATH を参照して com に対する絶対パスを検索し、 その結果をハッシュテーブルに登録します。

com の代わりに -r を指定するとこれまで記憶していたハッシュテーブルを全て破棄します。 com を省略するとハッシュテーブル情報の一覧を表示します。 hits, cost, command は、 それぞれそのコマンドの実行された回数、 検索パス上で検索するのに要した仕事量、 コマンドの絶対パスを表します。 検索されたコマンドが相対ディレクトリにあった場合は、 絶対パスとして登録されませんので、 カレントディレクトリを移動する度に再検索する必要があります。 このようなコマンドでは、 hits の値に続いて * が表示されます。

history [n]
最近の n 個のコマンド履歴を、 履歴番号を添えて一覧表示します。

n を省略すると、 現在記憶されている全てのコマンド履歴を一覧表示します。

jobs
実行中のジョブを一覧表示します。 (UNIX)
kconv [-i in] [-o out] [infile [outfile]]
infile を読込み、 漢字コードを in から out に変換して outfile に出力します。 in 及び out には後述の内部変数 FNAMEKCODE に用いる文字列が指定できます。 省略すると、 コンパイル時に指定された漢字コードが指定されたと見なされます。 outfile を省略すると、 標準出力に出力します。 infile も省略すると、 標準入力から読込みます。 (UNIX)
keymap [c [str]]
各種機能キー c のキーコードとして str の文字列をマッピングします。 c には以下の識別子のみ使用可能です。 (UNIX)
 UPDOWNRIGHTLEFTBEG      Begin      EOL      Eol
 HOME     Home       END      End
 INS      Insert     DEL      Delete
 INSLIN   InsLine    DELLIN   DelLine
 PPAGE    PageUp     NPAGE    PageDown
 ENTER    Enter      BS       Bs
 CLR      Clear      HELP     Help
 PLUS     + (tenkey) MINUS    - (tenkey)
 ASTER    * (tenkey) SLASH    / (tenkey)
 COMMA    , (tenkey) DOT      . (tenkey)
 EQUAL    = (tenkey) RET      Return (tenkey)
 TK0..TK9 0-9 (tenkey)
 F1...F20 ファンクションキー
 
キーコード文字列内では、 \n =0x0a や \e =0x1b といったエスケープ文字列が使用可能です。 8 進数を用いた \ooo といった表記もできます。 また、 ^ を冠して ^A のようにコントロール文字を記述することもできます。 ^ 自身は \^ と記述します。
str を省略すると、 c に対するキーコード文字列を表示します。 strc も省略すると、現在特殊キーに割当てられている全てのマッピングを一覧表示します。 str に対し "" を指定すると、 c に対するキーコードマッピングを無効にします。
kill [-l | -signal] [pid | job ...]
プロセス番号 pid で表されるプロセスまたは job で表されるジョブに対して signal で表されるシグナルを送ります。 signal は数値もしくはシグナル名で表します。

signal を省略すると SIGTERM を送ります。 -l を指定するとシグナルを送る代わりに signal として使えるシグナル名を一覧表示します。

launch ext [com [format [top bottom]]]
launch ext com [-f format] [-t top] [-b bottom] [-ie patt]
拡張子 ext に対する挙動をランチャとして登録します。 com にはコマンドのマクロ表記を " で括って記述します。 アーカイブブラウザを登録する場合には、 com にはアーカイブファイルの一覧表示のためのコマンドを記述し、 format に一覧表示形式のフォーマットを記述します。 top 及び bottom を記述すると、 一覧表示のうちで不必要な行を、 それぞれ先頭行からの行数及び最終行から行数として指定できます。 ext の先頭を / で始めると、 拡張子の比較の際に大文字小文字の違いを無視して比較します。

com を省略すると、拡張子 ext に対するランチャ登録を削除します。

アーカイブブラウザを登録する場合には、 後者の書式を用いるとより詳細に制御を記述できます。 -f オプションを複数記述することにより、 複数のフォーマット候補を指定できます。 これらのフォーマット候補は記述された順に比較され、 どれも完全にマッチしない場合は一番近いフォーマット候補に従います。 -i 及び -e オプションでは、 それぞれ無視する行とエラー扱いにする行のパターン patt を指定します。 一覧表示の中に不必要な行が含まれている場合には、 topbottom で指定することもできますが、 先頭行や最終行以外の行は -i オプションを用いて指定して下さい。 また、 アーカイブファイルの展開に失敗した際に特定の文字列を含んだ出力がなされる場合には、 その文字列を -e オプションを用いて指定して下さい。 -i 及び -e オプションはどちらも複数指定することができ、 そのうちいずれかひとつにマッチすれば有効になります。 また、 パターン patt の記述にはいずれもワイルドカードを用いることができます。

md dir
ディレクトリ dir を作成します。
mkdir dir
md と同じ。 (DOS)
newgrp [arg ...]
fd の実行を newgrp(1) に置換えて実行を続けます。 newgrp(1) の引数として arg を指定できます。 newgrp(1) を参照して下さい。 (UNIX)
login [arg ...]
fd の実行を login(1) に置換えて実行を続けます。 login(1) の引数として arg を指定できます。 login(1) を参照して下さい。 (UNIX)
logout [n]
ログインシェルを終了します。 n が指定されていると終了ステータス n で終了します。
popd
ディレクトリスタックから一番上のディレクトリを引き降ろし、 fd 内のカレントディレクトリをそのディレクトリに移動します。 ディレクトリスタックが空の時には失敗します。
printarch [ext]
拡張子 ext のアーカイブファイルに対して登録されているアーカイバコマンドを表示します。

ext を省略すると、 現在登録されている全てのアーカイバコマンドを一覧表示します。

printbind [c]
キー c に割当てられているコマンドを表示します。 キーの指定方法は bind コマンドと同様です。

c を省略すると、 現在登録されている全てのキー割当てのうち、 内部コマンドではなくコマンドマクロとして定義されているものを一覧表示します。 各内部コマンドのキー割当ては、 HELP_MESSAGE で参照できます。

printdrv [c]
ドライブ名 c に対して登録されているフロッピードライブのデバイスファイル 及びそのヘッド数、セクタ数、シリンダ数を表示します。 (UNIX)

c を省略すると、 現在登録されている全てのフロッピードライブを一覧表示します。

printlaunch [ext]
拡張子 ext に対してランチャとして登録されているコマンドマクロを表示します。 アーカイブブラウザとして登録されているものについては、 一覧表示形式のフォーマットを併記します。

ext を省略すると、 現在登録されている全てのランチャを一覧表示します。

printroman [roman]
かな漢字変換入力モードで用いるローマ字かな変換テーブルを表示します。 ローマ字文字列 roman に対して割当てられた日本語文字列を表示します。 (UNIX)

roman を省略すると、 現在登録されている全てのローマ字かな変換テーブルを一覧表示します。

pushd [dir]
カレントディレクトリをディレクトリスタックの一番上に積み、 fd 内のカレントディレクトリを dir に移動します。 パス名として ".", "?", "-", "@" を指定すると、 LOG_DIR と同様の挙動が得られます。 symbolic リンクを辿るか否かは組込みコマンド setphysical オプションに従います。

dir を省略すると、 ディレクトリスタックの一番上のディレクトリに移動し、 そのスタック内容をカレントディレクトリに入れ換えます。 その場合、 ディレクトリスタックが空の時には失敗します。

pwd [-LP]
カレントディレクトリを絶対パス表記で出力します。 -L が指定されると、 symbolic リンクを辿った論理的なパス名を出力します。 -P が指定されると、 symbolic リンクを含まない物理的なパス名を出力します。 どちらも指定しない時は、 組込みコマンド setphysical オプションに従います。
read [-N] [NAME ...]
標準入力から一行読込み、 その文字列を内部変数 NAME に代入します。 入力文字列は IFS で区切って単語毎に分割されます。 NAME が複数指定されていた場合は、 行の先頭の単語から順に一つずつ代入され、 最後の NAME に残り全部が代入されます。 入力行の中の単語数が NAME の数に満たない場合は、 余った NAME にはナルが定義されます。

-N が指定されると、 改行を CR-NL (\r\n) と見なして一行読込みます。

readline [prompt]
端末入力から一行読込み、その文字列を標準出力に出力します。 prompt が指定された場合には入力行の先頭にその文字列を表示してから入力を開始します。 常に端末からの入力になり、 また行編集機能がある点で組込みコマンド read と異なります。 行編集機能のうちヒストリ機能は使えませんがパス名補完機能は使えます。
readonly [NAME[=[value]] ...]
内部変数 NAME を読込み専用にします。 これ以降、 NAME の値を変更することはできなくなります。 値の定義も同時に行ないたい場合は、 value を指定して下さい。

= のみ記述して value を省略すると、 内部変数 NAME の値としてナルを定義します。 引数なしで実行された場合は、 現在読込み専用にされている内部変数の一覧を表示します。

rd dir
ディレクトリ dir を削除します。 中身が空でないディレクトリは削除できません。
rmdir dir
rd と同じ。 (DOS)
ren old new
rename old new
ファイル名またはディレクトリ名 oldnew に変更します。 oldnew にワイルドカードを指定して複数のファイル名を一括して変更することもできます。
rem [arg ...]
何もしません。 : と同等です。
return [n]
n で指定された返り値で関数を終了します。 n を省略した場合は直前に実行したコマンドの終了ステータスを返り値とします。 関数の外では使えません。
savetty [-n]
現在の端末設定を保存します。 保存された端末設定は以降の EXECUTE_SH コマンド実行時に復元されます。 stty(1) 等で端末設定を変更した場合には、 このコマンドでその設定を保存しないと以降の EXECUTE_SH 実行時には設定がリセットされます。 また、 端末設定の変更とこのコマンドが同じコマンドラインにないと、 リセットされた設定を保存してしまいますので注意して下さい。 -n が指定された場合は保存された端末設定を破棄します。 (UNIX)
set [--abCefhkmntuvx] [-o option] [arg ...]
引数なしで実行された場合は、 内部変数と関数の一覧を表示します。 arg が指定された場合は arg を位置パラメータ $1, $2, ..., $n に順次代入します。 オプションが指定された場合は各々以下のような意味を持ちます。 各オプションパラメータは、 - の代わりに + を用いると、 各々のオプションをオフにします。
-a
内部変数が定義されると自動的に export します。
-b
バックグラウンドジョブが終了した時点で、 直ちに状況通知を表示します。 ジョブ制御が有効でない場合は意味を持ちません。
-C
ファイルへのリダイレクト時に、 既存ファイルに対し上書きをしないようにします。
-e
コマンドが 0 以外の終了ステータスを返した時に即座に終了します。
-f
ワイルドカードの展開を抑制します。
-h
コマンドハッシュを先読みして登録します。 また、 関数が定義された時点で、 その中で使われているコマンドを先読みしてコマンドハッシュに登録します。 コマンドハッシュ自体は -h オプションに拘らず常に有効になっています。
-k
NAME=[value] 形式の変数定義がコマンドライン文字列の先頭以外にある場合も変数定義として扱います。
-m
ジョブ制御を有効にします。 このオプションはデフォルトで有効になっています。 (UNIX)
-n
コマンド入力を読込むだけで実行しません。
-o option
option には以下の識別子が有効です。
allexport
-a と同等です。
autosavetty
-S と同等です。
emacs
EDITMODE=emacs と同等です。
errexit
-e と同等です。
hashahead
-h と同等です。
ignoreeof
対話型シェルの場合、 EOF を入力してもシェルを終了しないようにします。
keyword
-k と同等です。
monitor
-m と同等です。
noclobber
-C と同等です。
noexec
-n と同等です。
noglob
-f と同等です。
notify
-b と同等です。
nounset
-u と同等です。
onecmd
-t と同等です。
physical
-P と同等です。
ptyshell
-T と同等です。
verbose
-v と同等です。
vi
EDITMODE=vi と同等です。
xtrace
-x と同等です。
option が省略されると、 現在のオプション設定値を一覧表示します。
-P
cdpwd コマンドで、 symbolic リンクを辿った論理的なディレクトリ構造を用いる代わりに、 物理的なディレクトリ構造を用いるようにします。
-S
コマンド入力行を処理する度に自動的に組込みコマンド savetty を実行します。 意図的に端末設定を操作した時以外も無条件に端末設定を保存するので、 意図しない端末設定が保存されてしまった場合は手動で正しい端末設定に戻す必要があります。 (UNIX)
-T
fdsh を疑似端末モードで起動します。 この状態から更に疑似端末を起動することはできません。 起動時オプションまたは初期設定ファイル内で設定された場合のみ有効です。 非対話型シェルとして起動された場合は、 起動時オプションで設定された場合のみ有効です。 また、 fd として起動された場合はこのオプションは無視されます。 (UNIX)
-t
現在のコマンド入力行を実行し終えた時点で即座に終了します。
-u
未定義の変数が参照された場合にエラーとして扱います。
-v
コマンド入力を読込む度にその入力文字列を表示します。
-x
コマンド実行時にそのコマンド文字列を表示します。
--
オプションの終わりを示します。 何の変更もしません。
setdrv c device hd sc cl
MS-DOS フロッピーを扱うドライブ名 cdevice で表されるデバイスファイルを指定します。 同時に、 device のドライバで扱うフォーマットの ヘッド(サイド)数、セクタ数、シリンダ(トラック)数を、 それぞれ hd, sc, cl で指定します。 特殊な例として、720KB2DD(hd=2/sc=9/cl=80) しか扱えない ドライバで 640KB2DD(hd=2/sc=8/cl=80) のフロッピーを扱いたい場合、 sc の値として 100 加えた値(108)を指定します。 (UNIX)

PC 上で動作する PC-UNIX 環境では、 hd, sc, cl の代わりに文字列 HDD もしくは HDD98 を指定することで、 MS-DOS フロッピーではなく、 それぞれ PC/AT 互換機用と PC-98x1 用の ハードディスクの MS-DOS パーティションを登録することができます。 この場合、 デバイスファイルにはパーティション (スライス) 単位のデバイス名ではなく、 物理ドライブ装置単位のデバイス名を記述します。 ドライブ装置に含まれる MS-DOS パーティションが、 ドライブ名 c 以降のドライブ名に自動的に展開されます。 指定ドライブ装置に MS-DOS パーティションが含まれていなかった場合には、 このコマンドは無視されます。 どのドライブ名が有効になったかは、 printdrv コマンドで確認できます。 但し、安全のため、ハードディスクは読込専用で登録されます。

setroman [-c] [-r] [-f file] [roman [kanji]]
かな漢字変換入力モードで用いるローマ字かな変換テーブルを設定します。 ローマ字文字列 roman に対して、 日本語文字列 kanji を割当てます。 roman は 1byte 文字のみから構成される文字列で、 4 文字を越える部分は無視されます。 kanji は 2bytes 文字または 1byte 文字から構成される文字列で、 2 文字を越える部分は無視されます。 この場合、 2bytes 文字も 1byte 文字も等しく 1 文字と数えます。 (UNIX)

kanji を省略すると、 ローマ字文字列 roman に対するローマ字かな変換テーブルの割当て登録を削除します。 -c を指定するとローマ字かな変換テーブルをクリアして空にします。 -r を指定するとこれまでの割当て登録をリセットしてローマ字かな変換テーブルを初期状態に戻します。 -f を指定すると、 file で示されるファイルからローマ字かな変換テーブルの割当てを読込みます。 この場合、 file には各行に romankanji の組を空白文字で区切って記述して下さい。 または printroman の出力をそのまま収めたファイルでも構いません。

shift [n]
$n+1 以降の位置パラメータを $1 から順に再設定します。 元の $1 から $n までの位置パラメータは破棄されます。 n を省略した場合は 1 が指定されたものと見なされます。
socketinfo [-apAP] [fd]
fd で表されるファイルディスクリプタがソケットの場合、 接続されているリモートホストの IP アドレスと TCP ポート番号、 及び接続されているローカルホストの IP アドレスと TCP ポート番号を標準出力に出力します。 fd がソケットでない場合は失敗します。 (UNIX)

fd を省略すると標準入力を指定したものと見なされます。 -a を指定するとリモートホストの IP アドレスのみを出力します。 -p を指定するとリモートホストの TCP ポート番号のみを出力します。 -A を指定するとローカルホストの IP アドレスのみを出力します。 -P を指定するとローカルホストの TCP ポート番号のみを出力します。

test [expr]
[ expr ]
条件式 expr を評価します。 test(1) を参照して下さい。
times
これまでに実行されたプロセスのユーザ及びシステム積算時間を表示します。
trap [com] [n ...]
fd がシグナル n を受取った際にコマンド com が評価され実行されます。 com が省略された場合はそのシグナルに対するトラップは元の状態に戻されます。 com の値としてナルが指定された場合はそのシグナルは無視されます。 n の値として 0 を指定するとコマンド com は終了時に実行されます。 comn も省略した場合は登録されているトラップの一覧を表示します。
true
終了ステータス 0 を返すだけで何もしません。
type [com ...]
各々の com がコマンド名として使用された場合にどう扱われるかを表示します。
ulimit [-SH] [-a | -cdflmnstv] n
fd 及びその子プロセスが利用できるリソースの制限を n で表される値に設定します。 n には文字列 unlimited もしくは数値を用い、 unlimited は指定可能な最大値を意味します。 (UNIX)

-H を指定するとハードな制限を設定します。 -S を指定するとソフトな制限を設定します。 どちらも指定しないと両方の制限を設定します。 n を省略すると現在の設定値を表示します。 -a を指定すると全ての制限に対して設定値を表示します。

以下のオプションを指定するとそれぞれの制限を個々に設定もしくは表示します。 これらのオプションがどれも指定されていない場合は、 -f が指定されたものと見なします。

-c
コアファイルサイズの最大値。(ブロック単位)
-d
データセグメントの最大値。(KB 単位)
-f
ファイルサイズの最大値。(ブロック単位)
-l
メモリロックの最大値。(KB 単位)
-m
プロセスサイズの最大値。(KB 単位)
-n
同時にオープンできるファイル数の最大値。
-s
スタックサイズの最大値。(KB 単位)
-t
CPU 時間の最大値。(秒単位)
-v
仮想メモリの最大値。(KB 単位)
umask [nnn]
ファイル生成マスク値を nnn に設定します。 nnn を省略した場合は現在のファイル生成マスク値を表示します。 umask(2) を参照して下さい。
unalias name
エイリアス name の定義を取消します。 name にはワイルドカードを用いることが可能で、 その場合にはマッチする全てのエイリアス定義を取消します。 "*" を指定すれば、全エイリアス定義が無効になります。
unset [NAME ...]
各々の NAME に対して定義されている内部変数や関数の定義を削除します。 但し下記の変数定義は削除できません。
 PATH      PS1       PS2       IFS
 MAILCHECK PPID
 
unsetdrv c device hd sc cl
既に登録されているフロッピードライブの登録を削除します。 device, hd, sc, cl の全てが一致した登録のみ削除されるので、 よく確認して削除して下さい。 (UNIX)

setdrv 時に HDD または HDD98 で登録した場合には、 hd, sc, cl の代わりにそれぞれ HDD 及び HDD98 を記述します。

wait [pid | job]
プロセス番号 pid で表されるプロセスまたは job で表されるジョブを待ち、その終了ステータスを返します。 pidjob も指定しない場合はカレントジョブを待ちます。 (UNIX)
yesno [prompt]
端末入力から y または n の入力を待ち、 y が入力された場合には 0 を、 n が入力された場合には 255 をそれぞれ返します。 y または n を入力する代わりに表示されている [Y/N] の文字をカーソルで選んで [Return] を押すと、 選択された文字を入力したことになります。 [Space] または [Esc] の入力は n を入力したことになります。 prompt が指定された場合には [Y/N] の表示の前にその文字列を表示します。
COMMAND [arg]
fd の持つ内部コマンド COMMAND を実行します。 COMMAND には、各コマンド識別子を記述します。 以下の内部コマンドでは、 パラメータを引数 arg として記述できます。
CUR_UP
CUR_DOWN
CUR_RIGHT
CUR_LEFT
ROLL_UP
ROLL_DOWN
WIDEN_WINDOW
NARROW_WINDOW
行数、桁数またはページ数。
RENAME_FILE
PACK_FILE
BACKUP_TAPE
ファイル名。
LOG_DIR
MAKE_DIR
INFO_FILESYS
UNPACK_FILE
ディレクトリ名。
EXECUTE_SH
コマンド文字列。
MARK_FIND
FIND_FILE
FIND_DIR
検索文字列。
MARK_ALL
0 で全ファイルのマークを解除、 それ以外で全ファイルにマーク。
SORT_DIR
内部変数 SORTTYPE に使用する数値。
EDIT_CONFIG
編集する内部変数名。

上記の各登録文字列内の ~$ は展開されますが、 " の代わりに ' で括られた文字列内では、 これらの展開が抑制されます。

ツリー表示画面

ツリー表示画面では、 ファイルシステム全体の構造をツリーで表すには時間がかかり過ぎるので、 最初は直系の親に当たるディレクトリと、 カレントディレクトリ直下のサブディレクトリのみ表示します。 直系の親に当たるディレクトリでは、 その他のサブディレクトリ(あった場合)を "..." で一括して表します。 このように一括表示されたサブディレクトリでは、 カーソルがその位置に来ると自動的に展開するようになっています。

まだその内部を展開していないサブディレクトリには、 ファイル名の後ろに '>' をつけてその旨を表記します。 このようなディレクトリは、明示的に展開を要求しない限りは展開しないので、 展開されていないサブディレクトリ下に移動したい場合は 下記に示すキー入力により展開してから移動して下さい。

ツリー表示モードでは、以下のキー入力が有効です。

,
カーソル移動
カーソル位置のサブディレクトリの展開
Tab
カーソル位置のサブディレクトリの展開(再帰的)
PageUp, PageDown
半画面分のカーソル移動
Home(<), End(>)
ツリーの先頭、最後尾にカーソル移動。
?
カレントディレクトリにカーソル移動。
Bs
親ディレクトリにカーソル移動。
カーソル位置のサブディレクトリの一括化。 または親ディレクトリにカーソル移動。
(, )
同じ階層のサブディレクトリで、前(次)のディレクトリにカーソル移動。
A - Z
そのキーの文字及びその子文字を頭文字とするような 名前を持つディレクトリにカーソル移動。
l
ツリー表示ディレクトリの変更。 フロッピードライブへの移動も行なえます。
^L
ツリー構造の再描画
Return
ディレクトリの選択
Esc
キャンセル

なお、再帰的にディレクトリの展開を行なっている時など、 マシンの処理が遅くてフリーズしているように見える場合があるかも知れません。 このような場合には、処理中に何らかのキーを入力して下さい。 ディレクトリの展開中にキー入力を認めた場合、 途中であってもその時点でディレクトリの展開を中止します。 キーリピートが効き放しになった場合でも、 この機能のおかげで処理が溜らないようになっています。

アーカイブブラウザ

アーカイブブラウザの登録されている拡張子のファイル位置でランチャを起動すると、 アーカイブブラウザ画面になります。 この画面では、通常のディレクトリ内と同じように、 アーカイブファイル内のファイルをブラウジングしていくことができます。 但し、この画面では以下の内部コマンドは使用できません。
 LOG_TOP        ATTR_FILE      COPY_FILE      MOVE_FILE
 DELETE_FILE    DELETE_DIR     RENAME_FILE    MAKE_DIR
 WRITE_DIR      TREE_DIR       EDIT_FILE      LOG_TREE
 COPY_TREE      MOVE_TREE      FIND_DIR       ATTR_DIR
 SYMLINK_MODE   DOTFILE_MODE   FILEFLG_MODE   SPLIT_WINDOW
 

また、新しいアーカイブブラウザを登録したい場合、 以下のような書式でアーカイバの一覧表示形式のフォーマットを記述してやる 必要があります。 フォーマット文字列ひとつで、 一覧表示の 1 ファイル分の表示形式を表すことになります。

 %a        ファイルモードを表すフィールド
 %l        ファイルのリンク数を表すフィールド
 %u        ファイルの UID を表すフィールド
 %g        ファイルの GID を表すフィールド
 %s        ファイルサイズを表すフィールド
 %y        ファイル作成年を表すフィールド
 %m        ファイル作成月を表すフィールド
           (表示は数値でも英字 3 文字表記でもどちらでも可。)
 %d        ファイル作成日を表すフィールド
 %w        ファイル作成曜日を表すフィールド (無視されます。)
 %t        ファイル作成時間を表すフィールド
           (表示は "HH:MM:SS" 形式。分や秒はなくても可。)
 %p        ファイル作成午前午後を表すフィールド
 %B        デバイス ID のメジャー番号を表すフィールド
 %b        デバイス ID のマイナー番号を表すフィールド
 %/str/    このフィールド文字列が str のときに
           ディレクトリであることを表すフィールド
           (大文字小文字同一視。)
 %!str!    文字列 str から成るフィールドが
           0 個以上連続したもの。
           (大文字小文字同一視。)
 %f        ファイル名を表すフィールド
 %x        必要のないフィールド (無視されます。)
 %%        % 自身
 \n        改行
 Space Tab 0 個以上の空白文字もしくはタブ。
 

ここでは、 「フィールド」とは空白文字、 タブ文字または改行で分けられている領域のことを指します。 各情報を表す文字列がこれらの文字で区切られている場合は、 上記のうちそのフィールドを表す文字列をそのまま並べて記述します。 これらの文字以外で区切られている場合は、 上記の文字列をその区切り文字で区切って記述します。 また、 フィールド長を数値で表して、 %10a のように記述することもできます。 この例ではファイルモードを表すフィールドが 10 文字から成ることを表しています。 フィールド長として数値の代わりに * を用いて %*f のように記述すると、 空白文字やタブ文字を無視して行末までをひとつのフィールドと見なします。

ひとつのフィールドが、 場合によって異なる二つの意味を持つような場合は、 %{yt} のように { } で括って記述します。 この例ではこのフィールドが作成年または作成時間を示すことを表しています。 また、 一つのファイル情報が複数行から成るような場合には、 フォーマット文字列中の改行位置に \n を含めて下さい。

例として、幾つかのアーカイバの一覧表示形式のフォーマットを、 この書式で記述して挙げておきます。 ここでは見易さのため空白文字を使いますが、 各フィールド間の空白文字は無視されますのであっても無くても構いません。

`lha l'
"%9a %u/%g %s %x %m %d %{yt} %f"
`lha v' (MS-DOS)
"%f\n%s %x %x %y-%m-%d %t"
`tar tvf' (BSD)
"%9a %u/%g %s %m %d %t %y %f"
`tar tvf' (SVR4)
"%a %u/%g %s %m %d %t %y %f"

以上のフォーマットを用いて、 EXECUTE_SH の組込みコマンドもしくは 初期設定ファイルによって登録を行なえば、 デフォルトで用意してあるアーカイブブラウザ以外も使用できるようになります。 但し、アーカイブファイル内のファイルを実行したり閲覧したりするためには、 そのアーカイブファイル用のアーカイバコマンドも登録しておく必要がありますので、 注意して下さい。

一部の OS では、 環境変数 LANGjapanese を指定しておくと、 タイムスタンプの表示に "HH時 MM分 SS秒" という 日本語混在の出力をする tar(1) が存在します。 このような表示形式は fd では解析できないので、 この場合は初期設定ファイルで `export LANG=C' としておくか、 一覧表示用のコマンド記述で `LANG=C tar tvf' のように LANG を指定すると良いでしょう。

フロッピードライブ (UNIX)

ディレクトリ名の先頭に "c:" をつけて書き表すことで、 MS-DOS フォーマットのフロッピーにアクセスすることができます。 但し、フロッピードライブの登録と、 この機能を有効にするための内部変数 DOSDRIVE の設定を事前に行なっておくことが必要です。

登録された各ドライブは、ドライブ名によって区別されます。 物理的に異なるドライブには必ず異なるドライブ名をつけて下さい。 同一のドライブで複数のフォーマットに対応している場合は、 それぞれのフォーマットの登録を同じドライブ名で行なっても構いませんし、 それぞれ異なるドライブ名で行なっても構いません。 同じドライブ名をつけられた場合には、 登録されている順番にフォーマットの適合を試みますので、 よく使うフォーマットの登録を先に持ってきた方が良いでしょう。

フロッピードライブはドライブ単位でカレントディレクトリを持っています。 この初期値はルートディレクトリで、 フロッピーを入れ換えるとカレントディレクトリは 再びルートディレクトリに戻ります。 ディレクトリ名として ':' の後ろを '/' で始めると、 そのドライブの絶対パス表記になります。 この '/' がないと、そのドライブのカレントディレクトリからの 相対表記と見なされますので注意して下さい。

但し、 WRITE_DIR, INFO_FILESYS など一部の内部コマンドは、 フロッピードライブに対応していませんのでご了承下さい。 また、ファイル名長などの制限から、 UNIX 上のファイルをコピーした場合に名前が変更される場合があります。

ドライブ名として小文字を用いると、 MS-Windows format floppy の Long File Name (LFN) が扱える フロッピードライブとしてアクセスできます。 この場合、UNIX 上の長いファイル名もそのままコピーすることができます。 但し、UNICODE 変換テーブル fd-unicd.tbl が、起動された fd の存在するディレクトリにない場合は、 漢字のファイル名は LFN 形式では扱えません。 逆に、大文字のドライブ名を用いると、 LFN を無視して 8+3 形式のファイル名を扱います。 このドライブ名の大小による仕様は、 MS-DOS 版にもそのまま継承されています。

URL ドライブ (UNIX)

ディレクトリ名として URL 文字列を用いることで、 ネットワーク上のリモートサービスにアクセスすることができます。 URL の書式は scheme://[user[:password]@]host[:port]/directory/ です。 scheme には ftp または http が指定できます。 host にはリモートホストの名前または IP アドレスを指定します。 port には TCP ポート番号を指定します。 port を省略すると既定ポート番号を用います。 ftp の既定ポート番号は 21http の既定ポート番号は 80 です。 user 及び password には、 リモートホストに接続するためのアカウント情報を記述できます。 user を省略すると、 ftp の場合は anonymous FTP による接続を行ない、 http の場合は必要に応じてユーザに問い合わせを行ないます。 password を省略すると必要に応じてユーザに問い合わせを行ないます。 但し、 この機能を有効にするための内部変数 URLDRIVE の設定を事前に行なっておくことが必要です。

なお、 FTP や HTTP のプロトコル上の制限もしくはホスト側の設定により、 一部の内部コマンドは URL ドライブに対応していませんのでご了承下さい。

文字列の入力

パス名などの文字列を入力する場合には、 以下のキー入力が有効です。 参照される履歴の種類は要求される入力文字列によって異なります。 ウィンドウ分割モードでは、 もう一方のウィンドウのカレントディレクトリが常にパス名履歴の先頭にあります。
,
カーソル移動。
,
これまでの履歴 (コマンド及びパス名のみ) の参照。 またはカーソル移動。
Beg
文字列の先頭にカーソル移動。
Eol
文字列の最後尾にカーソル移動。
Ins
挿入モードと上書モードの切替え。(起動時は挿入モード)
Del
カーソル位置の一文字を消去。
Bs
カーソル直前の一文字を消去。
DelLine
カーソル以降の文字列全てを消去。
InsLine
後続の入力文字をそのまま入力文字として扱います。 コントロール文字の入力に有効です。
Enter
現在のカーソル位置のファイル名を取込。
PageUp
カーソル位置の英文字を大文字に。
PageDown
カーソル位置の英文字を小文字に。
Tab
カーソル位置でパス名、コマンド名もしくは内部変数名の補完。
選択候補が複数ある場合には、 連続して入力することにより選択候補リストが表示されます。 内蔵シェルのコマンドライン以外では、 この選択候補リストの中からカーソルキーと [Return] を使って候補の選択ができます。
^L
入力文字列の再描画。
^S, ^R
これまでの履歴 (コマンド及びパス名のみ) のインクリメンタルサーチを行います。
Return
入力決定。 または補完選択候補リスト内での候補決定。
Esc
キャンセル。

また、入力された文字列は、評価される直前に以下のような展開が行なわれます。 この展開は、コマンドマクロの文字列中でも有効です。 但し、引用符 ' で括られた文字列中においては この展開は抑制されます。

~
ファイル名の先頭にあって、ユーザ本人のホームディレクトリを指します。
~user
ファイル名の先頭にあって、 user のホームディレクトリを指します。 (UNIX)
~FD
ファイル名の先頭にあって、起動された fd の存在するディレクトリを指します。
$NAME
${NAME}
内部変数、または環境変数 NAME の値を指します。 重複して定義されている場合は、内部変数の方が優先します。 どちらにも未定義だった場合はナルに置き換わります。 中括弧 { }NAME を後続の文字から分離します。

NAME が以下の一文字であった場合には、 シェルによって自動的に代入された値に置き換わります。

0
起動時の実行ファイル名。
[1-9]
位置パラメータ。
*
$1 で始まる全ての位置パラメータ。 "$*""$1 $2 ..." に置き換わります。
@
$1 で始まる全ての位置パラメータ。 "$@""$1" "$2" ... に置き換わります。
#
位置パラメータの数。
-
起動時オプションまたは 組込みコマンド set で設定されたオプションフラグ。
?
直前に実行されたコマンドの終了ステータス。
$
現行シェルのプロセス番号。
!
直前に実行されたバックグラウンドプロセスのプロセス番号。
${NAME:-word}
内部変数、または環境変数 NAME にナル以外の値が設定されていればその値に置き換わり、 そうでなければ word に置き換わります。
${NAME:=word}
内部変数、または環境変数 NAME にナル以外の値が設定されていればその値に置き換わり、 そうでなければ 内部変数 NAMEword を代入し、 この式自体は word に置き換わります。 但し、 位置パラメータには代入できません。
${NAME:?word}
内部変数、または環境変数 NAME にナル以外の値が設定されていればその値に置き換わり、 そうでなければ word を表示してシェルから抜けます。 word が省略された場合は、 代わりに parameter null or not set という文字列を表示します。
${NAME:+word}
内部変数、または環境変数 NAME にナル以外の値が設定されていれば word に置き換わり、 そうでなければナルに置き換わります。
${NAME-word}
内部変数、または環境変数 NAME に値が設定されていればその値に置き換わり、 そうでなければ word に置き換わります。
${NAME=word}
内部変数、または環境変数 NAME に値が設定されていればその値に置き換わり、 そうでなければ 内部変数 NAMEword を代入し、 この式自体は word に置き換わります。 但し、 位置パラメータには代入できません。
${NAME?word}
内部変数、または環境変数 NAME に値が設定されていればその値に置き換わり、 そうでなければ word を表示してシェルから抜けます。 word が省略された場合は、 代わりに parameter null or not set という文字列を表示します。
${NAME+word}
内部変数、または環境変数 NAME に値が設定されていれば word に置き換わり、 そうでなければナルに置き換わります。
${#NAME}
内部変数、または環境変数 NAME の値の文字数に置換わります。 NAME* または @ の場合は文字数でなく位置パラメータの数に置換わります。
${NAME%word}
内部変数、または環境変数 NAME の値の最後尾から word で示されるパターンに一致する最も短い部分を削除した文字列に置換わります。 NAME* または @ の場合は各々の位置パラメータについて置換えが行なわれます。 (MS-DOS 版では % の代わりに \ を用います。)
${NAME%%word}
内部変数、または環境変数 NAME の値の最後尾から word で示されるパターンに一致する最も長い部分を削除した文字列に置換わります。 NAME* または @ の場合は各々の位置パラメータについて置換えが行なわれます。 (MS-DOS 版では %% の代わりに \\ を用います。)
${NAME#word}
内部変数、または環境変数 NAME の値の先頭から word で示されるパターンに一致する最も短い部分を削除した文字列に置換わります。 NAME* または @ の場合は各々の位置パラメータについて置換えが行なわれます。
${NAME##word}
内部変数、または環境変数 NAME の値の先頭から word で示されるパターンに一致する最も長い部分を削除した文字列に置換わります。 NAME* または @ の場合は各々の位置パラメータについて置換えが行なわれます。
\c
文字 c 自身を示します。 上記の ~$ などのメタキャラを評価せずにそのまま文字として使いたい時に用います。 \ 自身は "\\" と表します。 但し、MS-DOS 版では、パス名デリミタに用いられる \ は通常文字と同様に処理されなくてはならないため、 便宜上 %c の形で \ の代用とします。

以降は EXECUTE_SHEXECUTE_FILE で実行されるシェル内でのみ置き換えられます。

`list`
list を実行しその標準出力に置き換わります。
$(list)
`list` と同様に list を実行しその標準出力に置き換わります。 入れ子にして記述できる点で `list` と異なります。 また、 list に含まれる引用符などのメタキャラをそのまま評価します。
$((expression))
数式 expression を評価しその結果の数値に置き換わります。 expression には数値や変数の他、 以下の演算子を用いた整数演算を記述できます。
                   (単項)(二項)
 算術演算子   + -     + - * / %
 条件演算子   !       == != < > <= >= && ||
 ビット演算子        ~& | ^ << >>
 括弧            ( )
 
?
*
[
]
これらの文字が含まれる文字列は、 既存ファイル名とのパターンマッチングを行ない、 マッチした場合はマッチした全てのファイル名をアルファベット順にソートしたものに置き換えられます。
?
/ 以外の任意の一文字とマッチします。
*
/ を含まない 0 個以上の任意の文字列とマッチします。
**
/ を含む 0 個以上の任意の文字列とマッチします。
[...]
[ ] で囲まれた文字のうち任意の一文字とマッチします。 囲まれた文字に - が含まれる場合、 - の両端の文字間の文字コードを持つ全ての文字にマッチします。
[!...]
[ ] で囲まれた文字以外の任意の一文字とマッチします。

但し、 ファイル名部分の先頭の一文字が . であった場合は、 ?* はマッチしません。

編集モード

カーソルキーやスクロールキーなど、 特殊機能キーに割り当てられている機能を利用したい場合、 端末の設定によっては対応するキーが存在しないこともあります。 そのような場合、内部変数 EDITMODE に文字列を設定することで、 コントロール文字をこれらの特殊キーの代わりに用いることができます。 また、これらの代替キー機能は、 組込みコマンドによるキー割当て変更に優先しますので、 ここで代替キーとして用いられているコントロール文字については キー割当ての変更が無効になります。 用意されている編集モードは以下の 3 つです。
emacs
 ^P   =      ^A   = Beg
 ^N   =      ^E   = Eol     ^D   = Del
 ^F   =                     ^Q   = InsLine
 ^B   =                     ^K   = DelLine
 ^V   = PageDn  ^Y   = PageUp  ^O   = Enter
 ^M   = Return  ^I   = Tab     ^H   = Bs
 ^[   = Esc     ^G   = Esc
 
wordstar
 ^E   =      ^A   = Beg     ^V   = Ins
 ^N   =      ^F   = Eol     ^G   = Del
 ^F   =      ^W   = Home    ^]   = InsLine
 ^S   =      ^Z   = End     ^Y   = DelLine
 ^C   = PageDn  ^R   = PageUp  ^N   = Enter
 ^M   = Return  ^I   = Tab     ^H   = Bs
 ^[   = Esc
 
vi
vi モードは 「挿入モード」と「コマンドモード」の 2 つのローカルモードを持ち、 それぞれのモードでキーの機能が全く異なります。 入力開始時はコマンドモードにいるので、 一般のキー入力を行なうには 挿入モードへ移行する 4 種類のキーのいずれかを入力する必要があります。
 (コマンドモード)
 k    =      0    = Beg
 j    =      $    = Eol     x    = Del
 l    =      g    = Home
 h    =      G    = End     D    = DelLine
 ^F   = PageDn  ^B   = PageUp  o    = Enter
 ^M   = Return  ^I   = Tab     ^H   = Bs
 ^[   = Esc
 (コマンドモードから挿入モードへ)
 i, : = モードの移行のみ
                I    = + Beg
 a    = +    A    = + Eol
 R    = 上書  r    = 一文字上書
 (挿入モード)
 ^V   = InsLine Esc  = コマンドモードへ
 
かなり特殊なキー割当てなので、 日常的に vi エディタを用いていない人には不向きでしょう。

かな漢字変換入力 (UNIX)

文字列入力時に IMEKEY で指定したキーを入力するか、 もしくは疑似端末メニューから「漢字」を選択すると、 かな漢字変換入力モードでの文字列入力ができます。

変換性能は、 かな漢字変換辞書 fd-dict.tbl に依存し、 この辞書ファイルが fd の存在するディレクトリにない場合は、 漢字への変換はできません。 また、 標準でインストールされる辞書ファイルは単漢字辞書なので、 この辞書ファイルを使う限りは単漢字変換しかできませんが、 pubdic 等の品詞情報を含んだ辞書を用意することで単文節変換が可能です。 連文節変換には対応していません。

かな漢字変換入力モードでは、 以下のキー入力が有効です。

Space
漢字への変換。 または次の変換候補の選択。
,
,
変換候補リスト中でのカーソル移動。
Bs, Del
カーソル直前の一文字を消去。
Tab
平仮名、片仮名、半角カナ、及び直接入力の切替え。
^L
入力文字列の再描画。
Return
変換結果の確定。
Esc
キャンセル。

英字大文字一文字の後ろに 4 桁の十六進数を大文字で続けた文字列を変換すると、 先頭の英文字に応じてそれぞれ以下の漢字コードを表す十六進数と見なして、 その漢字コード番号近辺の漢字を選択するメニューが表示されます。

S
Shift JIS
E
EUC 漢字
J
JIS コード (JIS X0208)
K
区点コード
U
UNICODE (UCS2)
また、かな文字を変換せずに確定した状態で [Space] を入力すると、 JIS コード一覧の中からそのかな文字で始まる読みの漢字を選択するメニューが表示されます。

パラメータマクロ

コマンドマクロの登録、及びコマンド実行用に入力する文字列内では、 以下のパラメータマクロが使用できます。 但し、 関数の中や、 source コマンド用の入力ファイル、 初期設定ファイルの中では使用できませんので、 これらの中でパラメータマクロを使う必要がある場合には evalmacro コマンドを使って下さい。
%C
カーソル位置のファイル名。 但し、アーカイバコマンド登録用マクロではアーカイブファイルを指します。
%X
カーソル位置のファイル名の拡張子を除いた部分。 但し、アーカイバコマンド登録用マクロではアーカイブファイル の拡張子を除いた部分を指します。 拡張子は最後尾の一個だけ除かれます。 また、 %X に続けて T, TA, M を記述すると、 それぞれ %T, %TA, %M の拡張子を除いた部分になります。 MS-DOS 版では同様に S を続けて記述できます。
%P
カレントディレクトリのパス名。
%K
コマンド終了後、キー入力を待ってから fd に戻ります。 但し EXECUTE_FILE, EXECUTE_SH では %K の意味は逆になり、 デフォルトでキー入力を待ち %K の指定があれば入力待ちしません。 また、ランチャのアーカイブブラウザ登録用マクロや、 アーカイバコマンド登録用マクロでは、 無条件にキー入力待ちはできません。
%T
マークファイルを可能な限り空白で区切って羅列します。 ファイルが多くてコマンド行が 1023 文字を越えるような場合には、 残りのマークファイルは無視されます。
%TA
%T と同様にマークファイルを羅列しますが、 コマンド行から溢れたファイルは、 再度同じコマンドを実行することで、 マークの最後までファイル名が渡されます。
%M
マークファイルを一個ずつ渡し、 マークの数だけ同じコマンドを順々に実行します。 MARK_FIND で検索マークしてから、 EXECUTE_SH で "mv %M %XM.bak" などとすると便利でしょう。
%N
パラメータが省略された場合のファイル名の追加を抑制します。
%R
マクロ実行時に、コマンド文字列の長さに余裕があれば、 追加でパラメータを手入力するようにします。 入力時のカーソル位置は、マクロ中で %R のあった位置になります。 但し、 ランチャのアーカイブブラウザ登録用マクロや、 アーカイバコマンド登録用マクロ、 及び EXECUTE_FILE, EXECUTE_SH では、 %R は無視されます。
%S
カーソル位置の LFN 形式のファイル名を 8+3 形式のファイル名で 置き換えたもの。 8+3 形式の引数しか使えない外部コマンドを用いる時に使います。 また、 %X と同様に、 %S に続けて T, TA, M を記述できます。 (DOS)
%JS
このマクロで囲まれた範囲の文字列の漢字コードを、 Shift JIS に変換します。 (UNIX)
%JE
このマクロで囲まれた範囲の文字列の漢字コードを、 EUC 漢字に変換します。 (UNIX)
%J7
このマクロで囲まれた範囲の文字列の漢字コードを、 7bit JIS に変換します。 (UNIX)
%J8
このマクロで囲まれた範囲の文字列の漢字コードを、 8bit JIS に変換します。 (UNIX)
%JJ
このマクロで囲まれた範囲の文字列の漢字コードを、 ISO-2022-JP に変換します。 (UNIX)
%JH
このマクロで囲まれた範囲の文字列の漢字コードを、 HEX に変換します。 (UNIX)
%JC
このマクロで囲まれた範囲の文字列の漢字コードを、 CAP に変換します。 (UNIX)
%JU
このマクロで囲まれた範囲の文字列の漢字コードを、 UTF-8 に変換します。 (UNIX)
%JM
このマクロで囲まれた範囲の文字列の漢字コードを、 Mac OS X 用の UTF-8 に変換します。 (UNIX)
%JI
このマクロで囲まれた範囲の文字列の漢字コードを、 iconv 用の UTF-8 に変換します。 Linux 等 iconv ベースの UTF-8 を利用している環境で使われているコードです。 (UNIX)
%JA
このマクロで囲まれた範囲の文字列の漢字コードを、 その文字列で表されるパス名で使用されている漢字コードに変換します。 どのパス名でどの漢字コードが使用されているかは、 変数 SJISPATH, EUCPATH 等で指定します。 (UNIX)

コマンドマクロ内でパラメータマクロを展開した結果、 %C%T などによるファイル名パラメータが一つも渡されなかった場合、 自動的に展開された文字列の最後尾には、 カーソル位置のファイル名が ./filename の形で追加されます。 コマンド実行用の入力文字列の場合、 もしくは %N マクロがあった場合には、 そのようなファイル名の追加は行なわれません。

カスタマイズ

fd のカスタマイズには、以下のような方法があり、 複数の方法で重複して指定された場合には、この順で優先されることになります。
EXECUTE_SH の組込みコマンド実行
各種登録用組込みコマンドを実行することで、 内部変数定義、環境変数定義、エイリアス定義、関数定義、 キー割当て、キーマップ変更、 ランチャ登録、アーカイバコマンド登録、フロッピードライブ登録が可能です。
カスタマイザ
EDIT_CONFIG コマンドにより、 内部変数定義、キー割当て、キーマップ変更、 ランチャ登録、アーカイバコマンド登録、フロッピードライブ登録が可能です。
コマンドラインオプション
コマンドラインのオプションに、 `-NAME=value' の形式で値を渡すことにより、 内部変数の定義が可能です。
.fd2rc
実効ユーザのホームディレクトリにある初期設定ファイル .fd2rc を用意しておくことで、 fd の実行に先だってこのファイルに書かれたコマンドが実行されます。 組込みコマンドや外部コマンドを記述し、 各設定を行なうことが可能です。 但し、 ログインシェルとして fdsh が起動された場合は、 .fd2rc の代わりに .fdshrc が読込まれます。

また、 .fd2rc.fdshrc の読込みに先だって、 システム管理者による初期設定ファイル /etc/fd2rc が読込まれます。 このファイルがある場合、 .fd2rc.fdshrc で意図的に登録を削除しない限り、 システム管理者の用意した初期設定が有効になります。

(MS-DOS 版ではそれぞれのファイル名は $HOME\fd2.rc, $HOME\fdsh.rc 及び ~FD\fd2rc となります。)

環境変数
内部変数に定義して有効な変数は、 予め環境変数として定義しておいても有効です。 但し、 fd 内では常に内部変数の方が優先されます。 また、 同じ名前の環境変数が他のアプリケーションでも使われている場合、 fd 用に別の定義をしておきたければ、 各々の環境変数名の前に FD_ の 3 文字を冠したものも同じ用途に使用できます。 この FD_ を冠した環境変数は、冠していない環境変数よりも常に優先されるので、 FD_ のない内部変数の定義よりも、 FD_ を冠した環境変数の方が有効になります。

カスタマイザ

EDIT_CONFIG コマンドにより、 対話的に設定変更を行なうカスタマイザが起動します。 カーソルキーの左右でカテゴリを選び、 上下で項目を選んだ後、 [Return] でその内容を変更します。 変更が終わったら、 [Esc] でカスタマイザを終了します。

カテゴリには以下のようなものがあります。

内部変数
内部変数の値を変更します。 変数により値の入力方法が異なりますので、 画面説明に従って入力して下さい。
キー割当て
各キーに割当てる機能を変更します。 割当ての無いキーに新規に機能を割当てる場合には、 「新規登録」を選んで下さい。 「割当て削除」を選ぶと既存のキー割当てを削除します。
キーマップ
各種機能キーのキーコードマッピングを変更します。 キーを押すように指示されたところで [Esc] を押すと、 既存のキーマップを削除します。 (UNIX)
ランチャ
各拡張子に対するランチャ登録を変更します。 登録のない拡張子に新規にランチャを登録する場合には、 「新規登録」を選んで下さい。 ランチャ用コマンド入力の際に空行を入力すると、 既存のランチャ登録を削除します。
アーカイバ
各拡張子に対するアーカイバコマンド登録を変更します。 登録のない拡張子に新規にアーカイバコマンドを登録する場合には、 「新規登録」を選んで下さい。 圧縮用コマンド入力と伸長用コマンド入力の際に両方とも空行を入力すると、 既存のアーカイバコマンド登録を削除します。
DOS ドライブ
フロッピードライブ登録を変更します。 未設定のドライブ名に新規にフロッピードライブを登録する場合には、 「新規登録」を選んで下さい。 デバイス名入力の際に空行を入力すると、 既存のフロッピードライブ登録を削除します。 (UNIX)
保存
カスタマイザでの設定変更をファイルに保存したり、 設定を破棄して元の状態に戻したりします。
Cancel
指定されたカテゴリの範囲に含まれるこれまでの設定変更を破棄し、 カスタマイザを起動する前の状態に戻します。
Clear
指定されたカテゴリの範囲に含まれる全ての設定を破棄し、 デフォルト状態に戻します。
Load
指定ファイルから設定を読込みます。
Save
指定されたカテゴリの範囲に含まれる全ての設定を、 指定ファイルに保存します。
Overwrite
指定されたカテゴリの範囲に含まれる全ての設定を、 指定された既存ファイルに上書き保存します。 ファイルに元々存在していた設定を構文解析し、 同じ対象の設定はできるだけ同じ場所に上書きします。 現在設定されていないものやカスタマイザ対象外のものは、 既存ファイルのものをそのまま残します。

カテゴリの範囲を指定する際には、 初期状態では全てのカテゴリが選択されているので、 [Space] で選択の on/off を切替えて [Return] で決定します。

設定変更をした後、 保存せずにカスタマイザを終了しようとすると、 保存しないままで終了して構わないかどうかを確認してきます。 保存しないまま終了しても設定変更は有効ですが、 次に fd を起動する時にも有効にしたい場合は、 初期設定ファイルに保存しておく必要があります。

環境変数

fd では以下の環境変数が有効です。 これらの環境変数は、すべて内部変数として定義することも可能です。 また、 `-NAME=value' の書式でコマンドラインオプションとして与えることもできます。 但し、 変数名の後ろに * のついているものは、 環境変数として FD_ の 3 文字を冠して利用することができません。
ADJTTY
fd を終了する時に、端末モードを正常な状態に強制的にリセットします。 端末が文字化けするような状態を、 fd を起動することで正しく調整することができます。 0 かナル以外の値であれば、何を定義しても有効です。 (UNIX)
ANSICOLOR
ファイル表示をカラー化します。 使用している端末が、 ANSI 規格のカラー制御エスケープシーケンス対応している場合、 ファイルタイプに応じて色別に表示させることができます。 値を 1 にするとカラー画面になります。 文字色が背景色と同色で区別のつかない場合、 値を 2 にすると背景色を強制的に黒色にします。 また、 値を 3 にすると表示色を強制的に黒色にします。
ANSIPALETTE
ファイル表示がカラー化されている場合に、 各ファイルタイプに応じてどのような配色にするかを指定します。 この変数値は最大 11 桁の数値で構成されます。 それぞれの桁の数字は色番号を表し、 各桁に対応するファイルタイプの配色をその番号で表される色に指定します。 桁番号とファイルタイプの対応は以下のとおり。
 1    一般のファイル
 2    背景
 3    ディレクトリ
 4    書込み禁止ファイル
 5    読取り禁止ファイル
 6    symbolic リンク
 7    ソケット (MS-DOS ではシステムファイル)
 8    FIFO (MS-DOS ではラベル)
 9    ブロックデバイス
 10   キャラクタデバイス
 11   実行ファイル
 
また、 各桁に指定する色番号の意味は以下のとおり。
 0123    黄色
 456    水色
 78    文字の既定色
 9    背景の既定色
 
色番号 8 は変数 ANSICOLOR の値が 3 の時に強制的に黒色になります。 色番号 9 は変数 ANSICOLOR の値が 2 の時に強制的に黒色になります。
桁が 11 桁に満たない場合やこの変数が設定されていない場合は、 後ろの桁に相当するファイルタイプには標準の配色が用いられます。 標準の配色は、 上記の色番号で表現すると 89624351888 になります。
AUTOUPDATE
ブラウザ画面またはツリー表示画面を自動的に更新する間隔を秒数で指定します。 ここで指定した秒数の間キー入力が途絶えると、 表示されているファイル一覧情報を最新のものに更新します。 0 を指定すると自動更新しません。 デフォルト値は 0 です。
BASICCUSTOM
カスタマイザで編集可能な設定用内部変数を基本的な変数のみに絞り、 拡張的な変数を見えなくします。 0 かナル以外の値であれば、何を定義しても有効です。
CDPATH*
組込みコマンド cd の引数が / で始まっていない場合にここで指定されたパス名の中から検索するように指示します。 ':' で区切って複数の検索パス名を指定できます。 デフォルトではパス名は一つも指定されていません。
COLUMNS*
端末画面の桁数を示す変数として利用します。 何らかの値が設定されていた場合、 画面サイズの変更に応じてその値を自動的に置換えます。 何も値が設定されていない場合は設定されないままです。
COMSPEC
バッチファイルを起動する場合に用いるシェルを指定します。 未指定時には内部変数 SHELL で定義されたシェルもしくは \COMMAND.COM が用いられます。 (DOS)
COPYCMD*
組込みコマンド copy で使うデフォルトオプションを指定します。
DEFCOLUMNS
fd 起動時の画面表示列を設定します。 デフォルト値は 2 列です。 1, 2, 3, 5 以外の値を指定すると無視されます。
DEFKCODE
システム標準の漢字コードを指定します。 fd から起動される外部コマンドに渡される引数は、 ここで指定した漢字コードに変換されます。 但し、 %C%JJ などの各種マクロを用いた場合は、 それぞれのマクロに応じた漢字コードが用いられます。 このうち JIS8, JUNET, HEX, CAP 等は Samba で用いられている漢字コードです。 (UNIX)
 SJIS, sjis     Shift JIS
 EUC, euc       EUC 漢字
 JIS, jis       7bit JIS
 JIS8, jis8     8bit JIS
 JUNET, junet   ISO-2022-JP
 OJIS, ojis     7bit JIS (JIS C6226-1978 + roman)
 OJIS8, ojis8   8bit JIS (JIS C6226-1978 + roman)
 OJUNET, ojunet ISO-2022-JP (JIS C6226-1978 + roman)
 HEX, hex       HEX
 CAP, cap       CAP
 UTF8, utf8     UTF-8
 UTF8-mac, mac  Mac OS X 用 UTF-8
 UTF8-iconv     iconv 用 UTF-8
 デフォルト変換しない
 
DIRCOUNTLIMIT
ツリー表示モードで、ディレクトリ内のファイルを調べる上限数を設定します。 後ろに '>' のついたディレクトリであっても、 その中にサブディレクトリが一つもなければ、 展開してもツリー構造は変化しません。 ディレクトリ内のファイル数 (ディレクトリも含む) がこの数値以内であれば、 一つもサブディレクトリを持たないディレクトリには、 最初から '>' をつけません。 また、画面右に表示されるディレクトリ内ファイルの一覧も、 この数値を越えては表示しないようになります。 処理の遅いマシンでは、この値を 0 にしておけば、 快適な処理速度が実現できます。 デフォルト値は 50 ファイルです。
DIRCMD*
組込みコマンド dir で使うデフォルトオプションを指定します。
DIRHIST
ディレクトリ入力行で参照できる ディレクトリ履歴の数の上限を設定します。 デフォルト値は 50 個です。 この値が 0 の時にはディレクトリ履歴参照ができません。
DIRHISTFILE
ディレクトリ入力行で参照できる ディレクトリ履歴のセーブファイルを指定します。 ファイル名が未指定の場合はディレクトリ履歴はセーブもロードもされません。 デフォルト値は未指定です。
DISPLAYMODE
fd 起動時の、 ファイル一覧リストのファイル名表示形式を設定します。 symbolic リンク表示形式、ファイルタイプシンボルの表示、 及びドットファイルの非表示を、それぞれ独立に選択できます。 デフォルト値は 0 です。 設定する値は以下のとおり。
 0    標準
 1    SYMLINK
 2                 FILETYPE
 3    SYMLINK &    FILETYPE
 4                             DOTFILE
 5    SYMLINK &                DOTFILE
 6                 FILETYPE &  DOTFILE
 7    SYMLINK &    FILETYPE &  DOTFILE
 
なお、 ファイルフラグ対応の OS では、 これらの値にそれぞれ 8 を加えた値を設定することで、 ファイルフラグ表示モードを選択できます。
DOSDRIVE
MS-DOS フロッピーへのアクセス機能を有効にします。 フロッピードライブの登録がなければ、 ここで有効にしてあってもフロッピーへのアクセスはできません。 0 かナル以外の値であれば、何を定義しても有効です。

MS-DOS 版では、この変数を定義しておくことにより、 Ver. 6.xx 以前の旧 DOS でも LFN 形式のファイル名を扱えるようになります。 この場合、 フロッピードライブの登録は必要ありませんが、 OS を経由せずにディスク I/O を行なうため、 アクセス速度が落ちたり幾つかの機能が制限されたりします。
DUMBSHELL
内蔵シェルで入力行の編集を行なう際に、 コントロールシーケンスを使用しません。 内蔵シェルでは端末モードのカーソル移動機能を有効にしませんが、 コンソール端末等の場合、 この端末モードではコントロールシーケンスによってカーソル移動を行なうことができないために行編集時の表示が正しく行なわれないことがあります。 この変数を有効にすると、 コントロールシーケンスを用いずに行編集を行ないますが、 効率の悪いカーソル移動を行なうので、 若干の機能制限や反応速度の低下を招きます。 0 かナル以外の値であれば、何を定義しても有効です。
EDITMODE
キー入力の編集モードを文字列で指定します。 デフォルト値は emacs です。 emacs, wordstar, vi 以外の文字列またはナルを指定した場合、 コントロール文字は変換されずにそのまま渡されます。
EDITOR
ファイルの編集時に使用するエディタコマンドを指定します。
ENV*
fdsh として起動された場合に追加で読込む初期設定ファイルを指定します。 ファイル名はフルパスで指定する必要があります。 この値が設定されていた場合、 /etc/fd2rc を読込んだ後、 .fd2rc.fdshrc を読込む前に、 その初期設定ファイルを読込みます。 但し、 実 UID と実効 UID が異なる場合や、 実 GID と実効 GID が異なる場合には、 この値は無視されます。
FCEDIT
組込みコマンド fc で使用するエディタコマンドを指定します。
FD_VERSION
実行中の fd のバージョン文字列が代入されます。
FNAMEKCODE
ファイル名に用いる漢字コードを指定します。 ファイルアクセスを行なう時点で ここで設定した漢字コードにコンバートされますので、 ネットワーク上の漢字コードの異なるマシンから、 漢字で書かれたファイルを参照することも可能です。 また、 アーカイブブラウザや組込みコマンド browse がファイル名を取得する際にもここで指定した漢字コードに従います。 このうち JIS8, JUNET, HEX, CAP 等は Samba で用いられている漢字コードです。 (UNIX)
 SJIS, sjis     Shift JIS
 EUC, euc       EUC 漢字
 JIS, jis       7bit JIS
 JIS8, jis8     8bit JIS
 JUNET, junet   ISO-2022-JP
 OJIS, ojis     7bit JIS (JIS C6226-1978 + roman)
 OJIS8, ojis8   8bit JIS (JIS C6226-1978 + roman)
 OJUNET, ojunet ISO-2022-JP (JIS C6226-1978 + roman)
 HEX, hex       HEX
 CAP, cap       CAP
 UTF8, utf8     UTF-8
 UTF8-mac, mac  Mac OS X 用 UTF-8
 UTF8-iconv     iconv 用 UTF-8
 デフォルト変換しない
 
FTPADDRESS
URL ドライブで FTP 接続を行なう際に、 anonymous FTP 用パスワードとして用いるメールアドレスを指定します。 デフォルト値は FDclone@ です。 (UNIX)
FTPLOGFILE
URL ドライブで FTP 通信を行なう際に、 通信ログを出力するファイル名を指定します。 但し、 フルパスで指定されなかった場合やログファイルを格納するディレクトリが用意されていない場合はログ出力を行ないません。 デフォルト値は未指定です。 (UNIX)
FTPPROXY
URL ドライブで FTP 接続を行なう際に、 プロキシサーバとして用いる URL を指定します。 URL の書式は scheme://[user[:password]@]host[:port] です。 scheme には ftp または http が指定できます。 user 及び password には、 プロキシサーバに接続するためのアカウント情報を記述できます。 デフォルト値は未指定です。 (UNIX)
FUNCLAYOUT
ファンクション行のレイアウトを n * 100 + size という形式の値で指定します。 n はファンクション行に表示するファンクションキーの数を表します。 size はファンクションキーを表示するブロック単位を表します。 デフォルト値は 1005 (10 個のファンクションキーを 5 個単位でまとめて表示) です。
HIDEPASSWD
URL ドライブでパスワード入力を行なう際に、 入力文字の代わりに * を表示するのを抑制し、 何も表示しないようにします。 0 かナル以外の値であれば、何を定義しても有効です。 (UNIX)
HISTFILE
EXECUTE_FILEEXECUTE_SH で参照できるコマンド履歴のセーブファイルを指定します。 ファイル名が未指定の場合はコマンド履歴はセーブもロードもされません。 デフォルト値は ~/.fd_history です。

(MS-DOS 版でのデフォルト値は $HOME\fd.hst となります。)

HISTSIZE
EXECUTE_FILEEXECUTE_SH で参照できるコマンド履歴の数の上限を設定します。 デフォルト値は 50 個です。 この値が 0 の時にはコマンド履歴参照ができません。
HOME*
組込みコマンド cd の引数が無い場合のデフォルト値を示します。 また、 ログインシェルとして起動された場合は、 この変数が指定されているとそのディレクトリをカレントディレクトリとし、 指定されていないとホームディレクトリの値を自動的に定義します。
HTMLLOGFILE
URL ドライブで HTTP 通信を行なう際に、 受信した HTML データのログを出力するファイル名を指定します。 但し、 フルパスで指定されなかった場合やログファイルを格納するディレクトリが用意されていない場合はログ出力を行ないません。 デフォルト値は未指定です。 (UNIX)
HTTPLOGFILE
URL ドライブで HTTP 通信を行なう際に、 通信ログを出力するファイル名を指定します。 但し、 フルパスで指定されなかった場合やログファイルを格納するディレクトリが用意されていない場合はログ出力を行ないません。 デフォルト値は未指定です。 (UNIX)
HTTPPROXY
URL ドライブで HTTP 接続を行なう際に、 プロキシサーバとして用いる URL を指定します。 URL の書式は scheme://[user[:password]@]host[:port] です。 scheme には http が指定できます。 user 及び password には、 プロキシサーバに接続するためのアカウント情報を記述できます。 デフォルト値は未指定です。 (UNIX)
IFS*
フィールド区切り文字を指定します。 EXECUTE_SH でコマンドと引数とを区切るのに用いられます。 デフォルトでは空白、タブ、改行が指定されています。
IGNORECASE
ファイル名比較の際に、常に大文字小文字の違いを無視して比較します。 0 かナル以外の値であれば、何を定義しても有効です。 (UNIX)
IMEKEY
文字列入力中に、 直接入力モードとかな漢字変換入力モードを切替えるためのキーを指定します。 設定値には bind コマンドと同様のキー名を用いることができます。 デフォルト値は未指定です。 (UNIX)
IMEBUFFER
かな漢字変換テーブルをオンメモリで持ち続けるようにします。 漢字変換が高速化するので、 メモリ資源が潤沢にある環境では有用でしょう。 但し、 オンメモリで持つのは品詞情報テーブルのみなので、 品詞情報を含まない辞書ファイルを用いている場合は効果がありません。 0 かナル以外の値であれば、何を定義しても有効です。 (UNIX)
INHERITCOPY
COPY_FILE コマンド実行時に、 コピー先のタイムスタンプをコピー元のタイムスタンプに合わせます。 0 かナル以外の値であれば、何を定義しても有効です。 (UNIX)

(MS-DOS 版ではこの変数の有効無効に関わらず、 常にコピー元のタイムスタンプが継承されます。)

INPUTKCODE
キーボード入力時の漢字コードを指定します。 これら以外の設定にすると、 コンパイル時の設定による漢字コードが採用されます。 (UNIX)
 SJIS, sjis     Shift JIS
 EUC, euc       EUC 漢字
 UTF8, utf8     UTF-8
 UTF8-mac, mac  Mac OS X 用 UTF-8
 UTF8-iconv     iconv 用 UTF-8
 
LANGUAGE
表示する文字の言語を指定します。 fd の出力する各種メッセージの他、 漢字を含むファイル名に対するコード変換も行なわれます。 選択できる文字種は以下のとおりですが、 これらの文字列が含まれていれば判別しますので、 環境変数 LANG の値をそのまま用いても有効です。 このうち JIS8, JUNET 等は Samba で用いられている漢字コードです。
 SJIS, sjis     Shift JIS
 EUC, euc       EUC 漢字
 JIS, jis       7bit JIS
 JIS8, jis8     8bit JIS
 JUNET, junet   ISO-2022-JP
 OJIS, ojis     7bit JIS (JIS C6226-1978 + roman)
 OJIS8, ojis8   8bit JIS (JIS C6226-1978 + roman)
 OJUNET, ojunet ISO-2022-JP (JIS C6226-1978 + roman)
 UTF8, utf8     UTF-8
 UTF8-mac, mac  Mac OS X 用 UTF-8
 UTF8-iconv     iconv 用 UTF-8
 en, C, POSIX   英語 (メッセージのみ)
 デフォルト変換しない
 
(MS-DOS 版では英語メッセージの選択のみ有効です。)
LINENO*
現在の行番号を示します。 シェルスクリプトや関数の中以外の箇所では、 意味を持つ値である保証はありません。 また、 この値を unset したり再定義すると、 この変数の特殊な意味は失われ、 一般の変数と同等の扱いになります。
LINES*
端末画面の行数を示す変数として利用します。 何らかの値が設定されていた場合、 画面サイズの変更に応じてその値を自動的に置換えます。 何も値が設定されていない場合は設定されないままです。
LOGFILE
LOGLEVELROOTLOGLEVEL で指定したレベルのログを出力するファイル名を指定します。 フルパスで指定されなかった場合は、 実効ユーザのホームディレクトリ以下のパスと見なされます。 但し、 ディレクトリの自動作成は行なわれませんので、 ログファイルを格納するディレクトリは予め用意しておく必要があります。 デフォルト値は未指定です。
LOGLEVEL
ログファイルに出力すべき内容の優先度を指定します。 デフォルト値は 0 です。
 0       出力しない
 1       書込みなど警告レベルの出力のみ
 2       属性変更など通知レベル以上の出力
 3       参照など報告レベル以上の出力
 4 以上デバッグレベル以上の出力
 
但し、 同じ操作を行なってもその結果がエラーになった場合は、 一つレベルの低い優先度でも出力されます。
LOGSIZE
LOGFILE で指定したログファイルの最大サイズをキロバイト単位で指定します。 この値を超えると直前のログファイルを拡張子 .old を追加したファイル名に変更してから新たなログファイルを作成します。 デフォルト値は 1024(1MB) です。 この値が 0 の時にはログファイル名の変更をしません。
LOOPCURSOR
カーソル移動の際に、 カーソルが同一ページ内でループするようにします。 0 かナル以外の値であれば、何を定義しても有効です。
MAIL*
内蔵シェルがメイルの新着チェックを行なう際のスプールファイル名を示します。 MAILPATH が設定されていた場合はそちらが優先されます。 (UNIX)
MAILCHECK*
MAILPATH または MAIL で指定されたスプールファイルに対する新着チェックの間隔を秒数で指定します。 デフォルト値は 600 秒です。 0 に指定すると、 各プロンプトを表示する度に確認します。 (UNIX)
MAILPATH*
内蔵シェルがメイルの新着チェックを行なう際のスプールファイル名を : で区切って複数指定します。 ここで列挙された全てのスプールファイルに対して新着チェックが行なわれます。 各ファイル名の後ろには % に続けて新着時のメッセージを書くことができます。 メッセージ未指定時には you have mail と表示されます。 (UNIX)
MESSAGELANG
表示するメッセージの言語を指定します。 LANGUAGE の設定に優先してここで指定した言語のメッセージが表示されます。 メッセージが日本語の場合の漢字コードは LANGUAGE の設定値で決定されます。 選択できる言語は以下のとおりですが、 これらの文字列が含まれていれば判別しますので、 環境変数 LANG の値をそのまま用いても有効です。 また、 追加のメッセージカタログが用意されている場合は、 そのファイルの拡張子をカタログ名として MESSAGELANG に設定することでメッセージの切替を行なうことができます。
 en, C, POSIX   英語
 ja             日本語
 デフォルトLANGUAGE の設定値
 
MINFILENAME
ファイル一覧リスト内の、 ファイル名表示領域の最小文字数を設定します。 端末のカラム数や画面表示列によって、 ここで設定した文字数分だけの領域が確保できない場合には、 UID, GID、タイムスタンプ、サイズ、の順で情報を減じていきます。 デフォルト値は 12 文字です。
OPTARG*
組込みコマンド getopts でオプションの引数が代入されます。
OPTIND*
組込みコマンド getopts で次に展開するパラメータの位置を指定します。 初期値は 1 です。
PAGER
ファイルの閲覧時に使用するページャコマンドを指定します。
PATH*
外部コマンド実行時の検索パスを指定します。 ':' で区切って複数の検索パス名を指定できます。
PPID*
最初に起動した fd の親プロセスのプロセス ID を示します。 (UNIX)
PRECEDEPATH
/dev のように数多くのファイルを抱えているディレクトリに対し、 ファイル情報を調べるより先にファイル名だけでも画面表示させてしまう 先行ファイル表示機能を指示します。 ':' で区切って複数のパス名を指定できます。 各パス名の指定は、先行ファイル表示機能を実現させたい トップディレクトリだけを記述すれば、 それ以下のディレクトリでは全て先行ファイル表示機能が働きます。 先行ファイル表示機能が働くと、 そのディレクトリではファイルはソートされず、 キー入力待ち状態の間に少しずつファイル情報を調べていきます。 デフォルトではパス名は一つも指定されていません。
PRECOPYMENU
複数ファイルのコピー、移動、及び削除の際に、 処理が始まる前にメニューを表示し、 同名ファイルやアクセス制限ファイルが存在した時の処理をどうするかを問い合わせます。 対象ファイルが多い場合に、 処理が始まって暫く経ってから問い合わせが発生することを防ぎます。 0 かナル以外の値であれば、何を定義しても有効です。
PROGRESSBAR
ファイルのコピー、移動、及び削除の際に、 進捗状況を示すプログレスバーを表示します。 但し、 進捗度を計算する時間が必要なので、 プログレスバーを表示しない時と比べて若干処理時間が長くなります。 0 かナル以外の値であれば、何を定義しても有効です。
PS1
EXECUTE_SH の入力ラインのプロンプト文字列を指定します。 デフォルト値は "$ " です。 この文字列内には以下のエスケープ文字列が使用できます。
 \u   ユーザ名 (UNIX)
 \h   ホスト名 (UNIX)
 \H   ホスト名 (ドメイン名を含む) (UNIX)
 \w   カレントディレクトリのフルパス
 \~   カレントディレクトリのフルパス
      (ホームディレクトリを ~ で簡略表示)
 \W   カレントディレクトリ名
 \!   コマンド履歴番号
 \$   root 時のみ # それ以外では $ (UNIX)
 \[   非印字文字列の開始 (端末制御文字等)
 \]   非印字文字列の終了
 \e   ESC (\033)
 \ooo 8 進数表記 ooo で表される文字
 \\   \ 自身
 
PS2
EXECUTE_SH 実行時にまだ継続して入力が必要な時のプロンプト文字列を指定します。 デフォルト値は "> " です。
PS4*
set -x 指定時にコマンド文字列を表示する際のプロンプト文字列を指定します。 デフォルト値は "+ " です。
PTYINKCODE
疑似端末に入力として渡す文字列の漢字コードを指定します。 疑似端末上で稼働している全てのプロセスには、 INPUTKCODE で指定した漢字コードからここで指定した漢字コードにコンバートされた文字列が入力されます。 但し、 この変数は疑似端末毎に独立の値を持つため、 既に稼働中の疑似端末の入力漢字コードを変更する場合には、 その端末内で変数値を変更しないと効果がありません。 (UNIX)
 SJIS, sjis     Shift JIS
 EUC, euc       EUC 漢字
 UTF8, utf8     UTF-8
 UTF8-mac, mac  Mac OS X 用 UTF-8
 UTF8-iconv     iconv 用 UTF-8
 デフォルト変換しない
 
PTYMENUKEY
疑似端末を操作している最中に疑似端末メニューを開くためのキーを指定します。 設定値には bind コマンドと同様のキー名を用いることができます。 疑似端末メニューでは、 「この文字を送出」「文字コード入力」「強制終了」「ウィンドウ移動」「漢字」の各項目が選択可能です。 それぞれ、 疑似端末メニューキー自身の送出、 送出する文字をキー名で入力、 疑似端末で稼働中のプロセスを強制的に終了、 ウィンドウ間の移動、 かな漢字変換入力、 を行ないます。 「文字コード入力」では bind コマンドと同様のキー名のほか、 かな漢字変換入力モードで用いる漢字コード番号による文字の指定ができます。 但し、 ウィンドウ非分割モードでは「ウィンドウ移動」項目は選択できません。 デフォルト値は未指定です。 (UNIX)
PTYMODE
外部コマンドの起動に疑似端末を用います。 ウィンドウ分割モードでは各ウィンドウ毎に独立した疑似端末を用いますので、 同時に複数の外部コマンドを端末から操作することができます。 但し、 使用している端末が端末エミュレーションに必要な機能を備えていない場合は疑似端末が正しく機能しないことがあります。 0 かナル以外の値であれば、何を定義しても有効です。 (UNIX)
PTYOUTKCODE
疑似端末から出力として渡される文字列の漢字コードを指定します。 疑似端末上で稼働している全てのプロセスからは、 ここで指定した漢字コードから LANGUAGE で指定した漢字コードにコンバートされた文字列が表示されます。 但し、 この変数は疑似端末毎に独立の値を持つため、 既に稼働中の疑似端末の出力漢字コードを変更する場合には、 その端末内で変数値を変更しないと効果がありません。 (UNIX)
 SJIS, sjis     Shift JIS
 EUC, euc       EUC 漢字
 UTF8, utf8     UTF-8
 UTF8-mac, mac  Mac OS X 用 UTF-8
 UTF8-iconv     iconv 用 UTF-8
 デフォルト変換しない
 
PTYTERM
疑似端末を用いた場合に外部コマンドに渡す環境変数 TERM の値を指定します。 termcap(5) や terminfo(5) の設定によっては疑似端末の挙動が期待通りでない場合もあるので、 その環境で有効な端末名を指定して下さい。 デフォルト値は vt100 です。 (UNIX)
PWD*
カレントディレクトリの絶対パス名を示す変数として利用します。 何らかの値が設定されていた場合、 カレントディレクトリの変更に応じてその値を自動的に置換えます。 何も値が設定されていない場合は設定されないままです。 また、 起動時に環境変数として与えられた場合には、 この値とカレントディレクトリとが論理的に同じディレクトリを指す場合に限り、 この値をカレントディレクトリの初期値として扱います。 シンボリックリンクを辿った論理的なパス名を指定したい時に有用でしょう。
ROOTLOGLEVEL
実効ユーザがスーパユーザの場合に、 ログファイルに出力すべき内容の優先度を指定します。 デフォルト値は 1 です。 (UNIX)
 0       出力しない
 1       書込みなど警告レベルの出力のみ
 2       属性変更など通知レベル以上の出力
 3       参照など報告レベル以上の出力
 4 以上デバッグレベル以上の出力
 
但し、 同じ操作を行なってもその結果がエラーになった場合は、 一つレベルの低い優先度でも出力されます。
RRPATH
ISO 9660 RockRidge 拡張に対応していない OS 用に、 CD-ROM のマウントされているディレクトリ以下のファイルを 疑似的に RockRidge 拡張して表示します。 ':' で区切って複数のマウントポイントを指定できます。 各マウントポイントの指定は、CD-ROM がマウントされている トップディレクトリだけを記述すれば、 それ以下のディレクトリでは全て疑似 RockRidge 拡張機能が働きます。 但し、飽くまでもこれは疑似的な拡張で、 TRANS.TBL ファイルを参照してファイル名の置換えをしているに過ぎませんので、 TRANS.TBL が不整合な一部の CD-ROM では正しく機能しません。 デフォルトではマウントポイントは一つも指定されていません。
SAVEDIRHIST
ディレクトリ履歴セーブファイルに保存する数の上限を設定します。 デフォルト値は 50 個です。 この値が 0 の時にはセーブファイルを作成しません。
SAVEHIST
コマンド履歴セーブファイルに保存する数の上限を設定します。 デフォルト値は 50 個です。 この値が 0 の時にはセーブファイルを作成しません。
SECOND
タイトル行の時計に秒針を表示させるようにします。 但し、正確に時計が調整されるのは 10 秒おきなので、 その間は実時間とのずれが生じています。 0 かナル以外の値であれば、何を定義しても有効です。
SHELL
ここで指定された値のファイル名部分が rfd または rfdsh である場合には、 起動時の -r オプションと同様、 シェルの機能が一部制限されます。 また、 EXECUTE_SH コマンドから起動できるシェルを指定します。
SIZEINFO
ファイルサイズ情報行を画面上端に表示させるようにします。 但し、ここで表示されるトータルサイズは単純にバイト数を合計したものではなく、 実際にディスクを占有しているブロックサイズ単位で合計したものになります。 0 かナル以外の値であれば、何を定義しても有効です。
SORTTREE
ツリー表示画面でディレクトリの並びをソートするようにします。 ソートタイプは SORT_DIR で指定したものを用いますが、 「サイズ順」及び「日付順」になっている場合はソートできません。 また、カレントディレクトリパスに含まれるディレクトリは、 ソートタイプに関係なく常にツリー構造の先頭に来ます。 0 かナル以外の値であれば、何を定義しても有効です。
SORTTYPE
ブラウザ画面のファイル一覧リストは、 デフォルトではソートしないようになっていますので、 ディレクトリ内に登録されている順に並べられています。 これを、デフォルトでソートするように定義します。 設定する値は以下のとおり。
 0    ソートしない
 1    名前順      9    名前順(逆順)
 2    拡張子順   10   拡張子順(逆順)
 3    サイズ順   11   サイズ順(逆順)
 4    日付順      12   日付順(逆順)
 5    長さ順      13   長さ順(逆順)
 100-113   直前のソート形式を保持
 200-213   アーカイブブラウザ内でも保持
 
100 〜 113 の値を設定した場合、 起動直後は下 2 桁で表される数値のソート形式になりますが、 ディレクトリ移動などの際にはデフォルトのソート形式ではなく、 その直前に指定したソート形式が保持されるようになります。 更に 200 〜 213 の値を設定した場合、 アーカイブブラウザを起動した際にも直前のソート形式が保持されるようになります。
TERM*
端末名を指定します。 この値が dumb, unknown, un のいずれかの場合には、 ダム端末と見なし DUMBSHELL の値に関係なく内蔵シェルでエスケープシーケンスを用いることを抑制します。 また、 この値が termcap(5) や terminfo(5) に登録されていなかった場合、 fdsh として起動された時のみ実行可能です。 端末名は動的に変更可能ですので、 端末表示やキー入力の挙動がおかしい時は、 起動後にこの値を適切なものに再設定して下さい。
THRUARGS
fd 起動時の引数として指定されたパス名をそのままの文字列として素通しします。 旧式の低機能シェルでは ~${#} といった POSIX 拡張の展開に対応していないため、 fd は与えられたパス名に含まれるこれらのメタキャラを自身で展開しています。 しかし、 最近の高機能シェルではこれらの展開は一般的に対応しているため、 シェルから与えられたパス名を fd が展開してしまうと二重に展開した結果期待しない文字列に変換することがあります。 この引数展開を抑制するのがこの変数です。 0 かナル以外の値であれば、何を定義しても有効です。
TMPDIR
アーカイバコマンドが、 アーカイブファイル内のファイルを一時的に伸長するための 作業ディレクトリを設定します。 デフォルト値は /tmp です。

(MS-DOS 版でのデフォルト値は `.' となります。)

TMPUMASK
TMPDIR に一時的に作成されるファイル及びディレクトリのファイル生成マスク値を 8 進数表記で指定します。 但し、 組込みコマンド umask で設定したマスク値が優先されますので、 実際に用いられるマスク値はこの値と umask 値との論理和になります。
TRADLAYOUT
オリジナル版の『FD』準拠の画面レイアウトにします。 このレイアウトでは、 SIZEINFO 指定の有無に拘らずファイルサイズ情報が表示されます。 但し、 画面の横幅が 80 桁以上ない場合にはこの指定は無効となります。 0 かナル以外の値であれば、何を定義しても有効です。
UNICODEBUFFER
UNICODE 変換テーブルをオンメモリで持ち続けるようにします。 フロッピードライブのアクセスや UTF-8 の変換が高速化するので、 メモリ資源が潤沢にある環境では有用でしょう。 0 かナル以外の値であれば、何を定義しても有効です。
URLDRIVE
URL ドライブ機能を有効にします。 0 かナル以外の値であれば、何を定義しても有効です。 (UNIX)
URLKCODE
URL ドライブでホスト側のファイル名に用いる漢字コードを指定します。 このうち JIS8, JUNET, HEX, CAP 等は Samba で用いられている漢字コードです。 (UNIX)
 SJIS, sjis     Shift JIS
 EUC, euc       EUC 漢字
 JIS, jis       7bit JIS
 JIS8, jis8     8bit JIS
 JUNET, junet   ISO-2022-JP
 OJIS, ojis     7bit JIS (JIS C6226-1978 + roman)
 OJIS8, ojis8   8bit JIS (JIS C6226-1978 + roman)
 OJUNET, ojunet ISO-2022-JP (JIS C6226-1978 + roman)
 HEX, hex       HEX
 CAP, cap       CAP
 UTF8, utf8     UTF-8
 UTF8-mac, mac  Mac OS X 用 UTF-8
 UTF8-iconv     iconv 用 UTF-8
 デフォルト変換しない
 
URLOPTIONS
URL ドライブでホストと通信を行なう際の通信オプションを指定します。 FTP 通信の際に PASV, PORT, MDTM, FEAT の各コマンドを禁止するか否か、 また HTTP 通信の際に正確なファイル情報を取得するか否かを、 それぞれ独立に選択できます。 HTTP プロトコルでは、 ファイル情報をまとめて取得すると時刻やサイズが丸め誤差を含む値になってしまいますが、 正確な情報を取得するにはファイル一個ずつの処理が必要なので余分の通信時間を要します。 デフォルト値は 0 です。 設定する値は以下のとおり。 (UNIX)
 0    標準
 1    PASV
 2            PORT
 3    PASV &  PORT
 4                    MDTM
 5    PASV &          MDTM
 6            PORT &  MDTM
 7    PASV &  PORT &  MDTM
 8                            FEAT
 9    PASV &                  FEAT
 10           PORT &          FEAT
 11   PASV &  PORT &          FEAT
 12                   MDTM &  FEAT
 13   PASV &          MDTM &  FEAT
 14           PORT &  MDTM &  FEAT
 15   PASV &  PORT &  MDTM &  FEAT
 16                                   HTTP
 17   PASV &                          HTTP
 18           PORT &                  HTTP
 19   PASV &  PORT &                  HTTP
 20                   MDTM &          HTTP
 21   PASV &          MDTM &          HTTP
 22           PORT &  MDTM &          HTTP
 23   PASV &  PORT &  MDTM &          HTTP
 24                           FEAT &  HTTP
 25   PASV &                  FEAT &  HTTP
 26           PORT &          FEAT &  HTTP
 27   PASV &  PORT &          FEAT &  HTTP
 28                   MDTM &  FEAT &  HTTP
 29   PASV &          MDTM &  FEAT &  HTTP
 30           PORT &  MDTM &  FEAT &  HTTP
 31   PASV &  PORT &  MDTM &  FEAT &  HTTP
 
URLTIMEOUT
URL ドライブでホストと通信している際のタイムアウトを秒数で指定します。 ここで指定した秒数の間ホストからの通信が途絶えると、 通信が無効になったものと見なして強制的に接続を切断します。 この値が 0 秒の時にはタイムアウト処理をせずに永久に応答を待ち続けます。 デフォルト値は 0 秒です。 (UNIX)
USEGETCURSOR
端末サイズ取得時に、 VT100 互換のカーソル位置取得エスケープシーケンスを用います。 fd の画面サイズが端末サイズと一致しないような場合は、 これを有効にすると一致することがあります。 カーソル位置取得エスケープシーケンスに対応していない端末では 処理が止まってしまうこともありますので、 このような時は、 キーボードから 'R' の文字を入力してやると復帰します。 0 かナル以外の値であれば、何を定義しても有効です。 (UNIX)
USESYSLOG
LOGLEVELROOTLOGLEVEL で指定したレベルのログをシステムロガー syslogd(8) に出力します。 エラー時のみログ優先度は LOG_ERR となり、 それ以外のログ優先度は全て LOG_INFO です。 facility の指定できる環境では LOG_USER が用いられます。 0 かナル以外の値であれば、何を定義しても有効です。 (UNIX)
WRITEFS
WRITE_DIR コマンドの使用を禁止します。 値を 1 にすると、 明示的にコマンドが実行された時のみディレクトリに対して書込みを行ない、 並び替えの後に書込みの問い合わせをしてこないようになります。 値を 2 にすると、コマンドでの実行すら無効になり、 ディレクトリの書込みが一切禁止されます。
SJISPATH
EUCPATH
JISPATH
JIS8PATH
JUNETPATH
OJISPATH
OJIS8PATH
OJUNETPATH
HEXPATH
CAPPATH
UTF8PATH
UTF8MACPATH
UTF8ICONVPATH
NOCONVPATH
ファイル名に用いる漢字コードを、ディレクトリ単位で FNAMEKCODE 以外のものにしたい時に指定します。 ':' で区切って複数のパス名を指定できます。 各パス名の指定は、 その漢字コードを使用したいトップディレクトリだけを記述すれば、 それ以下のディレクトリでは全てその漢字コードのファイル名が使えます。 NOCONVPATH に記述されているディレクトリでは、 FNAMEKCODE の指定を無視して一切漢字コードの変換を行ないません。 デフォルトではどれもパス名は一つも指定されていません。 (UNIX)

多国語対応

コンパイル時の設定により、 「EUC 漢字」と「Shift JIS」で漢字を入出力できます。 漢字を含むパス名の表示には、漢字の 2byte 目に対する考慮がされています。 入出力に関しては、 内部変数 LANGUAGE, INPUTKCODE 及び FNAMEKCODE により、動的に漢字コードを選択できます。 文字列の入力では、 かな漢字変換入力モードを用いて日本語文字列の入力が可能です。

コマンドマクロやコマンド文字列内に漢字は使用できますが、 内部変数の値には漢字は使用できません。 '' や '' など、2bytes 文字の記号は、 メタキャラクタなどの記号としては用いることができません。 ワイルドカードの検索では、漢字は 1 文字として見なされません。

また、 %JJ などのパラメータマクロを用いて OS 非標準の漢字コードをシェルに渡した場合、 漢字によっては変換後のコードが '$' や '\' といった シェルのメタキャラを含んでしまい、 期待した動作を示さないことがあります。 このような場合、大抵は %' で変換したい文字列部分を括ってやることで回避できます。

著者

白井 隆 <shirai@unixusers.net>。 MS-DOS 用に作られたオリジナルの『FD』は、 A.Idei <SDI00544@niftyserve.or.jp> 氏によって 1989 年に 最初に作成、公開されました。 fd はこのインプリメントを模して、 1995 年に UNIX 用に一から新たに作成されました。

関連ファイル

/etc/fd2rc
システム共通の fd 初期設定ファイル
~/.fd2rc
個人用の fd 初期設定ファイル
~/.fdshrc
個人用の fdsh 初期設定ファイル
~/.fd_history
コマンド履歴のセーブファイル既定値
~/.fd_freq
かな漢字変換学習用のユーザ変換頻度ファイル
/bin/sh
環境変数 SHELL が未定義だった場合のユーザシェル
/bin/rm
異常終了時に不要ファイルを消去するためのコマンド
/tmp/fd*
アーカイブファイル伸長のための一時的ディレクトリ
fd-unicd.tbl
fd の起動ディレクトリにインストールされる UNICODE 変換テーブル
fd-dict.tbl
fd の起動ディレクトリにインストールされるかな漢字変換辞書ファイル
fd2rc
fd の起動ディレクトリに用意しておく MS-DOS 版での共通 fd 初期設定ファイル
$HOME\fd2.rc
MS-DOS 版での個人用の fd 初期設定ファイル
$HOME\fdsh.rc
MS-DOS 版での個人用の fdsh 初期設定ファイル
$HOME\fd.hst
MS-DOS 版でのコマンド履歴のセーブファイル既定値

制限事項

端末の種類によって、 一部のファンクションキーや特殊キーの入力ができないことがあります。 termcap(5) に登録されていない機能のデフォルトシーケンスは、 VT200 互換のシーケンスを採用していますが、 端末がこれに対応できていない場合は、 その機能を用いたキーの取得や画面制御ができません。

関連事項

echo(1), test(1), ls(1), rm(1), tar(1), compress(1), zcat(1), gzip(1), gunzip(1), lha(1), login(1), newgrp(1), stty(1), umask(2), termcap(5), terminfo(5), syslogd(8)

バグ

アーカイブファイル内に ".." を含んだパス名で圧縮してある場合は、 アーカイブブラウザが正常に働きません。 アーカイブファイル内の symbolic リンクは個別に展開できません。

ユーザインタフェースが稚拙です。

著作権

Copyright (C) 1995-2008 by Takashi SHIRAI