FTPコマンド
【基礎知識】
windows/unix OS等で使用できる。基本的なコマンド操作方法は同じ。
【主なFTPコマンド】
■ftp
[機能]FTPサーバへの接続
[例]ftp 192.168.111.1
■put
[機能]FTPサーバへの単一ファイルアップロード
[例]put abc.txt
■get
[機能]FTPサーバへの単一ファイルダウンロード
[例]get abc.txt
■mput、mget
[機能]FTPサーバへの複数ファイルアップロード/ダウンロード。
*を使用することで任意のファイル名のファイルを操作できる。
[例]mput *.zip
[例]mget *.zip
■lcd
[機能]ローカル(接続元)のディレクトリ変更。
通常、FTP接続前に任意のディレクトリに
移動しておくほうが便利なので、使用しない。
[例]lcd /tmp/
■!ls !dir
[機能]ローカル(接続元)のディレクトリ確認。
アップロードするファイルを確認する時などに使用。
[例]!ls (接続元がunix) !dir (接続元がwindows)
■bye
[機能]FTP接続終了時に使用する。引数なし。
■bin/asc
[機能]バイナリ/アスキーモード切替。引数なし。
操作対象ファイルがテキストファイルの場合はasc、
バイナリファイルの場合はbinを事前に実行するのが基本。
■type
[機能]バイナリ/アスキーモード
■その他
cd ls など、基本的なunixのコマンドはFTPコマンド内でも、そのまま使用可能。
【バイナリ/アスキーモードについて】
■windows(改行コードCR-LF)のテキストファイルを、
Unix系OSにFTP PUTする際は、モードによって以下のように変わる。
・バイナリモード
⇒元の改行コード(CR-LF)のままアップロードされる。
・アスキーモード
⇒LFに自動的に変換されてアップロードされる。
シェルなどをファイル単位でPUTする場合は必須。
※Unix(改行コードLF)のテキストファイルをwindowsにGETする場合も同様の挙動となる。
【FTPコマンドによるポートオープン調査】
ftpをポート指定で開くことで、対象ホストのポートが開いているか確認できる。
C:\>ftp
ftp> open 192.168.0.1 80
192.168.0.1 に接続しました。
アクティブなすべてのデータ接続を中止しています...
接続がリモート ホストによって閉じられました。
⇒80ポートが開いている。
ftp> open 192.168.0.1 8080
ftp>
⇒8080ポートは閉じられている。
※telnetコマンドでも同様のことが実現できる。
Windowsはそのままではtelnetコマンドは使えないので、上記の方法を推奨。
unixではtelnet host port でOK。