他のディレクトリの名前は同じですか?

他のディレクトリの名前は同じですか?

たとえば、Red Hat Enterprise Linux 7.2では

/etc/rc.d/init.d/rabbitmq-server
/etc/logrotate.d/rabbitmq-server
/usr/sbin/rabbitmq-server
/usr/lib/ocf/resource.d/rabbitmq/rabbitmq-server

4つ以上rabbitmq-server(実際には2つ以上ある)、同じものですか?つまり、始めたい場合は、rabbitmq次のいずれかのコマンドを使用できますかrabbitmq-server

答え1

いいえ、全く異なり、内容も異なります。

たとえば、

A/file
B/file

$ cat A/file
hello

$ cat B/file
there

私たちは彼らが異なることを言っていることがわかります。

あなたの場合:

/etc/rc.d/init.d/rabbitmq-server- 起動時に起動スクリプトになります。

/etc/logrotate.d/rabbitmq-server- ログファイルを管理します。

/usr/sbin/rabbitmq-serverinit- スクリプトによって起動されるメインサーバープログラム。

/usr/lib/ocf/resource.d/rabbitmq/rabbitmq-server– これは HA 構成の一部です。

したがって、これら4つのファイルはすべて別の操作を実行します。

答え2

多くの環境と同様に、同じ名前の複数のファイルが複数の場所に存在する可能性があります。

ファイルが同じであるか(または実際には複数のリンクを持つ同じファイルであるか)、確認する方法はいくつかあります。

diffまず、ファイル内容の比較などのツールを使用できます。異なる場合は違いを確認できます(またはファイルがバイナリとして解釈された場合はファイルが異なることを示す通知が表示されます)。

diff /etc/rc.d/init.d/rabbitmq-server /etc/logrotate.d/rabbitmq-server

次に、長い形式を使用して、ファイルがシンボルls(または「ソフト」リンク)であることを確認できます。これにより、そのファイルがシンボリックリンクであること、および次を指す場所が表示されます。

$ ls -l bar
lrwxrwxrwx 1 ghoti ghoti 3 Aug 18 18:34 bar -> foo

l最初の列にあるのはこれがbarリンクであることを示し、行の終わりはこれが指す位置をbar -> foo示します。foobar

ls -lまた、ファイル内のハードリンクも表示されます。

$ ls -l foo
-rw-rw-r-- 2 ghoti ghoti 0 Aug 18 18:36 foo

この場合、2権限と所有者の間に2つのファイルがあることを示すfoo2つのハードリンクがあります。find以下を使用して、同じファイルを指すハードリンクされたファイルを見つけることができます。

find / -samefile foo

上記のコマンドは、ファイルシステム全体のすべてのハードリンクを検索します。foo

正しい起動方法に関する質問は、rabbitmqマニュアルページを参照して見つけるのが最善です。

man rabbitmq

関連情報