UNIX/Linuxの部屋 設定ファイル:~/.netrc

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




設定ファイル ~/.netrc ftp 用アカウント情報ファイル このエントリーをはてなブックマークに追加

ftp コマンドで ftp://ftp.jp.FreeBSD.org/ に anonymous ログインするには、
% ftp ftp.jp.FreeBSD.org
Name: anonymous
Password: (パスワード=メールアドレス入力)
と認証を行わなければいけない。さらに自分好みの設定にするには (当ページ管理人の場合)、
ftp> binary (バイナリモード)
200 Type set to I.
ftp> hash (1024 バイト転送するごとにマークを表示)
Hash mark printing on (1024 bytes/hash mark).
ftp> prompt (mget でいちいち取得するかどうかを問い合わせない)
Interactive mode off.
とタイプする必要がある。これでは非常に面倒である。

それを自動化するのが ~/.netrc というファイルである。
machine ftp.jp.freebsd.org
login anonymous
password 68user@X68000.startshop.co.jp
と書いておけば、
% ftp ftp.jp.freebsd.org
としただけで自動的にログインが行われる。ftp.jp.NetBSD.og にも同様のことが
したかったら、
machine ftp.jp.netbsd.org
login anonymous
password 68user@X68000.startshop.co.jp
を追加すればよい。

このようにいちいち対象 FTP サーバごとに記述するのが面倒ならば、
default login anonymous password 68user@X68000.startshop.co.jp
と書いておけば、エントリがない場合自動的にこの記述が使われる。ただし、default エントリが現れると ~/.netrc の読み込みがそこで止まってしまうので、必ず default エントリはファイルの最後に書く。

さらに ~/.netrc に
macdef init
binary
hash
prompt
(ここに必ず空行が必要)
と、init というマクロを追加すると、ログイン後に init マクロが自動的に実行される。

なお、~/.netrc は他人が読めないように
% chmod 600 ~/.netrc
としておくこと。

うまく動かない場合は ftp に -d オプションを付けて挙動を観察するとよいだろう。