たとえば、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-server
init
- スクリプトによって起動されるメインサーバープログラム。
/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
示します。foo
bar
ls -l
また、ファイル内のハードリンクも表示されます。
$ ls -l foo
-rw-rw-r-- 2 ghoti ghoti 0 Aug 18 18:36 foo
この場合、2
権限と所有者の間に2つのファイルがあることを示すfoo
2つのハードリンクがあります。find
以下を使用して、同じファイルを指すハードリンクされたファイルを見つけることができます。
find / -samefile foo
上記のコマンドは、ファイルシステム全体のすべてのハードリンクを検索します。foo
正しい起動方法に関する質問は、rabbitmq
マニュアルページを参照して見つけるのが最善です。
man rabbitmq