Linux 查找并删除一段时间内未修改的所有已关闭文件

Linux 查找并删除一段时间内未修改的所有已关闭文件,linux,find,filesystems,Linux,Find,Filesystems,我正在linux中构建一个脚本,该脚本将从光盘中删除操作系统当前未使用的文件。我想使用find命令,以便可以对我找到的所有未打开的文件执行rm。 到目前为止,我尝试了这个命令,但没有成功: find /folderToSearch/ -type f | while read filename ; do /sbin/fuser -s $filename || echo $filename ; done 我在一些网站上发现了这个命令,它应该打印所有未使用的文件。虽然我同时使用“vi”命令打开时发现

我正在linux中构建一个脚本,该脚本将从光盘中删除操作系统当前未使用的文件。我想使用find命令,以便可以对我找到的所有未打开的文件执行rm。 到目前为止,我尝试了这个命令,但没有成功:

find /folderToSearch/ -type f | while read filename ; do /sbin/fuser -s $filename || echo $filename ; done

我在一些网站上发现了这个命令,它应该打印所有未使用的文件。虽然我同时使用“vi”命令打开时发现它仍在打印文件名。

要获取打开的文件列表,可以使用
lsof
命令。从目录中的
find
命令获取所有文件列表,并将其全部删除

1) 。获取目录中打开的文件列表

lsof /folderToSearch |awk '{print $NF}'|sed -e '1 d' |sort |uniq >/tmp/lsof
find /folderToSearch -type f -print >/tmp/find
2) 。获取目录中的文件列表

lsof /folderToSearch |awk '{print $NF}'|sed -e '1 d' |sort |uniq >/tmp/lsof
find /folderToSearch -type f -print >/tmp/find
3) 。从
/tmp/find
文件中删除
/tmp/lsof
列表,然后将其删除

grep -v  -w -f /tmp/lsof /tmp/find |xargs rm -f

检查所有emty文件,然后删除
find-maxdepth 1-type f-empty-print0 | xargs-0 rm-f-v
我不想删除空文件。我正在寻找删除未打开的文件。我认为删除操作有问题。我有一个文件名todelete.txt,在运行此脚本后未被删除:#/bin/bash lsof/ccview/YitzhakOs/test | awk'{print$NF}“| sed-e'1 d'| sort | uniq>/ccview/YitzhakOs/test/lsof find/ccview/YitzhakOs/test-type f-print>/ccview/YitzhakOs/test/tmp/find grep-v-w-f/ccview/YitzhakOs/test/tmp/lsof/ccview/YitzhakOs/test/tmp/find | xargs rm-fca您能在
/ccview/YitzhakOs/test/tmp/find>中看到该文件吗?其他文件被删除了吗?