############################################################ # # FDclone Ver. 3.01 に関して # # Takashi SHIRAI, # Jul 27, 2019 # ############################################################  FDclone は、1989年に A.Idei 氏 の手によって MS-DOS 用に作成された『FD』を模した、UNIX ベ ースの OS (以下便宜上単に "UNIX" と呼ぶ) 汎用のファイル & デ ィレクトリ管理ツールです。  仕様部分に関しては、できるだけオリジナルの『FD』に近付け るようにしましたが、インプリメントに関しては全くのオリジナル 作品です。  クローンと称している理由は、『FD』が余りに普及したため、 MS-DOS ユーザにとってはこの "FD" という呼称がファイル管理ツ ールの代名詞として定着してしまっていることに起因します。  かつて、筆者も作成に関わったことのある UNIX 用ファイル管理 ツールに、fu (田代 卓 氏作)とい うものがありましたが、この公開後の利用状況を聞いてみると、シ ェルの alias 機能で "fd" に改名して使っているというユーザも かなり多かったということです。  MS-DOS から UNIX に入ったユーザにとっては、タイプし易さも 含めて、この名称が一番馴染んでいると思えます。  となれば、できれば仕様上もこれに準じたものを UNIX 上で作る ことは、MS-DOS ユーザ出身の UNIX 初心者にとって、自然に UNIX 環境に慣れていくために有効なことではないかと考えました。  以上のような理由から、この FDclone は作られました。途中、 長き変遷と苦難の道を経はしましたが、ようやく完成の運びとなり 公開にこぎ着けることとなり幸いです。 --  FDclone-3.01 のパッケージには、以下のファイルが含まれます。 README このファイル README.eng このファイル (英文) HISTORY これまでの改定履歴 HISTORY.eng これまでの改定履歴 (英文) FAQ Q&A 集 (Frequently Asked Question) FAQ.eng Q&A 集 (Frequently Asked Question, 英文) TECHKNOW テクニカルノウハウ TECHKNOW.eng テクニカルノウハウ (英文) LICENSES 権利規定に関するドキュメント LICENSES.eng 権利規定に関するドキュメント (英文) Install FDclone のインストール方法のドキュメント Install.eng FDclone のインストール方法のドキュメント (英文) ToAdmin FDclone を運用する管理者用ドキュメント ToAdmin.eng FDclone を運用する管理者用ドキュメント (英文) Configur 環境設定用ヘッダの自動生成プログラム (Makefile 内で実行) Makefile メイクファイル Makefile.in メイクファイル本体 (雛型) fd.man man ページ用 roff ファイル (JIS 版) fd_e.man man ページ用 roff ファイル (英文) fd.cat man ページ用 プレーンテキスト (JIS 版) fd_e.cat man ページ用 プレーンテキスト (英文) mkmfsed.c メイクファイル加工用の sed スクリプト生成プログラム kanjicnv.c 簡易漢字コードコンバータ mkfunkno.c コマンド番号定数の定義ファイル作成プログラム expfunc.c sh 関数展開プログラム (旧式の /bin/sh 用) mkunitbl.c UNICODE 変換テーブルファイル生成プログラム mkdict.c かな漢字変換テーブルファイル変換プログラム mktankan.c 単漢字変換テーブルファイル生成プログラム mkkanji.c kanji.h 変換プログラム mkcat.c メッセージカタログ生成プログラム mkdir_p.c ディレクトリ生成プログラム evalopt.c オプション文字列解析モジュール evalopt.h evalopt.c 用のヘッダ gentbl.c テーブル生成モジュール gentbl.h gentbl.h 用のヘッダ mkmfsedg.sed djgpp v1.xx 向けメイクファイル加工用スクリプト mkmfsedd.sed djgpp v2.xx 向けメイクファイル加工用スクリプト mkmfdosl.sed LSI C-86 3.5 向けメイクファイル加工用スクリプト mkmfdosb.sed Borland C++ 向けメイクファイル加工用スクリプト makefile.gpc DOS/V 用 djgpp v1.xx 版メイクファイル makefile.g98 PC-98x1 用 djgpp v1.xx 版メイクファイル makefile.dpc DOS/V 用 djgpp v2.xx 版メイクファイル makefile.d98 PC-98x1 用 djgpp v2.xx 版メイクファイル makefile.lpc DOS/V 用 LSI C-86 3.5 版メイクファイル makefile.l98 PC-98x1 用 LSI C-86 3.5 版メイクファイル makefile.bpc DOS/V 用 Borland C++ 版メイクファイル makefile.b98 PC-98x1 用 Borland C++ 版メイクファイル main.c FDclone のメインソース termio.c 端末入出力ライブラリソース termio.h termio.c 用のヘッダ term.c termcap ライブラリソース term.h term.c 用のヘッダ printf.c フォーマット出力関数モジュール printf.h printf.c 用のヘッダ string.c 文字列操作関数の置換え string.h string.c 用のヘッダ malloc.c メモリ確保関数の置換え malloc.h malloc.c 用のヘッダ stream.c ストリーム入出力ライブラリソース stream.h stream.c 用のヘッダ time.c 時間関数の置換え time.h time.c 用のヘッダ pathname.c パス名操作に関するモジュール pathname.h pathname.c 用のヘッダ system.c /bin/sh 互換の system(3) 相当モジュール system.h system.c 用のヘッダ posixsh.c system.c で使う POSIX 互換コマンド posixsh.h posixsh.c 用のヘッダ doscom.c system.c で使う COMMAND.COM 内部コマンド log.c ログファイル関連 log.h log.c 用のヘッダ dosdisk.c フロッピードライブドライバ部分 dosdisk.h dosdisk.c 用のヘッダ sysemu.c システム関数群のフロッピードライブ対応版 sysemu.h sysemu.c 用のヘッダ unixdisk.c MS-DOS 用ファイル制御関数群 unixdisk.h unixdisk.c 用のヘッダ realpath.c 絶対パスの正規化 realpath.h realpath.c 用のヘッダ encode.c MD5 (RFC1321) 及び BASE64 (RFC3548) 関連 encode.h encode.c 用のヘッダ pty.c 疑似端末関連 termemu.c 端末エミュレーション関連 termemu.h termemu.c 用のヘッダ frontend.c 端末エミュレーションの前処理 backend.c 端末エミュレーションの後処理 libc.c cc の標準関数のアレンジ file.c ファイル操作関連 mntinfo.c マウント情報関連 mntinfo.h mntinfo.c 用のヘッダ statfs.c statfs() の置換え apply.c ファイルへの連続適用関連 parse.c 文字列解析関連 parse.h parse.c 用のヘッダ builtin.c 組込みコマンド関連 shell.c シェルコマンド関連 socket.c ソケット関数関連 socket.h socket.c 用のヘッダ url.c URL パーザ url.h url.c 用のヘッダ auth.c 認証 (RFC2617) 関連 auth.h auth.c 用のヘッダ ftp.c FTP (RFC959) 関連 html.c HTML (RFC2616) 関連 html.h html.c 用のヘッダ http.c HTTP 関連 urldisk.c URL ドライブドライバ部分 urldisk.h urldisk.c 用のヘッダ catalog.c メッセージカタログ関連 catalog.h catalog.c 用のヘッダ kconv.c 漢字コードコンバート関連 kconv.h kconv.c 用のヘッダ input.c ユーザ入力関連 ime.c 簡易日本語 IME roman.c ローマ字かな変換関連 roman.h roman.c 用のヘッダ dict.c 漢字辞書検索関連 hinsi.h 品詞文法用のヘッダ info.c 各種情報表示用 rockridg.c ISO 9660 RockRidge 拡張関連 lsparse.c ファイル一覧出力のパーザ lsparse.h lsparse.c 用のヘッダ archive.c アーカイバ関連 tree.c ツリー表示関連 custom.c 設定変更関連 command.c 内部コマンド関連 browse.c ブラウザ画面関連 fd.h FDclone のカスタマイズ用ヘッダ machine.h 機種依存性を吸収するヘッダ config.hin ダミーで用意してある環境設定用ヘッダ headers.h 基本的なヘッダをまとめたヘッダ depend.h オプション識別子の依存関係をまとめたヘッダ types.h 各種型宣言 namelist.h ファイルリストに関するヘッダ kctype.h 漢字コードに関するヘッダ typesize.h 型サイズに関するヘッダ wait.h 子プロセス処理に関するヘッダ dirent.h ディレクトリ操作関数用ヘッダ unixemu.h MS-DOS での関数エミュレーション用のヘッダ fsinfo.h ファイルシステム情報に関するヘッダ device.h デバイス ID 用ヘッダ func.h プロトタイプ宣言 functabl.h 内部コマンドの属性定義用 kanji.hin 日本語文字列のソース (JIS版) version.h バージョン _fdrc .fd2rc のお手本 _fdrc.dif .fd2rc に関する 1.03 からの変更点 fd.spec RPM 用スペックファイル --  FDclone の著作権は、[ 白井 隆 ] が 保持します。但し、全てのソースの配布、改変、引用、2 次利用に ついては、何ら束縛されることなく自由に行なって頂いて構いませ ん。  FDclone のソースを元に、私の著作物からまた新たな発展が見ら れるならば、作者としても本望ですので、自由に再利用して下さい。  但し、FDclone の利用・配布に制限を加えてしまうような行為、 例えば、無断で FDclone に関するパテント申請を行なうといった ことは、フリーソフトウェアの理念に反する行為となるので、一切 これを禁止させて頂きます。  CD-ROM や各種ネットワークにおける実行バイナリの頒布につい ては、別途個別にご相談下さい。  但し、既に頒布されているバイナリの二次配布については、各々 の頒布元の条件に従いますので、条件の詳細は頒布元にお問い合わ せ下さい。  頒布バイナリの頒布元の連絡先は、HELP_MESSAGE コマンドで表 示されるヘルプ画面のファンクション行に表示されています。  この表示のない場合、及びタイトル行のバージョン番号末尾に # の文字が添えられていない場合、作者の許諾を受けていない非公式 の頒布バイナリですので、ご使用を控えることをお奨めします。 --  詳細は各種ドキュメントを参照して下さい。`Install' の指示に 従ってコンパイルし、機能詳細はインストール後の man ページを 参照して下さい。  FAQ 集も用意してありますので、何か支障のあった場合、作者に 連絡する前にまずこれらのドキュメントをお読みになることをお奨 めします。ほとんどの支障は FAQ と man ページで解決されるはず です。  各種 UNIX 環境の他、MS-DOS でもコンパイル可能にしてありま すが、この際には Makefile の差替えが必要となります。 --  UNIX は、X/Open Company Ltd. がライセンスする登録商標です。 しかし、FDclone の各ドキュメント内で呼び示される UNIX という 呼称は、X/Open によって許諾された UNIX OS を指すものではなく、 1969 年、AT&T ベル研で開発された unics から派生するシリーズ の OS 全般を指すものとします。  これは、X/Open の権利を侵害する目的ではなく、これらを総称 する呼称が消失してしまったことに起因する、便宜上の表現である ことをご理解下さい。 -- 謝辞  最後になりましたが、FDclone の完成に際してお世話になった以 下の方々に、この場を借りて感謝の意を表させて頂きます。 (敬称略、アルファベット順、「@」を「 at 」にて表記) ・『FD』の作者で FDclone の公開を快諾して頂きました。 SDI00544 at niftyserve.or.jp (出射 厚) ・WINC 勉強会 ML にて、ファイルシステムに関する相談に乗って  頂きました。 kenji at reseau.toyonaka.osaka.jp (Kenji Rikitake) mori at chuo-computer.co.jp (森 秀和) ohm at kyoto.wide.ad.jp (森島晃年) saitoh at ics.es.osaka-u.ac.jp (齊藤明紀) ・βテスト用 ML の管理運営を担当して頂きました。 matusita at ics.es.osaka-u.ac.jp (Makoto MATSUSHITA) ・fj.sources.d での募集を受けてβテストに協力して頂きました。 7m2vej at ritp.ye.IHI.co.jp (UENO Fumihiro 上野文裕) aki at pic.hitachi-sk.co.jp (Akiyoshi Sakaguchi) ao at orient.tuins.cs.toyo.ac.jp (AOYAGI Yoichi) daikoku at lang2.bs1.fc.nec.co.jp (大黒洋史) fuku at amorph.rim.or.jp (FUKUSHIMA Osamu) go at cclub.tutcc.tut.ac.jp (Go Watanabe) h-inoue at is.aist-nara.ac.jp (Hiroyuki Inoue) h-yagi at zero0.nsis.cl.nec.co.jp (八木英雄) hashi at star.rcast.u-tokyo.ac.jp (TAKAHASHI Katsuyuki) hide at mamoru.ee.sophia.ac.jp (Takahide Yamaguchi) hiro at akinus1.aki.che.tohoku.ac.jp (Akiyasu Hirotani) i4579 at info.nara-k.ac.jp (Kimura Masashi) ishida at econ.shinshu-u.ac.jp (Akira Ishida) ito at getz.isc.chubu.ac.jp (Maki ITO) j0442 at cranesv.egg.kushiro-ct.ac.jp (Kazunori Yoshida) j9194169 at ed.yama.sut.ac.jp (Keitarou Yoshimura) jt at ng.nefs.nec.co.jp (Jiro_Takabatake) katsu at cs.uec.ac.jp (鈴木克明(Katsuaki Suzuki)) ke3057yt at ex.ecip.osaka-u.ac.jp (yosioka tuneo) kimai at av.crl.sony.co.jp (IMAI Kenichi) kjm at yonka.ngy.mhi.co.jp (KOJIMA Hajime/ 小島肇) kkubota at crl.go.jp (Kazuo Kubota) kmiya at mm.rd.nttdata.jp (Kunio Miyamoto) kobashi at comp.eng.himeji-tech.ac.jp (kobashi) manabu at saskg.semicon.sony.co.jp (Niizato -Gamer- Manabu) mat at azalea.gose.nara.jp (Matsuo Kazunori) mats at cc.tuat.ac.jp (Seiji Matsumoto) mhirano at avkk.yamaha.co.jp (Mitsuyuki HIRANO) mino at kis-gw.msk.kis.co.jp (MINOMO Kazutoshi) mori at isc.mew.co.jp (Shigeki Morimoto) nino at windy.mech.utsunomiya-u.ac.jp (Nao NINOMIYA) nyoshi at kaba.or.jp (YOSHIDA Nobuaki) ohge at enzan.ee.kansai-u.ac.jp (Hiroki Ohge) ohishi at otc.qnes.nec.co.jp (Isao Ohishi) okubo at mem.cl.nec.co.jp (Shuichi OHKUBO) ozawa at prince.pe.u-tokyo.ac.jp roy at lit.cs.uec.ac.jp (SATOU Masaki / 佐藤雅規) ryoji at kgupyr.kwansei.ac.jp (Ryoji Nagai) sakai at csl.cl.nec.co.jp (Junji SAKAI) sakanaga at ds.kyoto.omronsoft.co.jp (Toshiyuki Sakanaga) sawada at h3news1.kais.kyoto-u.ac.jp (Yutaka SAWADA) senshu at astro.yamagata-cit.ac.jp (Hiroyuki Senshu / 千秋) shige at luck.imasy.or.jp (Shigechika Aikawa) shirai at atropos.gen.u-tokyo.ac.jp (Izuru Shirai) taka-mm at super.win.or.jp (Takahasi Mamoru) tan at kei-n.huap.hokudai.ac.jp (Takushi Tanaka) tanaka at inf.ptg.sony.co.jp ("T.Tanaka") tomiyan at cv.sony.co.jp (富田 光彦) tsuka at ohsaki.meidensha.co.jp (Yoshihiro Tsukamoto) uno at meleager.mel.go.jp wakui at casiogw.rd.casio.co.jp (WAKUI Kazuhiko) watanabe at jis.ptg.sony.co.jp (ebaN) yajima at ccedu.sendai-ct.ac.jp (Kuniaki YAJIMA) yaku at jedi.seg.kobe-u.ac.jp (Masao Yakushijin) yamakawa at crdl.pioneer.co.jp (Yuzo Yamakawa) yamamoto at ogw.ei.hosei.ac.jp (Kouya Yamamoto)