我有一个目录:/home/user/
如何列出此目录中的每个文件(包括子目录中的文件),并按上次修改日期对它们进行排序?
发布于 2009-09-10 12:23:32
您可以使用:
ls -Rt
其中-R
表示递归(包括子目录),-t
表示“按上次修改日期排序”。
要查看按修改日期排序的文件列表,请使用:
ls -l -Rt
也可以创建别名来实现此目的:
alias lt='ls -lht'
lt
其中-h
提供了更具可读性的输出。
发布于 2020-04-29 16:25:29
对于zsh
用户,您还可以使用glob qualifiers (也在man zshexpn
上提供了文档):
echo *(om)
其中o
代表排序顺序,up和m
代表上次修改时间。
当在for循环或其他命令中使用时,这会很有用:
for file in *(^om); do
[ -e "$file" ] || continue
# do something with file orderer from least recently modified to last modified
done
或与另一个glob限定符链接:
last_modified_file=(*(om[1]))
https://stackoverflow.com/questions/1404938
复制相似问题