如何通过命令行列出目录中修改的文件?

时间:2012-03-27 14:29:36

标签: linux bash shell unix date

我想在目录中的最后 n 天(或者甚至只是 Y-m-d之后)列出所有具有修改日期的文件。它必须以递归方式通过所有子目录。

我该怎么做?

理想输出:

file.txt    Mar  26 15:15
file2.txt    Mar  27 01:15

可接受的输出:

file.txt
file2.txt

已回答!(感谢所有帮助)

$ find . -type f -mtime -1 -exec ls -lah {} \;
-rw-r--rw- 1 apache apache 18K Mar 26 08:22 ./file1.txt
-rw-r--rw- 1 apache apache 12K Mar 26 09:23 ./dir1/file2.txt
-rw-r--rw- 1 apache apache 16K Mar 26 10:24 ./dir1/dir2/file3.txt

3 个答案:

答案 0 :(得分:5)

find . -type f -mtime -1 -exec ls -l {} \;

将列出过去24小时内的所有文件,并列出长列表以确认修改日期

答案 1 :(得分:1)

使用:

find . -mtime +1

有关更多信息,请参阅

man find

答案 2 :(得分:1)

find dir -mtime +1 -print

这将找到1天前或之前修改过的dir和子目录中的所有文件。