我必须检查过去24小时内修改过的该文件的用户和所有者。我无法理解如何获取最近24小时内修改过的文件
-rw-r--r-- 1 user user 186 Apr 11 08:05 Util-04-11.log.gz
-rw-r--r-- 1 user user 185 Apr 12 08:05 Util-04-12.log.gz
-rw-r--r-- 1 user user 186 Apr 13 08:05 Util-04-13.log.gz
-rw-r--r-- 1 user user 186 Apr 14 08:05 Util-04-14.log.gz
-rw-r--r-- 1 user user 278 Apr 20 08:05 Util-04-20.log
此命令的输出为:
DECLARE @query varchar(max);
SET @query= 'SELECT * FROM Registry ORDER BY '+ (select TOP 1 sort from @sort)
EXEC(@query)
现在我要查看过去24小时内修改过的文件的用户和所有者。我们如何在unix中执行此操作。
答案 0 :(得分:1)
您可以使用find
过滤具有相应修改日期的文件。
从手册页:
find $HOME -mtime 0
搜索主目录中已修改的文件 过去二十四小时。此命令以这种方式工作,因为 自上次修改每个文件以来的时间除以24小时 任何余数都被丢弃。这意味着匹配-mtime 0,a 文件必须在过去进行修改,而不是更改 比24小时前。
考虑到这一点,您可以使用-exec
选项来构建以下命令
find /dirpath -mtime 0 -exec stat -c "%n %U %G" '{}' \;
答案 1 :(得分:0)
您可以使用find
命令指定创建时间少于一天(-ctime 0
),然后使用xargs
执行ls
:
find /dirpath -name "*Util*" -ctime 0 -type f |xargs ls -lrt
希望它有所帮助。