ftp - ftp クライアント


Table of Contents

ftp コマンドftp サーバーに接続し、ファイル転送をすることができます。 他にも ftp クライアントには ncftpgftpなどもありますが、 やはり基本として ftp コマンドの使い方は覚えておいたほうがいいです。

% ftp

として ftp を起動後,

ftp> open

のように open と入力すると接続先ホスト名を尋ねてきます。または、

ftp> open [hostname]

とします。[hostname]には接続先のホスト名を入力します。 ftp を起動するときに直接

% ftp [hostname]

のようにしても接続できます。

その後、アカウント名、パスワードを尋ねてくるので、入力します。間違えた場合は、

ftp> user

と入力すると、再度アカウント名、パスワードを尋ねてきます。ftp を終了するには

ftp> bye

または

ftp> quit

とします。 接続を切る場合は(終了とはちがいます)、

% close

のようにします。close してしまえば、他のホストに open でつなぎ直すこともできます。

FTP コマンド一覧(よく使うもの) Edit

userlogin する
open接続を開始する
close接続を閉じる
put一個のファイルをローカルマシンからリモートマシンに転送
mput複数のファイル(ワイルドカード使用可)をローカルマシンからリモートマシンに転送
get一個のファイルをリモートマシンからローカルマシンに転送
mget複数のファイル(ワイルドカード使用可)をリモートマシンからローカルマシンに転送
delまたはdeleteファイルを一個削除
mdelファイルを複数削除
cdカレントディレクトリを変更
lcdlocal ホストのカレントディレクトリを変更
pwdカレントディレクトリを表示
mkdirディレクトリを新規作成
rmdirディレクトリを削除
lsカレントディレクトリ直下のファイルとディレクトリを表示
quote site chmodパーミッションの変更
prompt対話/非対話モードの切り替え(mgetやmput時にいちいち上書き確認等の確認を行わなくする)
ascii転送モードをASCIIモードに
bin転送モードをbinaryモードに
hashアップロード/ダウンロードの進行具合を#で表示
passiveパッシブモードに切り替え
status現在の設定を表示 (prompt など)
![command]local ホストでのコマンドの実行。!ls や !mkdir
?コマンド一覧を表示
byeまたはquit終了

.netrc Edit

マクロ機能(一連の決まった処理を登録しておき、後で呼び出して実行する機能)を使うこともできます。まずホームディレクトリに

.netrc

というファイルを作成します。そのファイルに以下のように書きます。

machine [hostname or IPaddress]
login [username]
password [password]
macdef [macroname]
cd [hogehoge]
lcd [hogehoge]
get [hogehoge]

macdef [macroname]
cd [hogehoge]
lcd [hogehoge]
put [hogehoge]

machine [hostname or IPaddress]
login [username]
password [password]
 

のように書いておきます。最後の行に1つ空行入れておかないとエラーになるみたいです。 パスワードを書いているので

% chmod 600 ~/.netrc

のように実行しておきましょう。 このようにしておくと、machine のところに書いたホストに接続した際に、 自動的にログインしてくれます。そして macdef のところで登録したマクロ名で

ftp> $[macroname]

のようにすることで macdef 以下から macdef まで(もしくは machine もしくはファイルの終りまで)に書かれた処理が一発で実行されます。しかし、これでもホスト名は入力しなければいけないので、それすらもめんどくさい人は、適当なファイルに、

open [hostname or IPaddress]
user [username] [password]
cd [hogehoge]
lcd [hogehoge]
get [hogehoge]

のように書いておき、

% ftp -n < [filename]

のようにリダイレクトすることで一括処理できます。-n というのはさっきの .netrc を読み込まないようにするオプションです。 .netrc を読み込んでマクロを使うのならば、ファイルに

open [hostname or IPaddress]
$[macroname]

のように user 行をなくして、登録してあるマクロを記述し、

% ftp < [filename]

のようにするだけでOKになります。自分はこの方法でやっています。


xrea