CentOS。需要查找在过去30天内修改过的文件,以查看其中是否有任何文件感染了恶意软件。我试过这个:
root@server [/home/someuser/public_html/]# find . -mtime +30 -exec ls -l {} > last30days.txt \;
但不是过去的30天,它似乎找到了一切。22,000个文件。
gstyhher1#
有几个问题
bash -c '... > ...'
-exec
>
find
+30
older
-30
-printf
类似下面的内容应该可以工作
find . -type f -mtime -30 -exec ls -l {} \; > last30days.txt
-printf的示例
find . -type f -mtime -30 -printf "%M %u %g %TR %TD %p\n" > last30days.txt
这将以“permissions owner group time date filename”的格式列出文件。在不需要执行任何复杂操作的情况下,-printf通常比-exec更可取。这是因为它运行得更快,因为不必为每个-exec执行子shell。根据find的版本,您也可以使用-ls,其格式与上面类似。
-ls
k7fdbhmy2#
使用https://github.com/sharkdp/fd:x1m0n1x
2条答案
按热度按时间gstyhher1#
有几个问题
bash -c '... > ...'
,就不能在-exec
中使用>
。尽管>
会覆盖文件,所以无论如何你都要重定向整个find
,而不是每个-exec
。+30
是older
超过30天,-30
将在过去30天内修改。-exec
并不是必需的,您可以使用各种-printf
选项列出所有内容。类似下面的内容应该可以工作
-printf
的示例这将以“permissions owner group time date filename”的格式列出文件。在不需要执行任何复杂操作的情况下,
-printf
通常比-exec
更可取。这是因为它运行得更快,因为不必为每个-exec
执行子shell。根据find
的版本,您也可以使用-ls
,其格式与上面类似。k7fdbhmy2#
使用https://github.com/sharkdp/fd:
x1m0n1x