/etc/init.dはCentOSにハードリンクされていますか?

/etc/init.dはCentOSにハードリンクされていますか?

私はディレクトリのハードリンクが危険な理由(ループ、親ディレクトリリンクによるrmdirの問題)を理解し、そのトピックに関する他の質問を読んだ。だから私はと以外のディレクトリへのハードリンクが使用されていないと.仮定します..。しかし、CentOS 5と6では、次のことがわかります。

# ls -id /etc/init.d/
459259 /etc/init.d/
# ls -id /etc/rc.d/init.d/
459259 /etc/rc.d/init.d/
# ls -id /etc/init.d/../
458798 /etc/init.d/../
# ls -id /etc/rc.d/
458798 /etc/rc.d/
# ls -id /etc/
425985 /etc/

つまり、同じinodeを指し、同じinodeを指さないディレクトリへの2つの異なるパスが/etc/init.d/実際にハードリンクディレクトリの場合/etc/rc.d/ですか?/etc/そうでなければ何ですか?それでは、Red Hatがこれを行う理由は何ですか?

編集:愚かな質問をして申し訳ありません。シンボリックリンクであることがわかります。今日はコーヒーが足りないようです。

ベストアンサー1

ハードリンクではなくソフトリンクです。シンボリックリンクは他のファイルを指します。シンボリックリンクを開くと、そのリンクが指すファイルが開きます。 rm を使用してシンボリックリンクを削除すると、シンボリックリンク自体は削除されますが、実際のファイルは削除されません。

これは許可の開始時に文字lで示される。

lrwxrwxrwx. 1 root root 11 Aug 10 2016 init.d -> rc.d/init.d

さらに、rc0.dからrc6.dまでのすべてのファイルは、rc.d/rc0.dへのシンボリックリンクです。

おすすめ記事