概要
FTPは、インターネットを介してあるホストから別のホストへファイルを転送するために使用される標準的なネットワークプロトコルです。ftpコマンドは、このプロトコルを使用するクライアントであり、リモートサーバーに接続してファイルのリスト表示、転送、削除などの操作を実行できます。しかし、FTPはデータ転送時に暗号化されないためセキュリティが脆弱であり、機密ファイルを転送する場合はSSHベースの`sftp`や`scp`を使用することが推奨されます。
主な特徴
ftpコマンドの主な特徴は以下の通りです。
- コマンドラインベースのFTPクライアントです。
- リモートFTPサーバーに接続してファイルを転送します。
- 対話モードを通じて複数のコマンドを連続して実行できます。
- ファイルリスト表示(`ls`)、ファイルアップロード(`put`)、ファイルダウンロード(`get`)などの機能を提供します。
FTP vs SFTP
FTPとSFTPは、ファイル転送方式とセキュリティの側面で大きな違いがあります。
- FTP (ファイル転送プロトコル): 平文でデータを転送するため、セキュリティが脆弱です。ポート21を使用し、データ転送には別途ポートが必要です。
- SFTP (SSHファイル転送プロトコル): SSH(Secure Shell)を介してデータを暗号化して転送するため安全です。ポート22を使用し、単一ポートですべての通信を処理します。
主なオプション
ftpコマンドは、主に引数なしで実行して対話モードに入るか、特定のサーバーアドレスと共に実行します。対話モードで使用できる内部コマンドの方が重要です。
1) 実行オプション
2) 対話モード内部コマンド
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`ftp` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
ftpコマンドの様々な使用例を通じて機能を習得してください。
FTPサーバーに接続
ftp ftp.example.com
`ftp.example.com`サーバーに接続します。接続後、ユーザー名とパスワードを入力する必要があります。
匿名FTPサーバーにアクセス
ftp ftp.example.com
Name: anonymous
Password: your_email@example.com
匿名FTPを許可するサーバーにアクセスする場合、ユーザー名として`anonymous`を使用し、パスワードはメールアドレスを入力します。
ファイルのダウンロードとアップロード
ftp ftp.example.com
... (接続後)
get remote.txt
put local.txt
サーバーに接続後、`get`コマンドで`remote.txt`をダウンロードし、`put`コマンドで`local.txt`をアップロードします。
複数ファイルのアップロード (mput)
ftp ftp.example.com
... (接続後)
mput *.jpg
`mput`コマンドで複数のファイルを一度にアップロードします。`mget`も同様に使用されます。
インストール
ftpはほとんどのLinuxディストリビューションに`ftp`または`inetutils-ftp`パッケージとしてデフォルトで含まれています。ない場合は、以下のコマンドでインストールできます。
Debian/Ubuntu
sudo apt update
sudo apt install -y ftp
RHEL/CentOS/Fedora
sudo dnf install -y ftp
Arch Linux
sudo pacman -S --needed ftp
ヒント & 注意事項
ftpコマンド使用時の注意点をまとめました。
ヒント
- ftpはセキュリティが脆弱なため、機密情報を転送する際は`sftp`や`scp`を使用することをお勧めします。
- 対話モードで`help`と入力すると、すべての内部コマンドのリストが表示されます。
- 一部のFTPサーバーでは、パッシブモードを使用しないと正常に接続できない場合があります。`ftp`コマンドに`-p`オプションを追加すると解決することが多いです。