FTP コマンド一覧:クライアントとプロトコルのリファレンス
FTP のコマンドをひとつの場所に。 コマンドラインクライアントのコマンド:Windows の ftp.exe、macOS、Linux で打ち込むもの(get, put, mget, bye)。そして RFC 959 の生のプロトコルコマンド:通信路上ではこれに変換されます。
2026 年 7 月更新
コマンドライン FTP クライアントのコマンド
以下のコマンドは Windows(ftp.exe)、macOS、Linux に標準で入っている対話型 FTP クライアントで使えます。セッションは ftp hostname で開始します(あるいは open hostname を ftp> プロンプトから)。そのうえで下記のコマンドを使ってください。スクリプト化まで含めた Windows での詳しい手順は、こちらのガイドをご覧ください: Windows のコマンドラインから FTP を使う.
セッションと接続
| コマンド | はたらき | 例 |
|---|---|---|
open | FTP サーバーへ接続します(ユーザー名とパスワードを尋ねられます)。 | open ftp.example.com |
user | 開いている接続で、あらためて、または別のユーザーとしてログインします。 | user alice |
close / disconnect | サーバーとの接続を終えますが、FTP プログラム自体は終了しません。 | close |
bye / quit | 接続を閉じ、FTP プログラムを終了します。 | bye |
status | 現在のセッション設定(モード、転送種別、各種切り替え)を表示します。 | status |
! | ローカルのシェルへ抜けます。 exit と入力すると戻ります: ftp>. | !dir |
ダウンロードとアップロード
| コマンド | はたらき | 例 |
|---|---|---|
get / recv | サーバーからファイルを 1 つダウンロードします。 | get report.pdf |
put / send | サーバーへファイルを 1 つアップロードします。 | put backup.zip |
mget | 複数のファイルをダウンロードします(ワイルドカード可)。 | mget *.log |
mput | 複数のファイルをアップロードします(ワイルドカード可)。 | mput *.html |
append | ローカルのファイルをサーバー上のファイルへ追記します。 | append part2.txt log.txt |
delete | サーバー上のファイルを 1 つ削除します。 | delete old.bak |
mdelete | サーバー上の複数のファイルを削除します(ワイルドカード可)。 | mdelete *.tmp |
rename | サーバー上のファイルの名前を変更します。 | rename a.txt b.txt |
ディレクトリを見て回る
| コマンド | はたらき | 例 |
|---|---|---|
dir / ls | 現在のリモートディレクトリのファイルを一覧表示します。 | dir |
cd | リモートのディレクトリを移動します。 | cd /public_html |
lcd | 転送に使う ローカル のディレクトリを変更します。 | lcd C:\Downloads |
pwd | 現在のリモートディレクトリを表示します。 | pwd |
mkdir | サーバー上にディレクトリを作成します。 | mkdir images |
rmdir | サーバー上の空のディレクトリを削除します。 | rmdir old-site |
転送の設定と切り替え
| コマンド | はたらき | 例 |
|---|---|---|
binary | バイナリ(イメージ)モードに切り替えます。zip、画像、実行ファイル、メディアはこちらで。 テキスト以外のファイルをダウンロードする前に、必ず設定してください。 | binary |
ascii | ASCII テキストモードに切り替えます(改行コードを変換します)。多くのクライアントでの既定です。 | ascii |
prompt | ファイルごとの確認を切り替えます。対象は mget/mput/mdelete. | prompt |
hash | 転送したブロックごとに # を表示します。簡易な進捗バーです。 | hash |
verbose | サーバーの応答を表示するかどうかを切り替えます。 | verbose |
literal / quote | 生のプロトコルコマンド(下の表を参照)をサーバーへ直接送ります。 | literal SYST |
remotehelp | サーバーがどのプロトコルコマンドに対応しているかを尋ねます。 | remotehelp |
help / ? | クライアントのコマンドを一覧表示する、または 1 つの説明を表示します。 | help mget |
セッションの例
C:\> ftp ftp.example.com Connected to ftp.example.com. User: alice Password: ******** ftp> binary 200 Type set to I. ftp> cd /backups 250 CWD command successful. ftp> hash Hash mark printing On. ftp> get site-backup.zip 226 Transfer complete. ftp> mput *.log mput access.log? y 226 Transfer complete. ftp> bye 221 Goodbye.
SSH 経由で作業していますか。OpenSSH の sftp クライアントは似ていますが別のコマンド体系です。こちらをご覧ください: SFTP コマンドリファレンス。そもそもサーバーに接続できない場合は、まずこちらでネットワーク側の問題を切り分けてください: FTP 接続テスター.
生の FTP プロトコルコマンド(RFC 959)
これらは FTP クライアントが制御接続の上で実際に送っているコマンドです。サーバーのログを読むとき、 literal/quoteで調べるとき、あるいは自分で FTP を実装するときに役立ちます。検索するか、カテゴリーで絞り込んでください。
FTP コマンドについて
FTP のプロトコルコマンドは、クライアントからサーバーへ制御接続(既定ではポート 21)を通じて送られます。サーバーは 3 桁のステータスコードで応答します。中核となるプロトコルは RFC 959で定義され、拡張は RFC 2228、2389、2640、3659、4217 で定められています。
サーバーの応答コードの意味をお探しですか。こちらをご覧ください: FTP 応答コード検索 ツール。
よくある質問
入っています。従来からのコマンドライン FTP クライアントは Windows 11 と Windows 10 に同梱されており、コマンドプロンプトか PowerShell で ftp と入力すれば起動します。ただし対応するのは平文の FTP だけで、SFTP や FTPS のサーバーへは接続できません。
Windows の ftp.exe はアクティブモードにしか対応していません。アクティブモードでは、データ転送のたびにサーバーの側からお使いの PC へ接続し返します。家庭用ルーターや企業のファイアウォールはたいていその着信接続を遮断するため、ログイン後にディレクトリの一覧表示や転送が止まってしまいます。パッシブモード(PASV)に対応したクライアント(事実上すべてのグラフィカルな FTP クライアント)ならこの問題は起きません。
get、put、mget、bye といったクライアントコマンドは、コマンドラインの FTP プログラムに打ち込むものです。プログラムはそれを RFC 959 が定める生のプロトコルコマンド(RETR、STOR、PASV、QUIT)へ変換し、実際に通信路を流れるのはそちらです。たとえば get report.pdf と打つと、裏では TYPE I、PASV または PORT、そして RETR report.pdf が送られています。
できません。Windows の ftp.exe が話せるのは平文の、暗号化されていない FTP だけです。SFTP には OpenSSH の sftp コマンド(こちらも Windows 10 と 11 に標準で入っています)か、対応するクライアントが必要です。FTPS(TLS 上の FTP)には明示的または暗黙的な TLS に対応したクライアントが必要で、ftp.exe はそのどちらも備えていません。
1 行に 1 コマンドを書いたテキストファイルを用意し、ftp -s:commands.txt hostname として実行します。ファイルはふつう、ユーザー名とパスワードを別々の行に書くところから始まり、続いて binary、get や put、bye といった転送コマンドを並べます。ただしパスワードは平文で保存され、通信も暗号化されません。定期実行や無人実行なら、SFTP/FTPS に対応し、まともなスケジューラを備えたツールのほうが適しています。
コマンドを覚えたくないなら
FTPie は現代的な Windows 向け FTP・FTPS クライアント です。ドラッグ&ドロップでの転送、ファイアウォール越しでもきちんと動くパッシブモード、そして SFTP、WebDAV、10 以上のクラウドサービスが同じアプリに入っています。サーバー接続 3 つまでは無料です。
FTPie を無料でダウンロード