目的別FTPコマンド一覧
更新日:2019/08/13
普段はGUIを使ってFTPをしていますが、たまたまCUIなやり取りをすることになりました。
ですがFTPコマンドを最後に使ったのが20年以上前のため、完全に忘れていました…
そこで思い出しながら、コマンドを書き出してみます。
- 1起動コマンド
- 2接続・切断に関するコマンド
- FTPサーバーに接続
- FTPサーバーから切断
- FTPを終了
- ユーザー変更
- ステータス(接続設定)を確認
- 3パッシブモードに切り替える
- 4ファイル・ディレクトリ確認
- サーバーのファイル・ディレクトリ一覧を表示する
- サーバーの複数のディレクトリ内のファイル・ディレクトリ一覧を表示する
- ローカルのファイル・ディレクトリ一覧を表示する
- サーバーのカレントディレクトリの名前を表示する
- ローカルのカレントディレクトリの名前を表示する
- サーバーのカレントディレクトリを変更する
- ローカルマシンのカレントディレクトリを変更する
- サーバー上のファイルの中身を表示
- 5ファイル・ディレクトリ作成・削除
- サーバーにディレクトリを作成する
- ローカルにディレクトリ(フォルダ)を作成する
- サーバーのディレクトリを削除する
- ローカルのディレクトリを削除する
- サーバーのファイルを削除する
- ローカルのファイルを削除する
- サーバーのファイルを複数削除する
- サーバーのファイル名を変更する
- 6ファイルの送受信
- ローカルからサーバーにファイルを送信
- ローカルからサーバーに複数ファイルを送信
- サーバーに存在するファイルに、ローカルのファイルを追加書き込み
- サーバーからローカルにファイルを受信
- サーバーからローカルに複数のファイルを受信
- 7動作環境設定
- 動作環境の表示
- ファイル転送モードの変更
- 詳細表示モードの切り替え
- デバッグモードの切り替え
- パケットの追跡モードの切り替え
- ワイルドカード利用の切り替え
- 転送状況の表示切り替え
- 確認(対話)モードの切り替え
- BEEP音の切り替え
- 8その他
- サーバー上で実行できるコマンドの表示
- サーバー上でコマンドを実行
- ローカル上でコマンドを実行
- ヘルプを表示
起動コマンド
「FTP」と入力することで、FTPが起動します。
s:\>ftp
ftp>
起動時のコマンドにも、多数のオプションが存在します。
FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer]
[-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [host]
-v リモート サーバーの応答を表示しません。
-n 最初の接続時に自動ログインを行いません。
-i 複数ファイルの転送中に、対話的なメッセージ表示を
無効にします。
-d デバッグを有効にします。
-g ファイル名のグロビングを無効にします (GLOB コマンドを参照)。
-s:filename FTP コマンドを記述したテキスト ファイルを指定します。
これらのコマンドは、FTP の開始後に自動実行されます。
-a データ接続のバインド時に、いずれかのローカル インターフェイ
スを使用します。
-A 匿名でログインします。
-x:send sockbuf SO_SNDBUF の既定のサイズである 8192 を上書きします。
-r:recv sockbuf SO_RCVBUF の既定のサイズである 8192 を上書きします。
-b:async count 既定の非同期数である 3 を上書きします。
-w:windowsize 既定の転送バッファー サイズである 65535 を上書きします。
host 接続先のリモート ホストのホスト名または IP アドレス
を指定します。
普段使用するのは、ホスト名の指定(host)くらいですね。
c:\>ftp abc-defg.com
abc-defg.com に接続しました。
220 FTP Server ready.
200 UTF8 set to on
ユーザー (abc-defg.com:(none)):
接続・切断に関するコマンド
FTPサーバーに接続
openコマンド:
ftp> open abc-defg.com
abc-defg.com に接続しました。
220 FTP Server ready.
200 UTF8 set to on
ユーザー (abc-defg.com:(none)): hogehoge <= ユーザー名入力
331 Password required for hogehoge
パスワード: <= パスワード入力
230 User hogehoge logged in.
ftp>
openコマンドを実行すると、ユーザー名とパスワードを要求されます。
FTPサーバーから切断
closeコマンド:
または
disconnectコマンド:
ftp> close
221 Goodbye.
ftp>
FTPサーバーからの接続を閉じるコマンドは、二つあります。
FTPを終了
byeコマンド:
または
quitコマンド:
ftp> bye
221 Goodbye.
c:\
FTPサーバー接続を切断して終了、または、未接続の状態からFTPを終了します。
このコマンドも二つあります。
ユーザー変更
userコマンド:
ftp> user
ユーザー名 hogehoge2
331 Password required for hogehoge hogehoge2 <= ユーザー名入力
パスワード: <= パスワード入力
230 User hogehoge2 logged in.
ftp>
サーバーに接続した後、ユーザーを変更します。
ステータス(接続設定)を確認
statusコマンド:
ftp> status
abc-defg.com に接続しました。
種類: ascii; 詳細: オン; ベル: オフ; 確認: オン; グロビング: オン
デバッグ: オフ; # (ハッシュ記号) の出力: オフ。
パッシブモードに切り替える
quote pasv:
ftp> quote pasv
227 Entering Passive Mode (123,45,240,28,123,123).
Windowsのコマンドプロンプトでパッシブモードを使用するときは、このコマンドを使う。
ファイル・ディレクトリ確認
ここでは接続先(リモート)をサーバー、接続元をローカルと表記しています。
サーバーのファイル・ディレクトリ一覧を表示する
lsコマンド:
または
dirコマンド:
ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
.
..
abc
defg.txt
「ls -l」など、オプション指定も可能。
サーバーの複数のディレクトリ内のファイル・ディレクトリ一覧を表示する
mdirコマンド:
または
mlsコマンド:
ftp> mls dir_a dir_b -
200 PORT command successful
150 Opening ASCII mode data connection for file list
drwx--x--x 6 hogehoge 1234 4096 Aug 2 2017 .
drwx--x--x 10 hogehoge 1234 4096 Dec 7 2015 ..
-rw-r--r-- 1 hogehoge 1234 177 Aug 2 2017 .htaccess
226 Transfer complete
ftp: 1374 バイトが受信されました 0.08秒 16.76KB/秒。
200 PORT command successful
150 Opening ASCII mode data connection for file list
drwx--x--x 2 hogehoge 1234 10 Dec 7 2015 .
drwx--x--x 10 hogehoge 1234 4096 Dec 7 2015 ..
226 Transfer complete
ftp: 120 バイトが受信されました 0.01秒 15.00KB/秒。
最後の引数は、ローカル側の出力ファイルを指定する。
画面上に出力する場合は「-」を指定する。
ローカルのファイル・ディレクトリ一覧を表示する
!dirコマンド:
ftp> !dir
ドライブ C のボリューム ラベルは Windows です
ボリューム シリアル番号は 123C-DE6A です
C:\Users\hogera のディレクトリ
2019/08/08 15:40
2019/08/08 15:40
サーバーのカレントディレクトリの名前を表示する
pwdコマンド:
ftp> pwd
257 "/" is the current directory
ローカルのカレントディレクトリの名前を表示する
!cdコマンド:
ftp> !cd
C:\Users\hogera
サーバーのカレントディレクトリを変更する
cdコマンド:
ftp> cd abcde
250 CWD command successful
ローカルマシンのカレントディレクトリを変更する
lcdコマンド:
ftp> lcd abcde
ローカル ディレクトリは現在 C:\Users\hogera\abcde です。
サーバー上のファイルの中身を表示
getコマンド:
または
recvtコマンド:
ftp> recv abc1.txt -
200 PORT command successful
150 Opening ASCII mode data connection for abc1.txt (24 bytes)
text is abc1
2226 Transfer complete
ftp: 27 バイトが受信されました 0.00秒 27.00KB/秒。
※上の例は、受信後のファイル名に「-」を指定することで、ファイル内容を画面上に表示している。
ファイル・ディレクトリ作成・削除
サーバーにディレクトリを作成する
mkdirコマンド:
ftp> mkdir abc
257 "/hogehoge/abc" - Directory successfully created
ローカルにディレクトリ(フォルダ)を作成する
!mkdirコマンド:
(ローカル側のディレクトリ作成コマンド)
ftp> !mkdir abc
結果は何も表示されない。
OS標準のGUIで作成するほうが安全。
サーバーのディレクトリを削除する
rmdirコマンド:
ftp> rmdir abc
250 XRMD command successful
ローカルのディレクトリを削除する
!rmdirコマンド:
(ローカル側の削除コマンド)
ftp> !rmdir abc
結果は何も表示されない。
FTPではなく、OS標準のGUIで削除する方が安全。
サーバーのファイルを削除する
deleteコマンド:
ftp> delete abcde.txt
250 DELE command successful
ローカルのファイルを削除する
!delコマンド:
(ローカル側のファイル削除コマンド)
ftp> !del abcde.txt
結果は何も表示されない。
GUIで作成するほうが安全。
サーバーのファイルを複数削除する
mdeleteコマンド:
ftp> mdelete abc1.txt abc2.txt
200 Type set to A
mdelete abc1.txt? y<=削除問い合わせ「y」を入力
250 DELE command successful
mdelete abc2.txt? y<=削除問い合わせ「y」を入力
250 DELE command successful
グロビング(glob)がオンの場合、『abc*.txt』のようにワイルドカードでの指定も可能。
サーバーのファイル名を変更する
renameコマンド:
ftp> rename abc2.txt hogehoge.txt
350 File or directory exists, ready for destination name
250 Rename successful
ファイルの送受信
ローカルからサーバーにファイルを送信
putコマンド:
または
sendコマンド:
ftp> put abc1.txt
200 PORT command successful
150 Opening ASCII mode data connection for abc1.txt
226 Transfer complete
ftp: 12 バイトが送信されました 0.02秒 0.63KB/秒。
ローカルからサーバーに複数ファイルを送信
mputコマンド:
ftp> mput abc1.txt abc2.txt
mput abc1.txt? y<=削除問い合わせ「y」を入力
200 PORT command successful
150 Opening ASCII mode data connection for abc1.txt
226 Transfer complete
mput abc2.txt? y<=削除問い合わせ「y」を入力
200 PORT command successful
150 Opening ASCII mode data connection for abc2.txt
226 Transfer complete
グロビング(glob)がオンの場合、ワイルドカードを使用可能。
サーバーに存在するファイルに、ローカルのファイルを追加書き込み
appendコマンド:
ftp> append abc2.txt abc1.txt
200 PORT command successful
150 Opening ASCII mode data connection for abc1.txt
226 Transfer complete
ftp: 12 バイトが送信されました 0.02秒 0.60KB/秒。
上の例は、ローカルファイル「abc2.txt」をサーバー上の「abc1.txt」に追加しています。
サーバーからローカルにファイルを受信
getコマンド:
または
recvコマンド:
ftp> get hogehoge.txt
200 PORT command successful
150 Opening ASCII mode data connection for hogehoge.txt
226 Transfer complete
サーバーからローカルに複数のファイルを受信
mgetコマンド:
ftp> mget abc1.txt abc2.txt
200 Type set to A
mget abc2.txt? y<=削除問い合わせ「y」を入力
200 PORT command successful
150 Opening ASCII mode data connection for abc2.txt
226 Transfer complete
mget abc1.txt? y<=削除問い合わせ「y」を入力
200 PORT command successful
150 Opening ASCII mode data connection for abc1.txt
226 Transfer complete
グロビング(glob)がオンの場合、ワイルドカードを使用可能。
動作環境設定
動作環境の表示
statusコマンド:
ftp> status
kurotama.xsrv.jp に接続しました。
種類: ascii; 詳細: オン; ベル: オフ; 確認: オフ; グロビング: オフ
デバッグ: オフ; # (ハッシュ記号) の出力: オン。
現在の設定を表示します。
ファイル転送モードの変更
type asciiコマンド:
type binaryコマンド:
または
asciiコマンド:
binaryコマンド:
ftp> type ascii
200 Type set to A
typeコマンドに引数を指定しない場合、現在の種別が表示されます。
詳細表示モードの切り替え
verboseコマンド:
ftp> verbose
詳細モード オフ。
コマンド実行時のメッセージを詳細に表示するかどうかを指定します。
verboseコマンドを実行するたびに、オン・オフが切り替わります。
デバッグモードの切り替え
debugコマンド:
ftp> debug
デバッグ オン。
debugコマンドを実行するたびに、オン・オフが切り替わります。
debugをオンにすると、デバッグメッセージが表示されます。
ftp> append abc2.txt abc1.txt
---> PORT 123,123,0,12,111,22
接続がリモート ホストによって閉じられました。
コマンドを実行するたびに、オン・オフが切り替わります。
パケットの追跡モードの切り替え
traceコマンド:
ftp> trace
パケットの追跡 オン。
コマンドを実行するたびに、オン・オフが切り替わります。
私の環境では、オン・オフともに同じ表示内容でした。
ワイルドカード利用の切り替え
globコマンド:
ftp> glob
グロビング オフ。
オン時、ワイルドカードでの指定が可能になります。
コマンドを実行するたびに、オン・オフが切り替わります。
転送状況の表示切り替え
hashコマンド:
ftp> hash
# (ハッシュ記号) の出力 オン ftp: (2048 バイト/# 記号) .
転送状況を表示するかどうか、設定します。
コマンドを実行するたびに、オン・オフが切り替わります。
確認(対話)モードの切り替え
promptコマンド:
ftp> prompt
対話モード オフ。
複数ファイルの転送を行う際、確認をするかどうか指定します。
コマンドを実行するたびに、オン・オフが切り替わります。
BEEP音の切り替え
bellコマンド:
ftp> bell
ベル モード オン。
転送完了時にビープ音を鳴らすかどうか設定します。
コマンドを実行するたびに、オン・オフが切り替わります。
その他
サーバー上で実行できるコマンドの表示
remotehelpコマンド:
ftp> remotehelp
214-The following commands are recognized (* =>'s unimplemented):
CWD XCWD CDUP XCUP SMNT* QUIT PORT PASV
EPRT EPSV ALLO* RNFR RNTO DELE MDTM RMD
XRMD MKD XMKD PWD XPWD SIZE SYST HELP
NOOP FEAT OPTS AUTH CCC* CONF* ENC* MIC*
PBSZ PROT TYPE STRU MODE RETR STOR STOU
APPE REST ABOR USER PASS ACCT* REIN* LIST
NLST STAT SITE MLSD MLST
214 Direct comments to root@localhost
サーバー上でコマンドを実行
literalコマンド:
または
quoteコマンド:
ftp> quote pasv<=パッシブモードに切り替え
227 Entering Passive Mode (123,45,240,28,123,123).
ローカル上でコマンドを実行
!+ローカルコマンド:
ftp> !dir
ドライブ C のボリューム ラベルは Windows です
ボリューム シリアル番号は 332A-DB4X です
C:\Users\hogehoge のディレクトリ
2019/08/13 16:47
2019/08/13 16:47
ヘルプを表示
?コマンド:
または
helpコマンド:
ftp> help
コマンドは省略することができます。コマンド:
!! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
コマンド毎のヘルプを表示
ftp> help ls
ls リモート ディレクトリの内容を一覧表示します
更新日:2019/08/13
関連記事
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。