/proc/sys/net/ipv4/config 内のディレクトリにハードリンクがないのはなぜですか?
ls -l /proc/sys/net/ipv4/conf
total 0
dr-xr-xr-x 0 root root 0 Dec 31 08:27 all
dr-xr-xr-x 0 root root 0 Dec 31 08:27 default
dr-xr-xr-x 0 root root 0 Dec 31 08:27 eth0
dr-xr-xr-x 0 root root 0 Dec 31 08:27 lo
答え1
内のディレクトリは/proc
実際には存在しません。これは、オンザフライで生成される情報を持つ仮想ファイルシステムです。 ハードリンクそこには場所がありません (そして、それらを使用することができたとしても、スペースを節約することはできません)。
答え2
内のディレクトリは/proc/sys/net/ipv4/conf
ハードリンク¹でもソフトリンク¹でもありません。しかし、それは重要ではありません。
重要なのは、プロセス(procファイルシステム)は特殊なファイルシステム通常は /proc にマウントされ、プロセスに関する情報やその他のシステム情報を階層的なファイルのような構造で提示し、カーネルに保持されているプロセス データに動的にアクセスするためのより便利で標準化された方法を提供します。
言い換えれば、procfs はカーネル空間とユーザー空間間の通信方法を提供します。procfs 内のファイルには、カーネル空間内の変数の内容が表示されます。カーネルは、コンピューターのハードウェアと通信するソフトウェアです。
¹) mdpc が言ったように、ls -l
最初の行にリンク数が表示されます。そして、それは procfs ではゼロです。
答え3
実際、リンク数を見ると、それらはまったくリンクではありません (ls -l
リンク数が表示され、この場合、リンク数はゼロになります)。
/proc
他の人は、 内のファイルは、選択したカーネル データに簡単にプログラム的にアクセスするのに便利であると指定しています。