linux删除文件后未释放空间

目录

[TOC]


问题

Linux硬盘用量满了以后,基本不能用了,删了大文件以后,占用的容量还是没有释放,又不想重启。
99.png

解决方法

1.通过lsof | grep deleted查看 系统已经打开的 状态是deleted的 文件的 进程的pid

lsof | grep deleted
[root@server ~]# lsof | grep deleted
qbittorre    3214                              root   34u      REG              253,1  6195323079               786637 /home/qbittorrent/temp_downloads/Game.of.Thrones.S07.PROPER.1080p.BluRay.DD+7.1.x264-DON/Game.of.Thrones.S07E05.Eastwatch.1080p.BluRay.DD+7.1.x264-DON.mkv (deleted)
qbittorre    3214                              root   37u      REG              253,1  5277338330               786743 /home/qbittorrent/temp_downloads/Game.of.Thrones.S07.PROPER.1080p.BluRay.DD+7.1.x264-DON/Game.of.Thrones.S07E04.The.Spoils.of.War.1080p.BluRay.DD+7.1.x264-DON.mkv (deleted)
qbittorre    3214                              root   41u      REG              253,1  7054013943               786738 /home/qbittorrent/temp_downloads/Game.of.Thrones.S07.PROPER.1080p.BluRay.DD+7.1.x264-DON/Game.of.Thrones.S07E02.Stormborn.1080p.BluRay.DD+7.1.x264-DON.mkv (deleted)
qbittorre    3214                              root   49u      REG              253,1  9856046323               786739 /home/qbittorrent/temp_downloads/Game.of.Thrones.S07.PROPER.1080p.BluRay.DD+7.1.x264-DON/Game.of.Thrones.S07E07.The Dragon.and.the.Wolf.1080p.BluRay.DD+7.1.x264-DON.mkv (deleted)
qbittorre    3214                              root   51u      REG              253,1  6529537023               786740 /home/qbittorrent/temp_downloads/Game.of.Thrones.S07.PROPER.1080p.BluRay.DD+7.1.x264-DON/Game.of.Thrones.S07E01.Dragonstone.1080p.BluRay.DD+7.1.x264-DON.mkv (deleted)
qbittorre    3214                              root   52u      REG              253,1  7724087327               786741 /home/qbittorrent/temp_downloads/Game.of.Thrones.S07.PROPER.1080p.BluRay.DD+7.1.x264-DON/Game.of.Thrones.S07E03.The.Queen's.Justice.1080p.BluRay.DD+7.1.x264-DON.mkv (deleted)
qbittorre    3214                              root   53u      REG              253,1  8323443030               786742 /home/qbittorrent/temp_downloads/Game.of.Thrones.S07.PROPER.1080p.BluRay.DD+7.1.x264-DON/Game.of.Thrones.S07E06.Beyond.the.Wall.1080p.BluRay.DD+7.1.x264-DON.mkv (deleted)
.
.
.
.

2.kill对应的pid即可

kill 3214
[root@server ~]# kill 3214
[root@server ~]# 

删除后容量


技巧

pid太多的话暂时没有找到自动删除的方法,只能通过正则处理lsof | grep deleted输出的文本

正则搜索(^[\w(].*?)(\d.*?) .*$并将其替换为kill $2

结果:

再通过将^(.+)((?:\r?\n.*)*)(?:\r?\n\1)$or^(.*)(\r?\n\1)+$替换成$1,以去除重复行

结果:

最后粘贴进终端回车即可
[root@server ~]# kill 641
[root@server ~]# kill 747
-bash: kill: (747) - 没有那个进程
[root@server ~]# kill 750
[root@server ~]# kill 751
[root@server ~]# kill 755
-bash: kill: (755) - 没有那个进程
[root@server ~]# kill 760
-bash: kill: (760) - 没有那个进程
[root@server ~]# kill 761
[root@server ~]# kill 773
[root@server ~]# kill 784
-bash: kill: (784) - 没有那个进程
[root@server ~]# kill 785
[root@server ~]# kill 806
[root@server ~]# kill 1009
[root@server ~]# kill 1038
[root@server ~]# kill 1106
[root@server ~]# kill 1209
-bash: kill: (1209) - 没有那个进程
[root@server ~]# kill 3464
[root@server ~]# kill 56171
[root@server ~]# kill 60310
[root@server ~]# kill 802573
[root@server ~]# 
Last modification:May 15, 2024
V50%看看实力