• ベストアンサー

whereisコマンドについて教えてください。

whereisコマンドでソースやマニュアルファイルの場所がわかると思うのですが疑問がわきました。 [root@localhost ~]# whereis ls ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz まずソースがls:となっているのですが、これはどこの場所を指しているのでしょうか? またマニュアルはみんな.gzファイルで用意されているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

>/bin/lsはバイナリファイルのように思うのですがソースファイルはどこにあるのでしょうか? こんばんは。 最近のほとんどのLinuxは、ソースもパッケージから入手できます。 たとえば、FedoraCoreの場合ですけど、 (1) まず、rpmコマンドを使うと、/bin/lsコマンドが、coreutilsパッケージに含まれている   事がわかります。 # rpm -qif /bin/ls Name  : coreutils Relocations: (not relocatable) Version : 5.97 Vendor: Red Hat, Inc. Release : 1.1 Build Date: 2006年07月13日 19時09分48秒 (2) FedoraCoreのミラーサイトから、coreutilsソースパッケージをダウンロードする。 http://ftp.kddilabs.jp/Linux/packages/fedora/core/5/source/SRPMS/coreutils-5.93-7.2.src.rpm (3) coreutilsソースパッケージをインストールする # rpm -ivh coreutils-5.93-7.2.src.rpm (4) coreutilsソースの固まりが、bz2形式でインストールされます。 /usr/src/redhat/SOURCES/coreutils-5.93.tar.bz2 (5) ソースの固まりを、tarコマンドで解凍します。 # tar xvjf coreutils-5.93.tar.bz2 (6) coreutilsのディレクトリが作られて、その中に、lsコマンドのソースができました。 coreutils-5.93/src/ls.c coreutils-5.93/src/ls.h あなたが使っているLinuxに合わせて、試してみてください。

noname#24489
質問者

お礼

ありがとうございます。^^ なるほど。ソースファイルはインストールしないと ないのですね。ありがとうございました。

その他の回答 (3)

回答No.4

ご質問の表示例では実行ファイルが/bin/ls、 後方の2つがマニュアルでソースはありませんね。 ソースのみを探す場合は whereis -s

参考URL:
http://www.linux.or.jp/JM/html/util-linux/man1/whereis.1.html
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.3

ソースはないか、あるいはwhereisコマンドが知っている置き場所候補ではない違う場所に置かれているかどちらかでしょう。 まず、そもそもそのlinuxにはソースは入っているのですか?たいていのディストリビューションではソースはインストールとは別作業で入れないかぎり、入らないと思いますが。

noname#24489
質問者

お礼

なるほど。ソースは別でインストールしないといけないのですね。ありがとうございました。^^

回答No.1

>これはどこの場所を指しているのでしょうか? /bin/ls

noname#24489
質問者

お礼

ありがとうございます。^^ [root@localhost logrotate.d]# whereis -s ls ls: [root@localhost logrotate.d]# whereis -b ls ls: /bin/ls /bin/lsはバイナリファイルのように思うのですがソースファイルはどこにあるのでしょうか?