删除 Linux 中的多个文件?

Deleting multiple files in Linux?

如何删除 Linux 中在同一日期和时间创建的多个文件?我如何在不使用日期的情况下进行管理?该文件有不同的名称。

我有这些 .txt 文件:

-rw-r--r-- 1 root root        54 Jan  6 17:28 file1.txt
-rw-r--r-- 1 root root        33 Jan  6 17:28 file2.txt
-rw-r--r-- 1 root root        24 Jan  6 18:05 file3.txt
-rw-r--r-- 1 root root         0 Jan  6 17:28 file4.txt
-rw-r--r-- 1 root root         0 Jan  6 17:28 file5.txt

如何一条命令删除所有文件?

只需使用rm -f file*.txt删除所有以file开头并以扩展名.txt

结尾的文件

您可以使用find 命令并指定时间范围。在你的例子中:如果你想从 6.Jan 17:28 找到所有修改时间戳的文件,你可以这样做:

find . -type f -newermt '2016-01-06 17:28' ! -newermt '2016-01-06 17:29'

如果你想删除它们,只需使用 finds exec 参数:

find . -type f -newermt '2016-01-06 17:28' ! -newermt '2016-01-06 17:29' -exec rm {} \;

如果只想处理 *.txt 文件,还可以包含 -name '*.txt',如果不想处理子目录,还可以检查 maxdepth 参数

如果您知道修改文件的分钟数,那么您可以使用find 命令删除所有文件。考虑该文件最后一次修改是在十分钟前。然后你可以使用,

find -iname "*.txt" -mmin 10 -ok rm {} \;

如果删除前不需要提示,则使用-exec

 find -iname "*.txt" -mmin 10 -exec rm {} \;

如果您需要使用访问时间删除文件,那么您可以使用-amin