ftp コマンドは、FTP (File Transfer Protocol) サーバーに接続し、ファイルのアップロードやダウンロードを行うためのコマンドラインツールです。
現在ではセキュリティ上の理由からあまり使われず、代わりに sftp や scp が推奨されますが、レガシー環境では利用されることがあります。
構文(Syntax)
ftp [オプション] [ホスト]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
<host> | 接続先 FTP サーバーを指定 | ftp ftp.example.com |
-p | パッシブモードで接続 | ftp -p ftp.example.com |
-n | 自動ログインを無効化 | ftp -n ftp.example.com |
-v | 詳細出力を有効化 | ftp -v ftp.example.com |
-i | 対話なしモード(mget/mput で確認を省略) | ftp -i ftp.example.com |
FTP セッション内の主なコマンド
| コマンド | 説明 | 使用例 |
|---|---|---|
open <host> | サーバーに接続 | open ftp.example.com |
user <username> <password> | ログイン | user alice secret |
ls | サーバー上のファイルを一覧表示 | ls |
cd <dir> | サーバー側のディレクトリ移動 | cd uploads |
lcd <dir> | ローカルディレクトリを変更 | lcd /home/user/downloads |
get <file> | ファイルをダウンロード | get report.txt |
mget <files> | 複数ファイルをダウンロード | mget *.txt |
put <file> | ファイルをアップロード | put local.txt |
mput <files> | 複数ファイルをアップロード | mput *.jpg |
binary | バイナリ転送モードに切り替え | binary |
ascii | ASCII 転送モードに切り替え | ascii |
delete <file> | サーバー上のファイルを削除 | delete old.txt |
bye または quit | セッション終了 | bye |
実行例
FTP サーバーに接続
ftp ftp.example.com
出力例:
Connected to ftp.example.com.
220 (vsFTPd 3.0.3)
Name (ftp.example.com:user):
ログイン
user alice secret
ファイルをダウンロード
get report.txt
ファイルをアップロード
put data.csv
複数ファイルをまとめてダウンロード
mget *.log
セッション終了
bye
エラー例(サーバーが応答しない場合)
ftp ftp.notfound.com
出力例:
ftp: Can't connect to `ftp.notfound.com': Connection timed out
ftp: Try again later
関連コマンド
sftp: SSH 経由の安全なファイル転送。scp: SSH を利用したファイルコピー。lftp: 高機能な FTP/HTTP クライアント。
備考
- FTP は暗号化されていないため、パスワードやデータが平文で流れます。
- 近年は FTPS (FTP over SSL/TLS) や SFTP (SSH File Transfer Protocol) の利用が推奨されています。
- 一部の Linux ディストリビューションでは
ftpコマンドがデフォルトでインストールされていない場合があります。

コメント