BSD の ls とか cat のソースコードを読みたい

ls とか、cat とかのソースを読んだことないのはプログラマとしてやばいらしいので読めるようになりたい(参考:lsコマンドのソース(FreeBSD版):濃縮還元オレンジニュース|gihyo.jp … 技術評論社)。GNU版は読みにくいみたいなので、BSD版をダウンロードして読んでみたいと思う。


早速、ダウンロードと思ったけど、ソースコードのダウンロード方法が分からない…。ググってみると、どうやら BSD の CVSリポジトリってとこからダウンロードできることが分かった。
まずは、空の .cvspass ファイルを作っておく

% touch .cvspass

次に、CVSROOT を設定して export する。.bash_profile に書いておくと便利。

% export CVSROOT=":pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs"

ログインして、カレントディレクトリに ls のソースコード一式をダウンロード(チェックアウトって呼ぶらしい)。

% cvs login
password: 適当なパスワードを設定する
% cvs co ls

パスワードは cvs login に成功すると ~/.cvspass に記録されて、~/.cvspass を消さない限り有効らしい。もし消したければ、cvs logout を使う。(参考:

参考(Annonymous CVS

:日本語資料では1番分かり易かった
A.3. Anonymous CVS (Deprecated)
FreeBSD QandA 649:Anonymous CVS について