为什么 /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
便于轻松且以编程方式访问选定的内核数据。