FTP 経由で送信した後にファイル サイズが変更されました

FTP 経由で送信した後にファイル サイズが変更されました

Perl を使用して FTP サーバーにファイルを送信しようとしています。プログラムはほぼ正常に動作しますが、ファイル サイズが変更されました (リモート ホストのファイル サイズがローカルホストと異なります)。確認した後、これは Perl スクリプトのエラーではなく、FTP クライアントのエラーであることがわかりました。

例えば、私はコンピュータを持っています() Cent-Os 5 を実行しています。wav ファイルを送信したいです (802_20130511_111637.wav- 207,084バイト)をリモートコンピュータ(B)。(B)のFTPサーバーはFile Zillar 0.9.41です。

私は(A)コンソールから以下のコマンドを実行しました(安全のため、ホスト名とユーザー名を変更しました):

[root@abcxyz 1234]# ls -l
total 464
-rw------- 1 asterisk asterisk  99564 May  8 10:39 0913255236_20130508103929.wav
-rw------- 1 asterisk asterisk 127084 May  7 22:42 0918272810_20130507224217.wav
-rwxrwxrwx 1 asterisk asterisk  16488 May  7 16:45 1234.wav
-rw-r--r-- 1 asterisk asterisk 207084 May 11 11:17 802_20130511_111637.wav
[root@abcxyz 1234]# ftp
ftp> open xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx.
220 FileZilla Server version 0.9.41 beta
502 GSSAPI authentication not implemented
504 Auth type not supported
KERBEROS_V4 rejected as an authentication type
Name (xxx.xxx.xxx.xxx:root): my_user_name
331 Password required for my_user_name
Password:
230 Logged on
Remote system type is UNIX.
ftp> put 802_20130511_111637.wav
local: 802_20130511_111637.wav remote: 802_20130511_111637.wav
227 Entering Passive Mode (xxx,xxx,xxx,xxx,195,159)
150 Connection accepted
226 Transfer OK
207503 bytes sent in 0.029 seconds (7.1e+03 Kbytes/s)
ftp>

ご覧のとおり、ファイル サイズ (6 行目) は 207084 バイトです。ただし、サイズ (ほぼ最後の行) は 207503 バイトです。

そうです、FTP で送信した後、ファイル サイズが変更されました。上記の 2 つのファイル (1 つは (A) から、もう 1 つは (B) から) を別の PC (Windows を実行) にダウンロードしました。(A) からのファイルは正常に再生できますが、(B) からのファイルは再生できません。

何か間違っていたら訂正してください。ネイティブ FTP クライアントを使用しているのに、ファイル サイズが変わったのはなぜですか?

答え1

コマンド (またはクライアントが使用するもの)を発行したことがないbinため、行末の変換を実行しています。

関連情報