我们已经知道如何 在特定文件夹中组织相似类型的文件 在 Linux 和类 Unix 操作系统中。 在这种方法中,我们学会了在一个文件夹中组织类似类型的文件。 换句话说,文件是根据它们的扩展名组织的。 我们不知道该文件是新文件还是旧文件。 我们只是将相同类型的文件放在一个文件夹中。 今天,在本指南中,我们将根据访问和修改日期和时间,而不是扩展名来查找和排序文件。 如果您想查找在特定日期或时间访问或修改的特定文件,那么您就在正确的轨道上。 继续阅读。
推荐下载 – 免费备忘单:“Linux 命令行备忘单”
在 Linux 中根据访问、修改日期和时间查找和排序文件
您无需安装任何额外的应用程序即可查找和排序文件。 出于本指南的目的,我们将使用三个 Linux 命令,即 ls, 寻找 和 种类. 这些命令是 Linux Kernel 的一部分,所以不要费心安装它们。
可能已经知道, ls 命令列出目录内容以及附加信息,例如修改或访问的日期和时间、权限、大小、所有者、组等。它将按字母顺序对给定目录的条目进行排序。 如果您没有提及目录,它将列出当前工作目录的内容。
这 寻找 命令用于在目录层次结构中搜索文件。
这 种类 命令对文本文件的行进行排序,并将所有文件的排序连接写入标准输出。
1.使用ls命令根据上次访问时间查找和排序文件
以下命令将根据上次访问时间列出文件。 最新的文件将首先列出。
$ ls -ltu
样本输出:
total 104 drwxr-xr-x 18 sk users 4096 May 3 18:02 Personal drwxr-xr-x 3 sk users 4096 May 3 11:57 Notebooks drwxr-xr-x 9 sk users 4096 May 3 11:57 Official drwxrwxr-x 3 sk users 4096 May 3 11:57 en-TED drwxr-xr-x 5 sk users 4096 May 3 11:57 Soft_Backup drwxr-xr-x 9 sk users 4096 May 3 11:57 'VirtualBox VMs' drwxr-xr-x 2 sk users 4096 May 3 11:57 Wallpapers drwxr-xr-x 2 sk users 4096 May 3 11:57 Public drwxr-xr-x 2 sk users 4096 May 3 11:57 Documents drwxr-xr-x 2 sk users 4096 May 3 11:57 Music drwxr-xr-x 2 sk users 4096 May 3 11:57 Videos drwxr-xr-x 2 sk users 4096 May 3 11:56 Desktop drwxr-xr-x 2 sk users 4096 May 3 11:56 Templates drwxr-xr-x 5 sk users 4096 May 2 20:53 Entertainment -rw-r--r-- 1 sk users 951 May 2 20:52 'pre code.txt' -rw-r--r-- 1 sk users 50 May 2 20:52 file.txt drwxr-xr-x 11 sk users 20480 May 2 20:34 Downloads drwxr-xr-x 5 sk users 12288 May 2 20:13 Pictures
这里,
- -u – 按访问时间排序,最新的在前
2.使用ls命令根据修改时间查找和排序文件
要根据修改时间列出文件,请运行:
$ ls -lt
这里,
- -l – 表示长列表格式,
- -t – 按修改时间排序,最新的在前。
样本输出:
total 104 drwxr-xr-x 11 sk users 20480 May 2 20:34 Downloads drwxr-xr-x 5 sk users 12288 May 1 17:32 Pictures drwxr-xr-x 9 sk users 4096 May 1 16:45 'VirtualBox VMs' drwxr-xr-x 2 sk users 4096 Apr 24 20:30 Documents drwxr-xr-x 2 sk users 4096 Apr 11 13:02 Desktop -rw-r--r-- 1 sk users 951 Apr 7 20:20 'pre code.txt' drwxr-xr-x 9 sk users 4096 Mar 27 19:31 Official -rw-r--r-- 1 sk users 50 Mar 23 20:24 file.txt drwxr-xr-x 2 sk users 4096 Mar 21 17:43 Videos drwxr-xr-x 3 sk users 4096 Mar 14 16:32 Notebooks drwxr-xr-x 2 sk users 4096 Jan 7 14:55 Music drwxr-xr-x 18 sk users 4096 Dec 19 14:36 Personal drwxrwxr-x 3 sk users 4096 Nov 30 01:57 en-TED drwxr-xr-x 5 sk users 4096 Aug 20 2016 Entertainment drwxr-xr-x 2 sk users 4096 May 11 2016 Public drwxr-xr-x 2 sk users 4096 May 11 2016 Templates drwxr-xr-x 2 sk users 4096 May 9 2016 Wallpapers drwxr-xr-x 5 sk users 4096 May 4 2016 Soft_Backup
上述命令将根据修改时间对当前工作目录的文件进行排序。 最新的文件将首先显示。
要根据修改时间列出特定目录的文件,请键入:
$ ls -lt ~/Downloads/
要以相反的顺序列出文件,即首先列出最旧的文件,请使用 ‘r’ 标志如下:
$ ls -ltr
3. 使用ls命令根据上次修改时间查找和排序文件
该命令根据上次修改时间列出文件。 这意味着,此命令首先列出最近更改了任何状态信息(如所有者、组、权限、大小等)的文件。
$ ls -ltc
样本输出:
total 104 drwxr-xr-x 11 sk users 20480 May 2 20:34 Downloads drwxr-xr-x 5 sk users 12288 May 1 17:32 Pictures drwxr-xr-x 9 sk users 4096 May 1 16:45 'VirtualBox VMs' drwxr-xr-x 2 sk users 4096 Apr 24 20:30 Documents drwxr-xr-x 2 sk users 4096 Apr 11 13:02 Desktop -rw-r--r-- 1 sk users 50 Apr 8 16:28 file.txt -rw-r--r-- 1 sk users 951 Apr 7 20:20 'pre code.txt' drwxr-xr-x 9 sk users 4096 Mar 27 19:31 Official drwxr-xr-x 2 sk users 4096 Mar 21 17:43 Videos drwxr-xr-x 3 sk users 4096 Mar 14 16:32 Notebooks drwxrwxr-x 3 sk users 4096 Jan 18 12:36 en-TED drwxr-xr-x 2 sk users 4096 Jan 7 14:55 Music drwxr-xr-x 18 sk users 4096 Dec 19 14:36 Personal drwxr-xr-x 5 sk users 4096 Aug 20 2016 Entertainment drwxr-xr-x 2 sk users 4096 May 11 2016 Public drwxr-xr-x 2 sk users 4096 May 11 2016 Templates drwxr-xr-x 2 sk users 4096 May 9 2016 Wallpapers drwxr-xr-x 5 sk users 4096 May 9 2016 Soft_Backup
这里,
- -C – 按上次修改时间排序
4.根据日期查找和排序文件
以下命令根据上次访问的日期和时间列出文件。 最新的文件将首先列出。
$ find /home/sk/ostechnix/ -type f -printf "n%AD %AT %p" | head -n 10
样本输出:
04/27/17 15:51:16.4508342970 /home/sk/ostechnix/The Devops toolkit.pdf 04/27/17 15:51:17.1375009660 /home/sk/ostechnix/THE LINUX COMMAND LINE.pdf 04/27/17 15:51:12.9508342850 /home/sk/ostechnix/Google power search.pdf 04/27/17 15:51:10.3475009420 /home/sk/ostechnix/Docker.pdf 04/27/17 15:51:14.0108342880 /home/sk/ostechnix/Linux Shell Scripting.pdf 04/27/17 15:51:17.4208343000 /home/sk/ostechnix/WpPMaq8.jpg 04/27/17 15:51:12.7675009510 /home/sk/ostechnix/DoubleClick_Mobile_Web_Speed_Toolkit.pdf 04/27/17 15:51:01.9308342460 /home/sk/ostechnix/Ed Sheeran - Shape Of You.mp3 04/27/17 15:51:02.7341675830 /home/sk/ostechnix/tor-browser_zh/start-tor-browser.desktop
在上面的输出中,第一列显示文件的最后访问日期,第二列显示最后访问时间,第三列显示文件名。 这里,’head -n 10′ 不是数字文件。 它是输出中的条目数,包括空格。
此外,您可以使用带有“ls”命令的“sort”命令根据上次访问的月份、日期和时间列出文件,如下所示。
$ ls -l ostechnix/ | sort -k6M -k7n | head -n 10
样本输出:
total 44024 drwx------ 3 sk users 4096 Apr 27 15:51 tor-browser_zh drwxr-xr-x 3 sk users 4096 Apr 27 15:51 Arch master -rw-r--r-- 1 sk users 183396 Apr 27 15:51 Linux commandline cheat sheet.pdf -rw-r--r-- 1 sk users 2031375 Apr 27 15:51 Google power search.pdf -rw-r--r-- 1 sk users 233955 Apr 27 15:51 bash_tips.pdf -rw-r--r-- 1 sk users 2597261 Apr 27 15:51 Docker.pdf -rw-r--r-- 1 sk users 270623 Apr 27 15:51 sag-0.6.1.pdf.gz -rw-r--r-- 1 sk users 3857569 Apr 27 15:51 THE LINUX COMMAND LINE.pdf -rw-r--r-- 1 sk users 3902301 Apr 27 15:51 Ed Sheeran - Shape Of You.mp3
这里,
- -k6M – 在输出中按月列出文件(第 6 个字段)。
- -k7n – 在输出中按日期列出文件(第 7 个字段)。
就这样。 您现在知道如何在 Linux 中根据访问、修改时间和日期来查找和排序文件。 正如您在上面的示例中所看到的,对文件进行排序非常容易。 有关更多详细信息,请参阅每个命令的手册页。
$ man ls
$ man find
$ man sort