我需要获取过去 24 小时内修改过的文件,并获取这些文件的所有者和组。我怎样才能做到这一点?命令
ls -lrt /dirpath | grep 'Util'
只给出这个输出:
-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
答案1
和zsh
:
ls -ld /dirPath/*(m-1u[user]g[group])
user:group
将列出过去 24 小时内拥有和修改的文件。m-1
不到一天,你也可以做到mh-24
。
D
如果您还想列出隐藏文件,请添加glob 限定符。
POSIXly:
find /dirPath/. ! -name . -prune -mtime -1 -user user -group group \
-exec ls -ld {} +
答案2
尝试:
find . -maxdepth 1 -mtime -1 -type f -exec ls -l {} \;
答案3
在bash中:
find /dirPath -type f -user username -group groupname -mtime -1
这只会列出名称,例如:
file1
file2
...