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

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

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

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

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

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


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

其中:

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

在Linux中找出最近的文件

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


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

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


  1. # 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 这一天修改的文件:


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

在 Linux 中找出今天的文件

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


  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 中找出今天修改的文件

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

原文发布时间为:2017-01-06

本文来自合作伙伴“Linux中国”

时间: 2025-01-27 20:53:48

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

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

在本文中,我们将解释两个简单的命令行小技巧,它可以帮你只列出所有的今天的文件. Linux 用户在命令行上遇到的常见问题之一是定位具有特定名称的文件,如果你知道确定的文件名则可能会容易得多. 不过,假设你忘记了白天早些时候创建的文件的名称(在你包含了数百个文件的 home 文件夹中),但现在你有急用. 下面用不同的方式只列出所有你今天创建或修改的文件(直接或间接). 1. 使用 ls 命令,只列出你的 home 文件夹中今天的文件. # ls -al --time-style=+%D | gre

如何在Linux中找出所有在线主机的IP地址

你可以在 Linux 的生态系统中找到很多网络监控工具,它们可以为你生成出网络中所有设备的摘要,包括它们的 IP 地址等信息. 然而,实际上有时候你只需要一个简单的命令行工具,运行一个简单的命令就能提供同样的信息. 本篇教程会向你展示如何找出所有连接到给定网络的主机的 IP 地址.这里我们会使用 Nmap 工具来找出所有连接到相同网络的设备的IP地址. Nmap (Network Mapper 的简称)是一款开源.强大并且多功能的探查网络的命令行工具,用来执行安全扫描.网络审计.查找远程主机的开

如何在Linux上找出并删除重复的文件:FSlint

如何在Linux上找出并删除重复的文件:FSlint 大家好,今天我们会学习如何在Linux PC或者服务器上找出和删除重复文件.这里有一款工具你可以工具自己的需要使用. 无论你是否正在使用Linux桌面或者服务器,有一些很好的工具能够帮你扫描系统中的重复文件并删除它们来释放空间.图形界面和命令行界面的都有.重复文件是磁盘空间不必要的浪费.毕竟,如果你的确需要在不同的位置享有同一个文件,你可以使用软链接或者硬链接,这样就可以在磁盘的一个地方存储数据了. FSlint FSlint 在不同的Lin

如何在Linux中列出通过RPM或者DEB包安装的文件

你是否想要了解安装包中各个文件在 Linux 系统中安装(位于)的位置?我们将在本文介绍如何列出文件的来源,或存在于某个特定包或者一组软件包中的文件. 这篇文章可以帮你轻松地找到重要的软件包文件,如配置文件.帮助文档等.我们来看看找出文件在哪个包中或者从哪个包中安装的几个方法: 如何列出 Linux 中全部已安装软件包的文件 你可以使用 repoquery 命令,它是 yum-utils 的一部分,用来列出给定的软件包在 CentOS/RHEL 系统上安装的文件. 要安装并使用 yum-util

在 Linux 中找出所有在线主机的 IP 地址

你可以在 Linux 的生态系统中找到很多网络监控工具,它们可以为你生成出网络中所有设备的摘要,包括它们的 IP 地址等信息. 然而,实际上有时候你只需要一个简单的命令行工具,运行一个简单的命令就能提供同样的信息. 本篇教程会向你展示如何找出所有连接到给定网络的主机的 IP 地址.这里我们会使用 Nmap 工具来找出所有连接到相同网络的设备的IP地址. Nmap (Network Mapper 的简称)是一款开源.强大并且多功能的探查网络的命令行工具,用来执行安全扫描.网络审计.查找远程主机的开

如何在 Linux 中列出通过 RPM 或者 DEB 包安装的文件

你是否想要了解安装包中各个文件在 Linux 系统中安装(位于)的位置?我们将在本文介绍如何列出文件的来源,或存在于某个特定包或者一组软件包中的文件. 这篇文章可以帮你轻松地找到重要的软件包文件,如配置文件.帮助文档等.我们来看看找出文件在哪个包中或者从哪个包中安装的几个方法: 如何列出 Linux 中全部已安装软件包的文件 你可以使用 repoquery 命令,它是 yum-utils 的一部分,用来列出给定的软件包在 CentOS/RHEL 系统上安装的文件. 要安装并使用 yum-util

如何在Windows8中找出消失不见的语言栏

  1.系统下同时按住键盘上 "Windows" 和 "X" 键打开系统菜单 ,选择"控制面板"; 2.通过大图标找到"通知区域图标";如下图所示: 3.点击"启用或关闭系统图标";如下图所示: 4.找到"输入指示",从下拉框选中"启用",再点"确认"即可.如下图所示: 5.输入法图标又回到了任务栏.如下图所示:

如何在Ubuntu上找出可用的网络适配器

如何在Ubuntu上找出可用的网络适配器 想知道在Linux中你正在使用的网卡是什么吗? 在Linux中很容易就找出网卡的生产商.打开一个终端并输入下面的额命令: sudo lshw -C network 如果上面的命令不能在sudo下使用,那就别用 sudo 的特权模式.它的输出看上去有点奇怪但是很有用. *-network description: Wireless interface product: BCM4360 802.11ac Wireless Network Adapter ve

逝去的纪念:如何在Linux中同步微软 OneDrive

逝去的纪念:如何在Linux中同步微软 OneDrive [编者注]:本文译文完成之后不久,OneDrive 就成了中国人的昨日黄花了.编者想了想,还是发出来罢,仅以此文纪念我们逝去的这个.那个.以及这些和那些.也许若干年后我们回忆起来,我们曾经有过那么多那些,而当时却挑三拣四,没有珍惜,如果再给我一次机会-- OneDrive(以前称为SkyDrive)是微软的一个广受欢迎的云存储产品.目前OneDrive为每一个新注册用户提供7GB免费存储空间.正如你所想,OneDrive与微软其他软件产品