はじめに
こんにちは!今回はftpコマンドについて解説します。
ftpはFile Transfer Protocolを使用してファイルを転送するコマンドです。リモートサーバーとの間でファイルをアップロード・ダウンロードする時に使う、昔ながらの通信プロトコルですね。
SSHやSCPが登場する前からあって、今でも使われているんです。セキュリティ的にはSSHの方が優れていますが、シンプルなファイル転送にはまだまだ活躍しています。
ftpコマンドとは
ftpは、FTP(File Transfer Protocol)を使用してリモートサーバーとファイルをやり取りする外部コマンドです。“file transfer protocol"の略ですね。
インタラクティブ形式で、ユーザーがコマンドを入力しながらサーバーに接続し、ファイルのアップロード・ダウンロード・削除などの操作ができます。ログインして、ファイルを選んで転送するという対話的なインターフェースが特徴です。
基本構文
|
|
ホスト名を指定した場合、そのサーバーへの接続を試みます。指定しない場合は、openコマンドで後から接続先を指定できます。
主なオプション
| オプション | 説明 |
|---|---|
-v |
詳細表示(verbose) |
-n |
自動ログインを使用しない |
-i |
インタラクティブプロンプトを無効化 |
-d |
デバッグモード |
-g |
グローバルファイル名展開を無効化 |
使用例
例1: サーバーに接続
|
|
実行結果:
|
|
ftp.example.comに接続します。ユーザー名の入力を求められます。
例2: ユーザー名とパスワードでログイン
|
|
ユーザー名を入力してログインします。パスワードは表示されません。
例3: ファイル一覧を表示
|
|
リモートサーバーのファイル一覧を表示します。
例4: ファイルをダウンロード
|
|
file1.txtをローカルマシンにダウンロードします。
例5: 複数ファイルをダウンロード
|
|
ワイルドカードで複数ファイルをダウンロードします。各ファイルごとに確認されます。
例6: ファイルをアップロード
|
|
ローカルマシンのファイルをサーバーにアップロードします。
例7: 複数ファイルをアップロード
|
|
複数ファイルを一度にアップロードできます。
例8: ディレクトリを変更
|
|
リモートサーバー上のディレクトリを移動します。
例9: ローカルディレクトリを変更
|
|
ローカルマシンのカレントディレクトリを変更します。
例10: ファイルを削除
|
|
リモートサーバーのファイルを削除します。
例11: ディレクトリを作成
|
|
リモートサーバーに新しいディレクトリを作成します。
例12: 接続を切断
|
|
FTPサーバーとの接続を切断します。
Tips・注意点
パスワードは入力時に表示されない
|
|
セキュリティ上、パスワード入力時は文字が表示されません。安心して入力してください。
バイナリモードとテキストモード
|
|
ファイルの種類に応じてモードを切り替えます。バイナリモードで画像やZIPを転送すると安全です。
セキュリティ上の注意
ftpは非暗号化通信なため、パスワードと通信内容がネットワークに流れます。本番環境ではSSHやSCPの使用を強く推奨します。
|
|
実践的な使い方
Webサーバーへのファイルアップロード
|
|
Webサイトのファイルをサーバーにアップロードします。
バックアップのダウンロード
|
|
サーバーのバックアップファイルを一括ダウンロードします。
スクリプトでの自動FTP
|
|
スクリプト内で非対話的にFTPを実行できます。
まとめ
ftpコマンドのポイント:
- FTP(File Transfer Protocol)でリモートサーバーとファイルをやり取りするコマンド
- get: ファイルをダウンロード
- put: ファイルをアップロード
- mget/mput: 複数ファイルの一括操作
- cd/lcd: リモート・ローカルのディレクトリ変更
- type: バイナリモード/テキストモードの切り替え
- よく使う組み合わせ:
ftp server.com,get file.zip,put file.html
ftpは古いコマンドですが、シンプルで理解しやすいファイル転送方法として今でも活躍しています。セキュリティが必要な環境ではSSHを使いましょう!