根据Linux中的访问,修改日期和时间查找和排序文件

时间:2020-03-21 11:43:44  来源:igfitidea点击:

我们已经知道如何在UNIX的操作系统中组织特定文件夹中的类似类型的文件。

在该方法中,我们学会了在文件夹中组织类似类型的文件。
换句话说,文件已根据其扩展组织。
我们不知道该文件是新的还是旧的。
我们只需将相同类型的文件放在文件夹中。
今天,在本教程中,我们将根据访问和修改日期和时间,而不是扩展,找到和排序文件。
如果我们想在特定日期或者时间上查找访问或者修改的特定文件,则我们将在正确的轨道上。
阅读。

推荐下载 - 免费速查表:"Linux命令行备用表"

根据Linux中的访问,修改日期和时间查找和排序文件

我们无需安装任何另外的应用程序以查找和排序文件。
出于本教程的目的,我们将使用三个Linux命令即ls,查找和排序。
这些命令是Linux内核的一部分,因此不要打扰安装它们。

正如已知的那样,LS命令列出了具有添加信息的目录内容,例如修改或者访问,权限,大小,所有者,组等的日期和时间。
它将对给定目录的条目进行字母顺序排序。
如果我们没有提到目录,它将列出当前工作目录的内容。

Find命令用于搜索目录层次结构中的文件。

Sort命令对文本文件的行进行排序,并将所有文件的排序连接写入标准输出。

使用LS命令基于最后访问时间查找和排序文件

以下命令将根据上次访问时间列出文件。
最新的文件将首先列出。

$ls -ltu

示例输出:

total 104
drwxr-xr-x 18 sk users 4096 Jan 3 18:02 Personal
drwxr-xr-x 3 sk users 4096 Jan 3 11:57 Notebooks
drwxr-xr-x 9 sk users 4096 Jan 3 11:57 Official
drwxrwxr-x 3 sk users 4096 Jan 3 11:57 en-TED
drwxr-xr-x 5 sk users 4096 Jan 3 11:57 Soft_Backup
drwxr-xr-x 9 sk users 4096 Jan 3 11:57 'VirtualBox VMs'
drwxr-xr-x 2 sk users 4096 Jan 3 11:57 Wallpapers
drwxr-xr-x 2 sk users 4096 Jan 3 11:57 Public
drwxr-xr-x 2 sk users 4096 Jan 3 11:57 Documents
drwxr-xr-x 2 sk users 4096 Jan 3 11:57 Music
drwxr-xr-x 2 sk users 4096 Jan 3 11:57 Videos
drwxr-xr-x 2 sk users 4096 Jan 3 11:56 Desktop
drwxr-xr-x 2 sk users 4096 Jan 3 11:56 Templates
drwxr-xr-x 5 sk users 4096 Jan 2 20:53 Entertainment
-rw-r--r-- 1 sk users 951 Jan 2 20:52 'pre code.txt'
-rw-r--r-- 1 sk users 50 Jan 2 20:52 file.txt
drwxr-xr-x 11 sk users 20480 Jan 2 20:34 Downloads
drwxr-xr-x 5 sk users 12288 Jan 2 20:13 Pictures

其中

  • -u - 排序按访问时间,最新的第一个

使用ls命令根据修改时间查找和排序文件

要根据修改时间列出文件,运行:

$ls -lt

其中

  • -l - 表示long列表格式,
  • -t - 按修改时间排序,首先是最新的。

示例输出:

total 104
drwxr-xr-x 11 sk users 20480 Jan 2 20:34 Downloads
drwxr-xr-x 5 sk users 12288 Jan 1 17:32 Pictures
drwxr-xr-x 9 sk users 4096 Jan 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 2015 Entertainment
drwxr-xr-x 2 sk users 4096 Jan 11 2015 Public
drwxr-xr-x 2 sk users 4096 Jan 11 2015 Templates
drwxr-xr-x 2 sk users 4096 Jan 9 2015 Wallpapers
drwxr-xr-x 5 sk users 4096 Jan 4 2015 Soft_Backup

上面的命令将根据修改时间对当前工作目录的文件进行排序。
最新文件将首先显示。

要根据修改时间列出特定目录的文件,请键入:

$ls -lt ~/Downloads/

要以相反的顺序列出文件,例如:首先是最旧的文件,请使用如下所示的"r"标志:

$ls -ltr

使用ls命令根据最后的修改时间查找和排序文件

该命令基于上次修改时间列出文件。
这意味着,此命令列出了最近已更改其任何状态信息(例如所有者,组,权限等)的文件。

$ls -ltc

示例输出:

total 104
drwxr-xr-x 11 sk users 20480 Jan 2 20:34 Downloads
drwxr-xr-x 5 sk users 12288 Jan 1 17:32 Pictures
drwxr-xr-x 9 sk users 4096 Jan 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 2015 Entertainment
drwxr-xr-x 2 sk users 4096 Jan 11 2015 Public
drwxr-xr-x 2 sk users 4096 Jan 11 2015 Templates
drwxr-xr-x 2 sk users 4096 Jan 9 2015 Wallpapers
drwxr-xr-x 5 sk users 4096 Jan 9 2015 Soft_Backup

其中

  • -c - 按最后修改时间排序

根据日期查找和排序文件

以下命令根据上次访问的日期和时间列出文件。
最新的文件将首先列出。

$find /home/sk/theitroad/-type f -printf "\n%AD %AT %p" | head -n 10

示例输出:

04/27/17 15:51:16.4508342970 /home/sk/theitroad/The Devops toolkit.pdf
04/27/17 15:51:17.1375009660 /home/sk/theitroad/THE LINUX COMMAND LINE.pdf
04/27/17 15:51:12.9508342850 /home/sk/theitroad/Google power search.pdf
04/27/17 15:51:10.3475009420 /home/sk/theitroad/Docker.pdf
04/27/17 15:51:14.0108342880 /home/sk/theitroad/Linux Shell Scripting.pdf
04/27/17 15:51:17.4208343000 /home/sk/theitroad/WpPMaq8.jpg
04/27/17 15:51:12.7675009510 /home/sk/theitroad/DoubleClick_Mobile_Web_Speed_Toolkit.pdf
04/27/17 15:51:01.9308342460 /home/sk/theitroad/Ed Sheeran - Shape Of You.mp3
04/27/17 15:51:02.7341675830 /home/sk/theitroad/tor-browser_en-US/start-tor-browser.desktop

在上面的输出中,第一个列显示了文件的最后一个访问日期,第二列显示了最后一个访问的时间,第三列显示了文件名。
其中'head-n 10'不是数字文件。
它是输出中的条目数,包括空格。

此外,我们可以使用"SART"命令使用"ls"命令根据最后访问的月份,日期和时间列出文件。

$ls -l theitroad/| sort -k6M -k7n | head -n 10

示例输出:

total 44024
drwx------ 3 sk users 4096 Apr 27 15:51 tor-browser_en-US
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 - 在输出中列出文件每月WISE(第6个字段)。
  • -k7n - 在输出中列出文件日期(第7字段)。

我们现在知道如何根据Linux的访问,修改时间和日期查找和排序文件。
正如我们在上面的示例中看到的那样,对文件进行排序相当容易。
有关更多详细信息,请参阅每个命令的手册页。

$man ls
$man find
$man sort