【ftp】ファイル転送(アップロード・ダウンロード)する

FTPサイト、もしくはFTPサーバへのファイル転送を実施する場合は「ftp」コマンドを使用します。
ファイルのやりとり(アップロード・ダウンロード)をするにあたり、ftpコマンドは便利です。




「ftp」コマンドの使い方(Linux)

ftpコマンドを使用することでファイルの転送が可能となります。
主な使い方は、FTPサーバを建て、ユーザーがFTPサーバへファイルのアップロード・ダウンロードを実施します。

「ftp」コマンドのインストール

FTPコマンドは以下コマンドでパッケージを取得します。

# dnf -y install ftp

or

# yum -y install ftp



FTPコマンドでのファイル転送は基本バイナリモードで実施する

以前まではテキストファイルの転送には「アスキーモード(ASCII)」と「バイナリモード(Binary )」が使われていました。
違いは以下となります。

  • アスキーモード:FTPクライアントに合わせた改行コードに変換し転送
  • バイナリモード:ファイルを変換無く転送

以前まではテキストファイルの転送には上記のアスキーモードが使われていましたが、現在は改行コードを意識しなくても動作するため、基本的にバイナリモードでファイル転送をして問題がないです。

FTPサーバへの接続

FTPサーバへの接続コマンドは以下となります。

~ $ ftp 192.168.0.106
Connected to 192.168.0.106.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 5 allowed.
220-Local time is now 03:02. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (192.168.0.106:): test
331 User test OK. Password required
Password: 
230 OK. Current directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

ファイルアップロード

FTPサーバへのアクセス接続後、以下コマンドでファイルをアップロードします。

ftp> put test.txt
local: test.txt remote: test.txt
229 Extended Passive mode OK (|||30000|)
150 Accepted data connection
100% |*************************************************************************************|    16       12.51 KiB/s    00:00 ETA
226-File successfully transferred
226 0.004 seconds (measured here), 4.04 Kbytes per second
16 bytes sent in 00:00 (3.52 KiB/s)
ftp> 
ftp> 
ftp> ls
229 Extended Passive mode OK (|||30009|)
150 Accepted data connection
-rw-r--r--    1 1000       ftpgroup           16 Mar 20 04:31 test.txt
-rw-r--r--    1 1000       ftpgroup            0 Mar 14 03:36 test_get.txt
226-Options: -l 
226 2 matches total
ftp> 

ファイルダウンロード

次にファイルを以下コマンドでダウンロードします。
ダウンロードは「バイナリモード」でダウンロードします。

ダウンロード完了後、「quit」コマンドでFTPサーバから切断し、ローカルにファイルがダウンロードされている事が確認できます。

ftp> binary
200 TYPE is now 8-bit binary
ftp> get test_get.txt
local: test_get.txt remote: test_get.txt
229 Extended Passive mode OK (|||30004|)
150 Accepted data connection
     0        0.00 KiB/s 
226 File successfully transferred
ftp> 
ftp> quit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.
~ $ ls
test_get.txt
~ $ 

「ftp」コマンドオプション

ftpコマンドのオプションは以下の通りとなります。
ほとんどは「ftp」コマンドだけで完結はしますが、デバックなどを取りながら実施したい場合は「-d」オプションを使用しましょう。

# ftp -h

	Usage: { ftp | pftp } [-Apinegvtd] [hostname]
	   -A: enable active mode
	   -p: enable passive mode (default for ftp and pftp)
	   -i: turn off prompting during mget
	   -n: inhibit auto-login
	   -e: disable readline support, if present
	   -g: disable filename globbing
	   -m: don't force data channel interface to the same as control channel
	   -v: verbose mode
	   -t: enable packet tracing [nonfunctional]
	   -d: enable debugging

「ftp」コマンドの使い方は以上となります。

最新情報をチェックしよう!