从以下消息中,我们知道文件/ proc / sys / net / ipv4 / ip_forward中有两个字符,但是为什么ls仅显示此文件的大小为零?
我知道这不是磁盘上的文件,而是内存中的文件,所以有什么命令可以看到/ proc中文件的实际大小?
root@OpenWrt:/proc/sys/net/ipv4# cat ip_forward | wc -c 2 root@OpenWrt:/proc/sys/net/ipv4# ls -l ip_forward -rw-r--r-- 1 root root 0 Sep 3 00:20 ip_forward root@OpenWrt:/proc/sys/net/ipv4# pwd /proc/sys/net/ipv4
这些实际上不是磁盘上的文件(如您所述),但是它们也不是内存中的文件-/ proc中的名称对应于对操作系统中正在运行的内核的调用,并且内容是动态生成的。
系统不知道不生成文件的大小,但是如果您两次读取“文件”,由于系统可能已更改,因此无法保证您会获得相同的数据。
您可能正在寻找程序 sysctl -a 。