アプリ版:「スタンプのみでお礼する」機能のリリースについて

findコマンドの使い方について、
疑問がありますで、掲示いたします。

【質問】
今、以下の同名のファイル名が存在しています。

[root@centos5 ~]# ls -l /etc/httpd/modules/mod_actions.so
-rwxr-xr-x 1 root root 9628 10月 21 06:05 /etc/httpd/modules/mod_actions.so
[root@centos5 ~]# ls -l /usr/lib/httpd/modules/mod_actions.so
-rwxr-xr-x 1 root root 9628 10月 21 06:05 /usr/lib/httpd/modules/mod_actions.so

この状態で、以下のようにfindコマンドを実行しました。

find / -name mod_actions.so

すると、以下の結果が表示されました。

[root@centos5 ~]# find / -name mod_actions.so
/usr/lib/httpd/modules/mod_actions.so


【確認】
/etc/httpd/modules/mod_actions.soが何故、表示されないのでしょうか。
上記コマンドのコマンドの構文が不適切だからなのか。

こちら、上記2ファイルを抽出するfindの構文を教えて頂けないでしょうか。



以上、よろしくお願いいたします。

A 回答 (2件)

/etc/httpd/modules が/usr/lib/httpd/modulesへのシンボリックリンクになって


いるはずです。
つまり、mod_actions.soが2つ存在しているのではなく
実体は1つなのを、シンボリックリンクにより異なるパスでも参照できる
ようになっているだけです。

findは通常は、シンボリックリンク先までは潜ってくれないので
実ファイルしか表示してくれませんが、
-follow をつけることで、シンボリックリンクでも先まで参照してくれます。
    • good
    • 0
この回答へのお礼

お返事が遅くなり、大変申し訳ありません。

[root@centos5 ~]# ls -l /etc/httpd/modules
lrwxrwxrwx 1 root root 27 1月 10 22:14 /etc/httpd/modules -> ../../usr/lib/httpd/modules

シンボリックリンクであることがわかりました。
また、findの仕様も教えていただきありがとうございます。
これで、解決しました。

お礼日時:2012/03/04 08:58

> 上記コマンドのコマンドの構文が不適切だからなのか。



findはデフォルトでシンボリックリンクを辿りません。
(おそらく無限ループになるのを避けるための仕様)

/etc/httpd/modulesは/usr/lib/httpd/modulesへの
シンボリックリンクになっていませんか?

> こちら、上記2ファイルを抽出するfindの構文を教えて頂けないでしょうか。

-Lオプションを指定してみてください。
    • good
    • 0
この回答へのお礼

返事が遅くなり申し訳ありません。

>/etc/httpd/modulesは/usr/lib/httpd/modulesへの
シンボリックリンクになっていませんか?

シンボリックリンクとなっておりました。
なので、findで上記ファイルが抽出されない理由も納得しました。

ありがとうございます。

お礼日時:2012/03/04 08:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!