DOS/Windows と UNIX のファイルはで、ASCII ファイル(=テキストファイ ル)でも一般に改行コードと漢字コードが異なります。ここでは、DOS と UNIX の ASCII ファイルの違いとその変換の仕方を説明します。さらに、DOS フォー マットのフロッピーディスクの扱い方についても説明します。
- [註] ASCII ファイルとバイナリファイル
- ASCII コードのみからなるファイルを、ASCII (アスキー)ファイル、 または、テキストファイルといいます。エディタで作成したファイルは、 ASCII ファイルです。これに対し画像、圧縮データ、ワープロ文書等は 全てバイナリファイルです。エディタで作成したファイル以外は 全てバイナリファイルと考えていいでしょう。
DOS の UNIX は、漢字コードは、
DOS/Windows Sift-JIS UNIX EUC or JIS or Sift-JISとなっており、漢字コードが異なるのが一般的です。
漢字コードの変換には、nkf というコマンドを利用します。
nkf の使用法は以下のようです。> nkf -j abc.txt > abc.jis ! JIS へ変換 > nkf -s abc.txt > abc.sjis ! SJIS へ変換 > nkf -e abc.txt > abc.euc ! EUC へ変換この時、入力ファイルの漢字コードは問いません。
DOS と UNIX の改行コードは、それぞれ、
DOS/Windows LF + CR UNIX LF * LF: Line Feed CR: Carriage Returnとなっています。このため、ホームディレクトリに、DOS 環境で作った ASCII ファイルがあって、それを UNIX 環境で vi や cat で見ると、 全ての行の終りに、CR を表す、 "^M" という制御コードが付いています。
これを一度に削除するコマンド(Perl のスクリプト)が dos2unix です。 使い方はたんに
> dos2unix file_nameとするだけです。
逆に UNIX 環境で作成した ASCII ファイルを、DOS 環境で使うつもりの 場合は、unix2dos コマンドで、DOS の改行コードに変更します。
ftp の ASCII mode でファイル転送を行うことにより、DOS/UNIX 間の改行 コードの違いが吸収されます。
アスキーモードのファイル転送の例
ftp> ascii ! ascii mode へ変更 200 Type set to A. ftp> put mh.html local: mh.html remote: mh.html 200 PORT command successful. 150 Opening ASCII mode data connection for 'mh.html'. 226 Transfer complete. 2156 bytes sent in 0.02 seconds (131.66 Kbytes/s) ftp>これに対し、画像や圧縮ファイルなどのバイナリーファイルは、 バイナリーモードで転送しないと、データが正しく送られません。
バイナリーモードのファイル転送の例
ftp> bin ! バイナリーモードへの変更 200 Type set to I. ftp> put beppin54.gif local: beppin54.gif remote: beppin54.gif 200 PORT command successful. 150 Opening BINARY mode data connection for 'beppin54.gif'. 226 Transfer complete. 204109 bytes sent in 0.46 seconds (431.83 Kbytes/s) ftp>ftp については、この講座の「ファイル転送」に より詳しい解説があります。
UNIX 環境で PC を立ち上げたとき、直接 DOS 形式のフロッピーを 扱う方法を説明します。これには、mtools と呼ばれるコマンド群を 用います。
コマンド名は、DOS のコマンドにの頭に m を付けたものになって います。
フロッピーディスクドライブ名は、"a:" です。したがって、 例えばフロッピーディスクの内容を表示させるには、
> mdir a:abc.c というファイルを、フロッピーディスクから、カレントディレ クトリにコピーするには、
> mcopy a:abc.c ./とします。mtools で使えるコマンドは
mcd カレントディレクトリの移動 mcopy ファイルのコピー mdel ファイルの消去 mdir ファイルの一覧表示 mformat フロッピーディスクのフォーマット mmd ディレクトリの作成 mrd ディレクトリの消去 mren ファイル名の変更 mtype ファイルの内容表示です。