如何在 Linux 中找出最近或今天被修改的文件

1、 使用 ls 命令,只列出你的 home 文件夹中今天的文件。

ls -al --time-style=+%D | grep `date +%D`

其中:

  • -a- 列出所有文件,包括隐藏文件

  • -l- 启用长列表格式

  • --time-style=FORMAT- 显示指定 FORMAT 的时间

  • +%D- 以%m/%d/%y(月/日/年)格式显示或使用日期

 

此外,你使用可以 -X标志来按字母顺序对结果排序[3]:

ls -alX --time-style=+%D |grep `date +%D`

 

你也可以使用 -S标志来基于大小(由大到小)来排序:

ls -alS --time-style=+%D |grep `date +%D`

 

2、 另外,使用 find 命令会更灵活,并且提供比 ls更多的选项,可以实现相同的目的。

  • -maxdepth级别用于指定在搜索操作的起点下(在这个情况下为当前目录)的搜索层级(子目录层级数)。

  • -newerXY,用于所寻找的文件的时间戳X比参照文件的时间戳Y更新一些的文件。XY表示以下任何字母: -a- 参照文件的访问时间 -B- 参照文件的创建时间 -c- 参照文件的 inode 状态改变时间 -m- 参照文件的修改时间 -t- 直接指定一个绝对时间

下面的命令意思是只找出 2016-12-06 这一天修改的文件:

  1. # find . -maxdepth 1 -newermt "2016-12-06"

如何在 Linux 中找出最近或今天被修改的文件

在 Linux 中找出今天的文件

重要:在上面的 find 命令[4]中使用正确的日期格式作为参照时间,一旦你使用了错误的格式,你会得到如下错误:

  1. # find . -maxdepth 1 -newermt "12-06-2016"

  2. find: I cannot figure out how to interpret '12-06-2016' as a date or time

或者,使用下面的正确格式:

  1. # find . -maxdepth 1 -newermt "12/06/2016"

  2. 或者

  3. # find . -maxdepth 1 -newermt "12/06/16"

如何在 Linux 中找出最近或今天被修改的文件

在 Linux 中找出今天修改的文件

 

posted @   paul_hch  阅读(1101)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示