📜  ls 按日期排序 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:32:45.615000             🧑  作者: Mango

ls 按日期排序 - Shell-Bash

在Shell或Bash中,ls命令是非常常用的一个命令,用于列出当前目录下的所有文件和目录。默认情况下,ls命令会按照文件名排序输出,但是有时候我们需要按照最近修改时间或创建时间排序输出。本篇文章将介绍如何使用ls命令按照日期排序输出。

按最近修改时间排序

按最近修改时间排序可以使用-t选项。该选项会按照最近修改时间从新到旧的顺序输出文件和目录。例如:

$ ls -t
file3.txt  file2.txt  file1.txt  dir1

以上命令会将当前目录下的所有文件和目录按照最近修改时间从新到旧排序输出。-t选项还可以和-l选项一起使用,以长格式输出文件和目录的详细信息,例如:

$ ls -tl
total 0
drwxr-xr-x  2 user  user    6 Apr  2 20:57 dir1
-rw-r--r--  1 user  user    0 Apr  2 20:56 file3.txt
-rw-r--r--  1 user  user    0 Apr  2 20:56 file2.txt
-rw-r--r--  1 user  user    0 Apr  2 20:56 file1.txt

以上命令会以长格式输出当前目录下的所有文件和目录,并按照最近修改时间从新到旧排序。

按最近访问时间排序

按最近访问时间排序可以使用-u选项。该选项会按照最近访问时间从新到旧的顺序输出文件和目录。例如:

$ ls -u
file3.txt  file2.txt  dir1  file1.txt

以上命令会将当前目录下的所有文件和目录按照最近访问时间从新到旧排序输出。

按最近更改时间排序

按最近更改时间排序可以使用-c选项。该选项会按照最近更改时间从新到旧的顺序输出文件和目录。例如:

$ ls -c
file3.txt  file2.txt  file1.txt  dir1

以上命令会将当前目录下的所有文件和目录按照最近更改时间从新到旧排序输出。

指定排序方向

还可以使用-r选项指定逆序排序。例如:

$ ls -tr
dir1  file1.txt  file2.txt  file3.txt

以上命令会将当前目录下的所有文件和目录按照最近修改时间从旧到新排序输出。

总结

ls命令可以通过-t-u-c选项实现按照最近修改时间、访问时间、更改时间排序输出。可以使用-l选项以长格式输出文件和目录的详细信息。还可以使用-r选项实现逆序排序。