我有一个 3.2G 的文件/tmp
,phpvXcoZn
我需要删除它。因此我想知道它是否仍在使用但我输入的命令没有返回任何内容:
/tmp$ bigfile=phpvXcoZn
/tmp$ ll -h $bigfile
-rw------- 1 www-data www-data 3.2G Aug 25 09:49 phpvXcoZn
/tmp$ cd
$ sudo lsof | grep $bigfile
$ sudo fuser -avm /tmp 2>&1 | grep $bigfile
$ sudo ls -l /proc/*/fd/* 2>/dev/null | grep $bigfile
$
EDIT0:正如@MarcusMüller所建议的,我可以尝试取消链接该文件,并且在文件关闭时我们将释放空间使用量,但我无法使用该unlink
文件所属的文件:www-data
sudo su
$ sudo su www-data -c "unlink /tmp/phpvXcoZn"
This account is currently not available.
$ grep www-data /etc/passwd
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
这个命令有效:
sudo -u www-data bash -c "unlink /tmp/phpvXcoZn"
你还有其他命令来知道它是否仍在使用吗?
答案1
rm
删除在其他地方仍然打开的文件对仍然打开该文件的程序没有影响。它只是不能再通过文件名打开——而且一旦关闭,它的存储空间就可以被释放。看man 2 unlink
。