ftpコマンドを使う際、~/.netrcを使ってログインを簡略化できる。
machineでサーバを指定し、そのサーバにログインする際のユーザ、パスワード、初期化処理(initという名のマクロ)などを記述できる。
また、defaultを使えばmachineエントリのない全てのサーバに対するデフォルト設定を書ける。
例えばこんな感じ。
machine web-server login www password PASSWORD macdef init cd /var/www/html ascii default login mikeda password PASSWORD macdef init cd /tmp binary hash prompt
WEBサーバにはwwwユーザで、その他はmikedaユーザでログインする。初期化処理は見ての通り。
注意点はファイルのパーミッションを600にすること(セキュリティ上、というかそうしないと動かないようになってる)、マクロの終わりと次のエントリの間に空白行を必ず挿入すること。
initで指定してるftpコマンドについていちおう。
hashはファイル転送の進行状況を表示させるオプション。1024バイトごとに#が表示される。(大きなファイル転送時にはわけわからんようになるから%表示にできないかな・・・)
promptは対話モードをオフにする(切り替える)。mput,mgetで複数ファイルを転送するときにいちいち可否を聞かれなくなる、便利でちょっと怖いコマンド。