鱼C论坛

 找回密码
 立即注册
查看: 1439|回复: 2

[已解决]用 ls 查找最近文件创建日期

[复制链接]
发表于 2023-7-30 01:24:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如何用 ls 查找此目录中最近创建的文件的日期?

主要是我不太理解这道题意思,我只想到用 ls -ltc ,但是得到了一堆最近创建的文件,请问这道题就是这样的吗?还是要找出最近一个创建的日期并反馈出来呀?
最佳答案
2023-7-30 01:25:09
使用 ls 查找最近创建的文件的日期:

使用 ls 命令结合一些参数可以帮助我们查找最近创建的文件的日期。你提到了使用 ls -ltc 命令,这是一个不错的尝试。但是要注意,该命令会列出目录中所有文件,并按照修改时间进行排序,而不是创建时间。

在 Linux 中,ls 命令默认只显示文件的详细信息,不包括创建日期。但是,你可以通过结合其他命令来达到目的,例如 ls -lt 结合 head 命令来显示最新创建的文件。

以下是一种可能的方法,步骤如下:

1. 使用 ls -lt 命令以修改时间的顺序列出目录中的所有文件和目录。
2. 使用 grep 命令筛选出只包含文件(而不是目录)的行。
3. 使用 head 命令选择最上面的一行,即最新创建的文件。

示例命令如下:

[/code]shell
ls -lt | grep "^-" | head -n 1
[/code]

该命令将列出最近创建的文件的详细信息,包括文件权限、所有者、大小、修改时间等。

如果你只想获取最近创建文件的日期,可以使用 awk 命令进一步处理输出结果,提取日期部分并进行格式化。

示例命令如下:

[/code]shell
ls -lt | grep "^-" | head -n 1 | awk '{print $6, $7, $8}'
[/code]

这将输出类似于 "Jul 28 2023" 的日期格式。

请注意,以上命令的输出结果是基于修改时间而不是创建时间。如果你确实需要获取文件的创建时间,可能需要使用其他工具或命令来实现,例如 stat 命令。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-30 01:24:46 | 显示全部楼层
对的,你理解得很接近了!使用  ls -ltc  命令可以按照文件的修改时间(mtime)对文件进行排序,最近修改的文件会显示在列表的最前面。

然而,对于你的问题,你想找到最近创建的文件的日期,而不是最近修改的文件。为了达到这个目的,你应该使用  ls -lt  命令而不是  ls -ltc 。

ls -lt  命令会按照文件的更改时间(mtime)对文件进行排序,这通常表示文件的创建时间,特别是对于新创建的文件。所以,最近创建的文件将显示在列表的最前面。

要注意的是,有时候文件的更改时间可能并不准确地表示文件的创建时间,因为它可能会受到文件内容的修改而改变。但是通常情况下,特别是在文件刚刚创建的时候,文件的更改时间会很接近于创建时间。

因此,使用以下命令可以找到此目录中最近创建的文件及其日期:
ls -lt

这样,你将看到最近创建的文件显示在列表的最前面,它们的创建日期就是列表中的日期。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-30 01:25:09 | 显示全部楼层    本楼为最佳答案   
使用 ls 查找最近创建的文件的日期:

使用 ls 命令结合一些参数可以帮助我们查找最近创建的文件的日期。你提到了使用 ls -ltc 命令,这是一个不错的尝试。但是要注意,该命令会列出目录中所有文件,并按照修改时间进行排序,而不是创建时间。

在 Linux 中,ls 命令默认只显示文件的详细信息,不包括创建日期。但是,你可以通过结合其他命令来达到目的,例如 ls -lt 结合 head 命令来显示最新创建的文件。

以下是一种可能的方法,步骤如下:

1. 使用 ls -lt 命令以修改时间的顺序列出目录中的所有文件和目录。
2. 使用 grep 命令筛选出只包含文件(而不是目录)的行。
3. 使用 head 命令选择最上面的一行,即最新创建的文件。

示例命令如下:

[/code]shell
ls -lt | grep "^-" | head -n 1
[/code]

该命令将列出最近创建的文件的详细信息,包括文件权限、所有者、大小、修改时间等。

如果你只想获取最近创建文件的日期,可以使用 awk 命令进一步处理输出结果,提取日期部分并进行格式化。

示例命令如下:

[/code]shell
ls -lt | grep "^-" | head -n 1 | awk '{print $6, $7, $8}'
[/code]

这将输出类似于 "Jul 28 2023" 的日期格式。

请注意,以上命令的输出结果是基于修改时间而不是创建时间。如果你确实需要获取文件的创建时间,可能需要使用其他工具或命令来实现,例如 stat 命令。

球一个最佳答案谢谢啦!这对我非常重要!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 00:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表