怎么在Linux中查找最近修改的文件和文件夹?find命令

命令坞
命令坞
命令坞
95
文章
2
评论
2020-03-1000:12:37 评论 677 4267字

怎么在Linux中查找最近修改的文件和文件夹?find命令

如果您使用Linux系统进行日常操作,则主目录文件将随时间急剧增加。

如果要 在Linux中查看目录容量大小,请 点击这里 查看

如果您有成千上万个文件,很容易会忘记您最近更改的文件名。

另外,如果要检查出于任何目的创建或修改或访问的文件列表。

本文将帮助您满足需求。

它是如何工作的,我们将在什么基础上做出决定?

在Linux中,每个文件都包含三个时间戳,这些时间戳在修改或替换文件时会更新。

Linux中的文件包含三个时间戳:

  • atime:访问时间或上次访问时间
  • mtime:修改时间或上次修改时间
  • ctime:更改时间或上次更改时间

如果您想了解更多信息,请阅读以下说明。

  • atime / amin:上次由某些命令或应用程序访问文件的时间。
  • mtime / mmin:上次修改文件内容的时间。
  • ctime / cmin:上次修改文件属性的时间。

我们如何检查文件的所有时间戳?

使用stat命令可以很容易地看到它。它显示了文件的所有时间戳。

语法如下:

stat [文件名]
[root@Bash5_Com ~]# stat /root/
  File: ‘/root/’
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: fd01h/64769d	Inode: 917505      Links: 8
Access: (0550/dr-xr-x---)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-03-09 23:17:38.244115751 +0800
Modify: 2020-03-02 22:18:51.203141977 +0800
Change: 2020-03-02 22:18:51.203141977 +0800
 Birth: -

在此示例中如何使用数字参数。如果您使用“ -mtime n”。这将返回24小时前最后修改的文件列表。

  • + n:大于n
  • -n:少于n
  • n:恰好n

请参阅下面的格式以获得更好的理解。

  • -mtime +10:如果要查找10天前修改过的文件,请使用此格式。
  • -mtime -10:如果要查找修改后少于10天的文件,请使用此格式。
  • -mtime 10:如果要查找恰好在10天之前修改过的文件,请使用此格式。

1)如何根据转换时间对文件和文件夹进行反向排序

这可以简单地通过使用 ls命令 来实现。

它根据转换时间以相反的顺序对文件和文件夹进行排序。

[root@Bash5_Com ~]# ls -ltrh /root
total 15M
-rw-r--r-- 1 root root 7.8M Jun 15  2018 cmake-3.12.0-rc1.tar.gz.1
-rw-r--r-- 1 root root  20K Feb 20 15:27 install.sh
-rw-r--r-- 1 root root 1.7M Feb 22 16:01 cmake-3.12.0-rc1.tar.gz
drwxr-xr-x 9 root root 4.0K Feb 22 16:32 cmake-3.12.0-rc1
-rw-r--r-- 1 root root 660K Feb 22 16:34 exa-linux-x86_64-0.9.0.zip
-rw-r--r-- 1 root root 4.7M Feb 22 17:19 glibc-2.18.tar.gz
---x--x--x 1 root root 1.1K Feb 22 18:38 a.sh

2)如何根据文件转换时间仅对文件夹进行反向排序

如果您只想根据转换时间对文件夹进行反向排序,请使用以下命令。

[root@Bash5_Com ~]# ls -ltrh /root | grep ^d
drwxr-xr-x 9 root root 4.0K Feb 22 16:32 cmake-3.12.0-rc1
drwxr-xr-x 2 root root 4.0K Mar  9 23:25 ssc
drwxr-xr-x 2 root root 4.0K Mar  9 23:25 ssc1
drwxr-xr-x 2 root root 4.0K Mar  9 23:25 ssc2
drwxr-xr-x 2 root root 4.0K Mar  9 23:25 ssc3

3)如何仅查找经过120天修改的文件

下面的find命令将显示120天前更改的文件的列表。

[root@Bash5_Com ~]# find /etc/ -type f -mtime +120 -ls      <--- find后面接着要查询的目录地址
788852    8 -rw-r--r--   1 root     root         5171 Oct 31  2018 /etc/man_db.conf
786600    4 -rw-r--r--   1 root     root          111 Oct 31  2018 /etc/magic
786563    8 -rw-r--r--   1 root     root         4669 Aug  6  2019 /etc/DIR_COLORS.lightbgcolor
786829    4 -rw-r--r--   1 root     root          212 Aug  9  2019 /etc/statetab
788991    8 -rw-r--r--   1 root     root         7274 Nov  5 11:09 /etc/kdump.conf
786582    4 -rw-r--r--   1 root     root           23 Sep  5  2019 /etc/system-release-cpe
786557    4 -rw-r--r--   1 root     root          112 Aug  6  2019 /etc/e2fsck.conf
786930    4 -rw-r--r--   1 root     root         2276 Aug  9  2019 /etc/ssh/ssh_config
787017  572 -rw-r--r--   1 root     root       581843 Aug  9  2019 /etc/ssh/moduli
786489    4 -rw-r--r--   1 root     root         1819 Oct 31  2018 /etc/profile
786830    4 -rw-r--r--   1 root     root          798 Aug  9  2019 /etc/sysconfig/init
786775    4 -rw-r--r--   1 root     root           15 Aug  4  2017 /etc/sysconfig/rdisc

4)如何仅查找修改后少于15天的文件

下面的find命令将显示15天内已更改的文件的列表。

[root@Bash5_Com ~]# find /etc -type f -mtime -15 -ls      <--- 查询 /etc 目录,这里修改成你要查询的目录
789144    4 -rw-------   1 root     root         3916 Mar  1 12:15 /etc/ssh/sshd_config
786724    4 -rw-r--r--   1 root     root          688 Feb 27 00:19 /etc/group-
786982    4 ----------   1 root     root         1121 Mar  8 23:57 /etc/shadow
786741    4 -rw-r--r--   1 root     root         1494 Feb 27 00:19 /etc/passwd-
787069    4 -rw-r--r--   1 root     root            5 Mar  2 22:19 /etc/tuned/profile_mode
787071    4 -rw-r--r--   1 root     root           14 Mar  2 22:19 /etc/tuned/active_profile
786487    4 ----------   1 root     root         1052 Mar  8 23:53 /etc/shadow-

5)如何仅查找经过10天修改的文件

下面的find命令将向您显示10天前已更改的文件列表。

find /xxx -type f -mtime 10 -ls      <--- xxx是你要查询的文件名

6)如何仅查找修改后少于30分钟的文件

下面的find命令将显示30分钟内已更改的文件的列表。

[root@Bash5_Com ~]# find /root -type d -mmin -30 -ls      <--- /root 修改成你要查询的目录
917505    4 dr-xr-x---  12 root     root         4096 Mar  9 23:25 /root
917589    4 drwxr-xr-x   2 root     root         4096 Mar  9 23:25 /root/ssc
917593    4 drwxr-xr-x   2 root     root         4096 Mar  9 23:25 /root/ssc2
917594    4 drwxr-xr-x   2 root     root         4096 Mar  9 23:25 /root/ssc3
917592    4 drwxr-xr-x   2 root     root         4096 Mar  9 23:25 /root/ssc1

7)如何在不到5天的时间内找到修改后的文件夹

此命令仅显示5天内修改的文件夹。

find /xxx -type d -mtime -5 -ls      <--- /xxx 修改为你要查询的目录

8)如何查找少于15天的修改过的文件和文件夹

此命令显示在15天内修改的文件和文件夹的列表。

find /xxx -mtime -15 -ls      <--- /xxx 修改为你要查询的目录

9)如何查找从指定日期到最新日期的修改后的文件和文件夹

此命令使您可以查找从指定日期到最新日期已被修改的文件和文件夹的列表。

比如我要查询/etc目录从2019年9月8日到今天为止修改的文件
find /etc -newermt "2019-09-08" -ls

10)如何查找最近24小时内修改的所有文件和文件夹

另外,您可以使用一种易于理解的格式(如以下格式)查找过去24小时内已更改的文件和文件夹。

# find /home -newermt "1 day ago" -ls      <--- 查找/home目录下1天前
或者
# find /home -newermt "-24 hours" -ls      <--- 查找/home目录下24小时
或者
# find /homek -newermt "yesterday" -ls      <--- 查找/home目录下昨天

11)如何查找最近30天访问的 sh 扩展文件列表

该命令可帮助您查找最近30天访问的带有 sh 扩展名的文件的列表。

find /xxx  -type f -iname "*.sh" -atime -30 -ls      <--- 查询/xxx目录下的.sh文件(脚本文件)

12)如何查找经过一段时间修改的文件

以下命令查询最近20分钟内已更改的文件的列表。

find /xxx -cmin -20 -ls      <--- 查询/xxx目录下20分钟内修改的文件列表

13)如何查找今天创建的文件列表

使用此命令可以查找今天创建的文件列表。

[root@Bash5_Com ~]# find /root -type f -ctime -1 -ls      <--- 查询/root目录下今天创建的文件列表
917587    4 -rw-------   1 root     root           11 Mar  9 23:17 /root/.cache/abrt/lastnotification
917519    8 -rw-------   1 root     root         7643 Mar 10 00:01 /root/.bash_history
命令坞
Linux Mint 20 发布前一窥 最新资讯

Linux Mint 20 发布前一窥

Ubuntu 20.04 LTS 版本发布了。这对 Linux Mint 用户来说也是一个好消息。一个新的 Ubuntu LTS 版本意味着新的 Linux Mint 主要版本也将很快随之出现。 为什...
使用 AppImage 进行 Linux 软件包管理 分享

使用 AppImage 进行 Linux 软件包管理

AppImage 在自足的环境中分发应用, 它适用于任何 Linux 发行版。 管理 Linux 机器(尤其是远程机器)的一个重要分就是管理和安装软件。当本地应用程序出现问题时,或者文件系统上的某些文...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: