在Linux中查找已删除打开文件的大小?
我知道Linux中所有关于删除打开的文件的喧嚣仍然在文件系统中徘徊和占据空间 我想要的是找到这些已删除的打开文件的大小在Linux中查找已删除打开文件的大小?,linux,filesystems,Linux,Filesystems,我知道Linux中所有关于删除打开的文件的喧嚣仍然在文件系统中徘徊和占据空间 我想要的是找到这些已删除的打开文件的大小 sudo find/proc/[0-9]*/fd-ls | grep'(已删除)提供了列表,但它会从proc文件系统而不是删除的文件中生成有关“虚拟符号链接”的信息 有没有办法获取此信息?这将打印/proc/[pid]/fd/[fd]路径、其符号链接目标以及实际文件的大小: find /proc/[0-9]*/fd -lname '*(deleted)' \ -prin
sudo find/proc/[0-9]*/fd-ls | grep'(已删除)
提供了列表,但它会从proc文件系统而不是删除的文件中生成有关“虚拟符号链接”的信息
有没有办法获取此信息?这将打印
/proc/[pid]/fd/[fd]
路径、其符号链接目标以及实际文件的大小:
find /proc/[0-9]*/fd -lname '*(deleted)' \
-printf '%p => %l\t' -exec stat -Lc '%s' {} \; 2>/dev/null
可能有更聪明的方法;-) “stat-L路径”有效吗?或者,“lsof”可能会提供您需要的信息。-L标志是可能的最短答案。stat没有给出错误的结果,“stat-L$file”是正确的。另外,node、python和golang中的stat函数也显示了正确的大小。看起来是这样的。谢谢。与size first相同以允许排序:find/proc/[0-9]*/fd-lname'*(已删除)'2>/dev/null | perl-lne'($l=readlink)=~s/(已删除)$/;打印-s,“$\u$l”|排序-g