linux怎么找文件 删除的文件在哪里看,怎么在Linux下快速找到被删除的文件

本文介绍了一种在Linux环境下定位已被删除但仍被进程占用的大文件的方法。通过使用find和grep命令结合/proc目录,可以找出哪些进程正在使用这些文件。文章还提供了一种避免此类问题发生的建议做法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微子网络与你分享了如何在Linux下快速找到被删除的文件。相信大部分人都不太了解,分享这篇文章,供大家参考。希望你看完这篇文章后收获很大。我们一起来看看。

在日常的运维过程中,经常需要处理磁盘空间的问题。收到报警后,我们会立即查找那些大文件,比如Centos,可能是/var/log/messages。

b8639c6308f260406850c38e3e2c05e6.png

但是,有时候,会出现找不到大文件的情况。通过du搜索时,统计的大小与df显示的占用空间不一致。

如果通过df -i索引节点未满,很可能一个大文件已被直接rm,但仍有进程打开该文件。

在这种情况下,由于进程没有退出,文件占用的空间不会被释放;直到进程退出,磁盘空间才会真正释放。

如何找到是哪个进程打开了该文件

在Linux上,因为进程还活着,所以可以查看所有进程打开的fd。如果文件已被删除,将在查看时显示。

例子如下:

$sudofind/proc/*/fd-ls|grep '(已删除)

3886090 lrwx-1zero tier-one zero tier-one 64 aug 2100:19/proc/29400/FD/4-/tmp/IBPX 85vd \(已删除)

3886100 lrwx-1 zero tier-1 zero tier-one64 aug 2100:19/proc/29400/FD/5-/tmp/IBcWagaj \(已删除)

3886110 lrwx-1zero tier-one zero tier-one 64 aug 2100:19/proc/29400/FD/6-/tmp/ibrz5Rep \(已删除)

3886120 lrwx-1zero tier-one zero tier-one 64 aug 2100:19/proc/29400/FD/7-/tmp/ibBuNEzA \(已删除)

3886160 lrwx-1 zero tier-1 zero tier-one64 aug 2100:19/proc/29400/FD/11-/tmp/IBg 68 kpg \(已删除)

如何避免这种情况

不要直接删除文件,而是通过截断文件来释放磁盘空间。

一种方法是:

cat/dev/null${filename}

或者(new get!)

:${filename}

这样可以快速释放空间。

“如何在Linux下快速找到被删除的文件”这篇文章的内容就这么多了。谢谢大家看!相信大家都有一定的了解,希望分享的内容对大家有所帮助。如果你想学习更多的知识,请关注微子网络!

原地址:https://mp.weixin.qq.com/s? _ _ biz=mzi3m ti 2 nzkxma==mid=2247494283 idx=1sn=fad 8 FD F2 e 65 ebfe 1 B4 a 67 de 904 F2 bedcchksm=EAC 6 CB a2 DDB 142 B4 d 9187 ACB 37 b 10985 c 71862303 c 1082 BC 8 E6 F5 df 69881065 b 110 DC 978 b 29 MP share=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值