例如,在我的 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
权限和所有者之间的 表明该foo
文件有两个硬链接。您可以使用find
来定位指向同一文件的硬链接文件:
find / -samefile foo
上面的命令将在整个文件系统中搜索所有硬链接foo
至于您关于正确启动方法的问题rabbitmq
,最好通过查阅手册页来找到:
man rabbitmq