FDcloneの利用方法


FDcloneはUNIX上で利用可能な、昔なつかしのファイラーである。MS-DOSで有名なFDを模して、白井 隆氏がUNIXベースのOSで動作可能にしたFDのcloneである。改変を重ね、今ではファイラーの域を越えBourne Shell互換まで発展してきた大作である。

【Tera Trem上でのFDcloneのスクリーンショット】

MUSASHIはファイルベースのシステムであるため、ファイル管理は人の手に任されている。そこでFDcloneを利用することによって、より効率的にファイル管理が可能となる。

MUSASHI用の拡張機能

ここではMUSASHIの運用のために付加したいくつかの機能について解説する。

FDcloneは起動時に/etc/fd2rcを設定ファイルとして読み込む。そのファイルにMUSASHIの拡張機能が記述されている。MUSASHI用に拡張した機能は以下の7つである。

  1. MUSASHI用拡張機能のヘルプ(p)
  2. スクリプトの雛型の作成(S)
  3. logを伴ったスクリプト実行(X)
  4. xmlTableのhtmlへの変換(H)
  5. *.html,*.txt,*.shのwwwサーバーへのupload(F)
  6. 複数の*.shスクリプトファイルを一括処理するためのbat.shの自動生成(B)
  7. 名前を変えてコピー(^c)

各機能の最後の括弧内のアルファベットがバインドされたキーである。FDcloneの画面にて、それぞれのキーを押すことによって、それぞれの機能が実行される。

2. スクリプトの雛型の作成(S)

MUSASHIでは基本的にBashスクリプトを記述し、そのスクリプトを実行することでデータ処理を行う。そこで、典型的なスクリプトの書き方に関する雛型がカレントディレクトリに自動生成される(下図)。"S"をおすとスクリプト名を尋ねてくるので、適当に名前を入力する。そのとき、プレフィックスの".sh"は入力する必要はない。ただし、そのままEnterキーを押せば、"scp.sh"なるスクリプト名が自動的に付けられる。指定したスクリプト名が既に存在していれば、エラーとなる。

#/bin/bash
#===============================================================
# MUSASHI bash script
#===============================================================

#---- タイトル
title=""

#---- コメント
comment=""

#---- 各種変数(適宜修正すること)
inPath="/home/hamuro/tmp"

#---------------------------------------------------------------
# コマンド
#---------------------------------------------------------------
xtcut -f -i $inPath/dat.xt |
xtheader -l $title -c $comment -o dat.xt
#===============================================================

3. logを伴ったスクリプトの実行(X)

 スクリプトの実行の際には、FDcloneに初めから備わっている"x"(小文字)を利用することもできる。ここであえて"X"を作成したのは、1)MUSASHIが吐き出す処理完了メッセージやエラーメッセージを自動的にカレントの"log"ファイルに吐き出すため、2)時間を要する処理についてはバックグラウンドでの実行を可能とするため、の2点が理由である。
 実行したいスクリプトにカーソルを合わせ"X"を押すと、表で実行するか裏で実行するかを聞いてくるので、適当に答える。
 ここで注意する点は、Xでの実行対象となるスクリプトは".sh"のプレフィックスを持っており、かつファイルの実行属性がONになっていることである。実行属性がONになっていれば、ファイル名の横に"*"が表示される。上記のスクリプトの雛型の作成で作成されたファイルは全て実行属性がONになるので問題ないが、独自に作成したスクリプトについては、この点を気をつける。

4. xmlTableのhtml変換(H)

 MUSASHIにてスクリプトを実行し出来上がったデータはxmlTable(プレフィックスに.xtをつける)であることが多い。xmlTableはplainTextとしては見にくいので、htmlもしくはplainTextに変換することができる。FDcloneの画面にて変換したい*.xtファイルにカーソルを合わせ、"H"を押せばそのファイルを自動的にhtmlに変換してくれる。またファイルでなくディレクトリにカーソルを合わせて"H"を押せば、そのディレクトリ以下の*.xtファイルをhtmlに自動変換する。変換の際には、どのファイル形式に変換するか(text,html,両方)を選ぶことができる。
 ここで変換したファイルは後ほどFTPでWWWサーバーにアップロードすることができる。

5. *.html,*.txt,*.shのwwwサーバーへのupload(F)

 wwwサーバーにアップロードしたいファイルを選び"F"を押すと自動的にFTPが起動され、パスワードを入力後、転送が始まる。またファイルの代わりにディレクトリを指定すると、そのディレクトリ以下のファイルが転送される。ここで、転送されるファイルは、プレフィックスに.html,.txt,.shを持つファイルのみである。その他のファイルが選択されていても無視される。

 ここで、この機能を使うためのポイントを記しておく。

6. 複数の*.shスクリプトファイルを一括処理するためのbat.shの自動生成(B)

MUSASHIを使ってデータ処理を行っていると、複数のスクリプトを一括で処理したくなることが多くある。そこで一括処理したいスクリプトを含むディレクトリを選択し、"B"を押すとそのディレクトリ以下の*.shファイルを一括で起動するスクリプトが、カレントディレクトリに"bat.sh"の名前で作成される。そのファイルを"X"で実行すると、複数のスクリプトが一括処理される。もちろんログは"log"ファイルに吐き出される。

7. 名前を変えてコピー(^c)

 カレントディレクトリ内で、カーソル位置にあるファイルを名前を変えてコピーすることができる(^c:コントロールを押しながら"c")。同じようなスクリプトをカレントディレクトリに作成したい場合などは便利である。

FDcloneでよく利用する機能一覧

? :ヘルプ
→←↓↑:カーソル移動
PageUp,PageDown :ページ移動
1,2,3,5 :画面の列数変更
space :選択
+ :全ファイル選択/非選択
Enter :サブディレクトリへ、ファイルの内容閲覧
BS :親ディレクトリへ
e :ファイルの編集
c :ファイルのコピー
C :ファイルのツリーによるコピー
m :ファイルの移動
d :ファイルの削除
k :ディレクトリの作成
D :ディレクトrの削除
t :ディレクトリツリーの表示
h :チャイルドプロセスの起動