2009-04-09 13:17:20 +0000 2009-04-09 13:17:20 +0000
1422
1422

如何按最后修改日期对'ls'的输出进行排序?

如何按最后修改日期对ls的输出进行排序?

答案 (10)

1687
1687
1687
2009-04-09 13:20:44 +0000
ls -t

或(反之,最近的在底部):

ls -tr

&001

ls man page 详细描述了这一点,并列出了其他选项。

155
155
155
2010-04-06 14:44:45 +0000

试试这个:ls -ltr。它会给你提供最近的到最后的列表。

48
48
48
2012-04-15 20:23:29 +0000

为了得到一个完整的答案,我是这样做的: ls -lrth

在你的启动脚本中加入这个/etc/bashrc,并指定一个别名,如:alias l='ls -lrth' 重启你的终端,你应该可以输入l,并看到一长串文件。

31
31
31
2013-07-19 11:01:24 +0000

我有时会用这个:

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr
find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr

find . -type f -mmin -5 -exec ls -ltr {} +

来查找递归过去5分钟内修改了哪些文件。甚至是不限制在文件上:

find . -mmin -5 -exec ls -ltrd {} +

(注意-d切换到ls不显示目录内容)

更稳健的方法?

看一下我的答案查找和排序日期修改

22
22
22
2012-04-15 18:41:06 +0000

加:

alias lt='ls -Alhtr'

in $homedir/.bashrc

18
18
18
2017-07-26 07:21:37 +0000

Mnemonic

对于不要忽略以.开头的条目,使用长列表格式和按日期排序(最新的第一个): ls -at

对于不要忽略以.开头的条目,使用长列表格式和按日期排序(最老的第一个): ls -art

对于不要忽略以.开头的条目,使用长列表格式和按日期排序(最新的第一个)。

ls -alt
ls -halt

对于打印人可读的大小,不要忽略以.开头的条目,使用长的列表格式和按日期排序 (最新的第一个)(@EvgeniSergeev注):

&001

小心最后一个,因为简单的错误输入可能会导致服务器崩溃。 .. (@Isaac注)

16
16
16
2013-11-11 16:11:57 +0000

查找文件系统中所有的文件,在24小时(3天)之前最大限度地修改过的文件:

find / -ctime 3
12
12
12
2016-03-06 18:21:16 +0000

要显示10个最新的日期排序,我用这样的方法:

ls -t ~/Downloads | head -10

或显示最老的

ls -tr ~/Downloads | tail -10
9
9
9
2014-06-15 21:47:51 +0000

只使用非常基本的Unix命令:

ls -nl | sort -k 8,8n -k 6,6M

这在Linux上有效;第8列是 “n"(数字),第6列是 "M",月份。更不用说,它需要在sortls上增加一些选项来使用精确的时间戳,但不是每个人都需要这个。

-1
-1
-1
2020-02-28 11:04:14 +0000

一个可能的方法是显示最近10个修改过的文件,例如下面的命令:

ls -lrth | tail -n 10

上面的命令描述:

ls - list

参数:

l - long
r - reverse
t - sort by time
h - human readable

然后它被移植到tail命令中,它只显示最近10行,由n参数(行数)定义…..