Linuxコマンドの実装コードを手に入れる方法
mvコマンドの実装が気になったので実装のコードを手に入れた。
今後また別のコマンドの実装も見たくなると思われるので、手順を残しておく。
環境はCentOS 7.3。
提供パッケージを調べる
まずはmvコマンドがどのRPMパッケージから提供されているか調べていく
$ rpm -qf /usr/bin/mv coreutils-8.22-18.el7.x86_64
coreutilsパッケージがmvコマンドを提供してくれてるみたい。 バージョンは8.22。
パッケージ提供元のサイトURLを調べる
coreutilsパッケージを提供しているサイトのURLを調べる。
$ rpm -qi coreutils Name : coreutils Version : 8.22 URL : http://www.gnu.org/software/coreutils/
出力は要点以外は割愛している。 URLはhttp://www.gnu.org/software/coreutils/だとわかった。
ソースを取りに行く
http://www.gnu.org/software/coreutils/ にアクセスする。
アクセスしたらDownloadsの見出しの下にある「Stable source releases can be found at …..」のトコロに書いてあるftp.gnu.orgへのリンクをクリック。coreutilsの場合は ここ(Index of /gnu/coreutils)
するとソースのアーカイブファイルがずらっと並んでいるので好きなバージョンを選んでダウンロードすればよい。
今回は8.22が欲しいので http://ftp.gnu.org/gnu/coreutils/coreutils-8.2.tar.gz をクリックしてダウンロードした。
解凍・展開
あとは手に入れたtarballを解凍・展開するのみ
tar zxvf coreutils-8.2.tar.gz
展開したディレクトリの中からmv.cファイルを見つけた。
手に入ったはいいけどC言語わかんなくて全然読めないw
C言語の勉強してから再度読解に挑戦することにする。