Linuxのls、echo、catなどの標準コマンドライン関数のソースコードを調べたいのですが、ソースコードが見つかりませんでした(Google検索は役に立たなかった)。
それがどこで利用できるか誰かが知っていますか?私はそれが素朴な質問であることを知っていますが、このソースコードを本当に見つけることができません。
これらのコマンドは GNUコアユーティリティ です。最新のコードはgitリポジトリから取得できます:
http://git.savannah.gnu.org/cgit/coreutils.git
匿名で確認するには、次のようにgit cloneを使用します。
$ git clone git://git.savannah.gnu.org/coreutils.git
これらの実装はいくつかありますが、最も一般的なものはGNU coreutils(ほとんどのLinuxディストリビューションにあります)およびBSD実装(FreeBSD、OS X、およびその他のほとんどの非Linux Unixにあります)です。 -好きです)。
ソースからすべてをインストールするディストリビューション(Gentooなど)を使用しているのでない限り、ソースをダウンロードするようパッケージマネージャーに依頼する必要があります。 Debianベースのシステムでは、適切なコマンドはapt-get source {package-name}
で、指定したパッケージのソースをダウンロードして現在のディレクトリに保存します。あとは、これらのコマンドが含まれているパッケージを見つけるだけです。パッケージマネージャーのドキュメントを調べて方法を調べるか、ディストリビューションのWebサイトを検索できます。ほとんどのパッケージには、パッケージ内の個々のファイルを検索できるパッケージ検索があります。
Debianベースのシステム(Ubuntuなど)の場合:
$ dpkg -S /bin/rm
coreutils: /bin/rm
$ dpkg -l coreutils
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-============================-============================-========================================================================
ii coreutils 8.13-3ubuntu3 GNU core utilities
Red Hatベースのシステム(FedoraやCentosなど)の場合:
$ rpm -qf /bin/rm
coreutils-5.97-34.el5_8.1