Linux培训
达内IT学院

400-111-8989

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

  • 发布:Linux培训
  • 来源:网络
  • 时间:2018-03-19 17:43

在本文中,我们将解释两个简单的命令行小技巧,它可以帮你只列出所有的今天的文件。

Linux 用户在命令行上遇到的常见问题之一是定位具有特定名称的文件,如果你知道确定的文件名则可能会容易得多。

不过,假设你忘记了白天早些时候创建的文件的名称(在你包含了数百个文件的 home 文件夹中),但现在你有急用。

下面用不同的方式只列出所有你今天创建或修改的文件(直接或间接)。

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

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

其中:

-a - 列出所有文件,包括隐藏文件 -l - 启用长列表格式 --time-style=FORMAT - 显示指定 FORMAT 的时间 +%D - 以 %m/%d/%y (月/日/年)格式显示或使用日期

在Linux中找出最近的文件

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

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

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

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

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

-maxdepth 级别用于指定在搜索操作的起点下(在这个情况下为当前目录)的搜索层级(子目录层级数)。 -newerXY,用于所寻找的文件的时间戳 X 比参照文件的时间戳 Y 更新一些的文件。 X 和 Y 表示以下任何字母: - a - 参照文件的访问时间 - B - 参照文件的创建时间 - c - 参照文件的 inode 状态改变时间 - m - 参照文件的修改时间 - t - 直接指定一个绝对时间

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

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

在 Linux 中找出今天的文件

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

# find . -maxdepth 1 -newermt "12-06-2016" find: I cannot figure out how to interpret '12-06-2016' as a date or time

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

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

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

你可以在我们的下面一系列文章中获得 ls和 find 命令的更多使用信息。

用 15 例子的掌握 Linux ‘ls’ 命令 对 Linux 用户有用的 7 个奇特技巧 用 35 个例子掌握 Linux ‘find’ 命令 在 Linux 中使用扩展查找多个文件名的方法

在本文中,我们解释了如何使用 ls 和 find 命令帮助只列出今天的文件。 请使用以下反馈栏向我们发送有关该主题的任何问题或意见。 你也可以提醒我们其他可以用于这个目的的命令。

作者简介:Aaron Kili是一名 Linux 和 F.O.S.S 的爱好者,未来的 Linux 系统管理员、网站开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并乐于分享知识。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:为什么你总是学不好Linux技术?这是我的答案
下一篇:Linux系统下5款好用的音乐播放器

Linux中高效编写Bash脚本的10个技巧

拯救者Linux:我是如何给我的团队引入Linux的

Linux只有十三个字符的经典Fork炸弹

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省