ls
的输出进行排序?#1 楼
ls -t
或(反向显示,最新显示在底部):
ls -tr
ls
手册页对此进行了详细说明,并列出了其他内容选项。评论
ls -halt供人类阅读,显示隐藏的打印详细信息,并按日期排序。
– Evgeni Sergeev
13年10月1日在5:24
如果有人想知道,则-t和-r参数都在POSIX标准中有关ls的部分中指定,因此应该在Unices之间兼容。
–马克·阿默里(Mark Amery)
15-10-27在12:09
ls -llt用于显示日期时间戳和排序
– Harshul Pandav
16-09-26在20:01
对的,这是可能的
–Ashraf.Shk786
17年2月20日在13:09
@EvgeniSergeev不要记忆ls-暂停一个简单的错误输入可能会导致服务器崩溃! linux.die.net/man/8/halt
–艾萨克
17年7月9日在21:43
#2 楼
试试这个:ls -ltr
。它将使您最近到列表的末尾评论
我用它来获取Git存储库中文件的最后编辑日期列表。 ls -alt $(git ls-files -m)谢谢!
– NobleUplift
19年8月14日在22:07
#3 楼
要获得完整的答案,请使用我的内容:ls -lrth
将其放入启动脚本
/etc/bashrc
中并分配如下别名:alias l='ls -lrth'
重新启动终端,您应该可以键入l
并查看长列表文件。评论
如果要在运行时将其添加到目录中,也可以调用源/ etc / bashrc。
–wallenpoole
2015年2月11日在7:57
您也可以只为您的用户将其添加到〜/ .bash_aliases中(如果文件尚不存在,则可以创建该文件
–迪尼
18年4月24日在1:23
#4 楼
我有时会这样使用:find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr
或
find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr
递归地查看最后修改了哪些文件5分钟。
...或现在,使用最新版本的GNU,请查找:
find . -type f -mmin -5 -exec ls -ltr {} +
...甚至不限于文件:
find . -mmin -5 -exec ls -ltrd {} +
(请注意,将
-d
切换到ls
不会显示目录的内容)更鲁棒的方式?
看看我的分析器,以查找并按修改日期排序
评论
递归的意思是它列出了子目录中的所有文件,难道ls已经没有这样做的开关了吗?
– Jiggunjer
15年5月14日在16:28
@jiggunjer ls -Rltr将按dir排序,然后按日期排序,找到-type f -mmin -5 -exec ls -ltr {} +只会打印最近5分钟内修改的文件,按日期排序,而不考虑目录树!
– F. Hauri
16 Dec 7'在18:08
请注意,如果文件列表太长而无法作为一次shell调用传递给ls(unix.stackexchange.com/a/118200/27186),则此方法将无效-然后您会看到一堆排序的文件,然后另一堆已排序的文件等,但整个列表不会被排序。请参阅superuser.com/questions/294161/…,以使用find对较长的列表进行排序。
–锤子
19-09-11在7:21
@unhammer是的,为了安全起见,请参阅我最近对Unix / Linux的分析器,并按修改的日期排序
– F. Hauri
19 Sep 11'在8:25
#5 楼
添加:alias lt='ls -Alhtr'
在
$homedir/.bashrc
#6 楼
助记符对于不要忽略以
.
开头的条目并按日期排序(最新的优先):ls -at
对于不要忽略条目以
.
开头并按日期反向排序(最旧的优先):ls -art
为避免忽略以
.
开头的条目,请使用长列表格式并按日期排序(最新的):ls -alt
对于打印可读的尺寸,请不要忽略以
.
开头的条目,使用长列表格式并按日期排序(最新的优先)( @EvgeniSergeev注意):ls -halt
,但请注意最后一个,因为简单的类型错误会导致服务器崩溃...(@ Isaac注意)
#7 楼
查找文件系统上最多经过3 * 24小时(3天)修改的所有文件,直到现在:find / -ctime 3
#8 楼
要显示按日期排序的10个最近的日期,我可以使用类似以下内容的方法:评论
它给出了-t head -2和ls -tr | tail -2给出相同的结果,选项(-t / -tr)应该保持固定,并修改尾部/头部,反之亦然,同时修改这两者就像修改内容一样
– DDS
18年6月27日在16:09
您看到上面的评论了吗?确实,应该在两个命令中都使用head(也可以更改排序顺序),或者在两个命令中都使用ls -t(始终按日期降序排序)。
– Arjan
2月28日上午11:15
#9 楼
仅使用非常基本的Unix命令:ls -nl | sort -k 8,8n -k 6,6M
这在Linux上有效;第8列是“ n”(数字),第6列是“ M”,月。
我是
sort
的新手,所以这个答案可能会有所改善。更不用说,它需要ls
和sort
的其他选项才能使用确切的时间戳,但并非每个人都需要此时间戳。评论
我怀疑您的答案尚未获得批准,因为它解析了ls的输出-请参阅反对这样做的规范论点以及有关不解析ls的问题
–名
2014-12-15 22:32
#10 楼
例如,显示最后10个修改的文件的一种可能方法是以下命令:ls -lrth | tail -n 10
以上命令的描述:
ls - list
参数:
l - long
r - reverse
t - sort by time
h - human readable
,然后将其通过管道传输到
tail
命令,该命令仅显示由n参数(行数)定义的10条最近的行...
评论
相关(不一定重复):Unix / Linux查找并按修改日期排序