gpt4 book ai didi

linux - 查找修改过的文件并将它们回显到服务器根目录上的 txt 文件中

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:37:53 24 4
gpt4 key购买 nike

我需要一个 shell 命令来显示整个服务器上的最后修改文件和新文件(递归),并将它们回显到根目录中的 txt 文件中。

有这样的人吗?

我试过了

查找/- mmtime 30 -printf "%AD %Ar - %p\n"2>/dev/null |排序 -r >/lastmodified.txt

将过去 30 天内所有修改文件的所有名称发布到根目录中的 txt 文件中,但它只显示服务器本身的文件,而不是我的网站上传到的目录。

预先感谢您 - 我不是专家,这是我到目前为止所发现的。这是相对紧急的,因为我需要它来修复上周发生的被黑文件。

最佳答案

来自 http://content.hccfl.edu/pollock/Unix/FindCmd.htm :

find . -mtime 0   # find files modified within the past 24 hours
find . -mtime -1 # find files modified within the past 24 hours
find . -mtime 1 # find files modified between 24 and 48 hours ago
find . -mtime +1 # find files modified more than 48 hours ago

请确保您在 -mtime -30 中只有一个“m”和一个减号,如 chorobas 评论中所建议的那样,以获得最近 30 天。 -mtime 30 将只给出恰好 30 天前的文件。

您可能希望使用选项 -daystart 来获取从午夜开始的最近 30 天的文件,而不是仅仅 30*24 小时前。使用 %TD%Tr 而不是 %AD%Ar 来获取修改时间(而不是访问时间).

最后的命令是:

find / -daystart -mtime -30 -printf "%TD %Tr - %p\n" 2> /dev/null | sort -r > /lastmodified.txt

请注意,由于 12 在 01 之前排序,因此排序将在 1 月中断。如果您想确保日期始终按顺序排列,请使用例如时间定义 %T+ (2012-11- 29+21:07:41.0000000000) 或 %Tu/%Tm/%Td %TH:%TM (12/11/29 21:07)

关于linux - 查找修改过的文件并将它们回显到服务器根目录上的 txt 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628264/

24 4 0