ls 命令用於列出目錄內容,並且可以根據多個條件對結果進行排序,例如按日期、文件名的字母順序、修改時間、訪問時間、版本和文件大小。
在本文中,我將向您展示如何在 Linux 中使用 ls 命令按日期對文件進行排序。
希望你有興趣閱讀: 如何在 Linux 中使用 ls 命令按大小對所有文件進行排序
1) 列出上次修改日期/時間的文件目錄
要列出文件並在頂部顯示最後修改的文件,我們將使用 -lt
選項與 ls
命令。
$ ls -lt /run
output
total 24
-rw-rw-r--. 1 root utmp 2304 Sep 8 14:58 utmp
-rw-r--r--. 1 root root 4 Sep 8 12:41 dhclient-eth0.pid
drwxr-xr-x. 4 root root 100 Sep 8 03:31 lock
drwxr-xr-x. 3 root root 60 Sep 7 23:11 user
drwxr-xr-x. 7 root root 160 Aug 26 14:59 udev
drwxr-xr-x. 2 root root 60 Aug 21 13:18 tuned
2) 列出上次修改日期/時間的文件(最近在底部)
我們將使用 -ltr
選項與 ls
命令列出特定目錄的文件,在底部列出最近修改過的文件。
$ ls -ltr /run
$ ls -ltr /run
total 13404
drwxr-xr-x 2 root root 4096 Dec 14 2016 scripts
-rwxr-xr-x 1 root root 4688 Dec 14 2016 perms.py
-rw-r--r-- 1 root root 9718 Jun 23 14:47 ddagent-install.log
-rw-r--r-- 1 root root 1457471 Jun 26 01:26 rocket.zip
drwxr-xr-x 2 root root 4096 Jun 26 10:40 ssl-21APR2018-11JUN2020
drwxr-xr-x 6 root root 4096 Jun 27 09:29 incubator-pagespeed-ngx-latest-stable
drwxr-xr-x 9 root root 4096 Jun 27 09:29 nginx-1.15.0
drwxr-xr-x 3 root root 4096 Jul 2 19:55 rocket-nginx
-rw-r--r-- 1 root root 18186 Jul 11 13:17 memcachy.zip
-rwxr-xr-x 1 root root 12202195 Sep 4 12:21 Linux_64bit.install
:~#
如果要按目錄排序,則按日期使用
$ ls -Rltr
3) 以人類可讀的格式顯示
我們將使用 -halt
選項與 ls
命令以人類可讀的文件大小,長格式列出特定目錄的文件。 它使用 K、M、G 和 T 後綴(或無字節後綴)
$ ls -halt /run
total 28K
-rw-rw-r--. 1 root utmp 1.9K Oct 28 06:02 utmp
drwxr-xr-x. 3 root root 60 Oct 28 06:02 user
drwxr-xr-x. 4 root root 100 Oct 28 03:48 lock
-rw-r--r--. 1 root root 4 Oct 28 02:50 dhclient-eth0.pid
drwxr-xr-x. 7 root root 160 Oct 25 12:16 udev
drwxr-xr-x. 21 root root 600 Oct 25 12:15 .
4) 查找最近 10 分鐘內修改過的文件
我們可以使用以下命令在過去 10 分鐘內修改文件:
$ find . -mmin -10 -type f -exec ls -l {} +
-rw-r--r--. 1 root root 53 Nov 1 01:58 ./smart.txt
-rw-r--r--. 1 root root 15 Nov 1 02:00 ./test/file1
5) 最近修改了10個文件
讓我們看看如何使用 ls 命令檢查目錄中最近修改的 10 個文件。 我們將使用“ls”和“head”命令的組合。
下面的命令將顯示修改後的 10 個文件,最近更新的文件顯示在頂部
$ ls -lt /run/ | head -10
-rw-rw-r--. 1 root utmp 1920 Oct 31 01:57 utmp
drwxr-xr-x. 3 root root 60 Oct 31 01:57 user
drwxr-xr-x. 16 root root 400 Oct 30 23:06 systemd
-rw-r--r--. 1 root root 4 Oct 30 18:42 dhclient-eth0.pid
drwxr-xr-x. 4 root root 100 Oct 30 03:06 lock
drwxr-xr-x. 7 root root 160 Oct 28 06:09 udev
-rw-------. 1 root root 3 Oct 25 12:15 syslogd.pid
drwxr-xr-x. 2 root root 60 Oct 25 12:15 tuned
-rw-r--r--. 1 root root 4 Oct 25 12:15 sshd.pid
或者
使用尾部組合,它在底部顯示最近更新的文件。
$ ls -ltr /run/ | tail -10
drwxr-xr-x. 3 root root 100 Oct 25 12:15 NetworkManager
-rw-r--r--. 1 root root 4 Oct 25 12:15 sshd.pid
drwxr-xr-x. 2 root root 60 Oct 25 12:15 tuned
-rw-------. 1 root root 3 Oct 25 12:15 syslogd.pid
drwxr-xr-x. 7 root root 160 Oct 28 06:09 udev
drwxr-xr-x. 4 root root 100 Oct 30 03:06 lock
-rw-r--r--. 1 root root 4 Oct 30 18:42 dhclient-eth0.pid
drwxr-xr-x. 16 root root 400 Oct 30 23:06 systemd
drwxr-xr-x. 3 root root 60 Oct 31 01:57 user
-rw-rw-r--. 1 root utmp 1920 Oct 31 01:57 utmp
感謝您閱讀本文,如果您發現任何其他選項有用,請在下面發表評論。
另請閱讀:
- 探索 Linux 中用於顯示目錄條目的 20 個“LS”命令