![为什么 ls -lrth 和 ls -ltch 给出不同的结果](https://linux22.com/image/27834/%E4%B8%BA%E4%BB%80%E4%B9%88%20ls%20-lrth%20%E5%92%8C%20ls%20-ltch%20%E7%BB%99%E5%87%BA%E4%B8%8D%E5%90%8C%E7%9A%84%E7%BB%93%E6%9E%9C.png)
我试图找到数据库备份的时间。通常我使用
ls -ltch
但这次我用了
ls -lrth
它为我提供了一个文件的不同结果,并且两个命令的所有日期戳都相同
-rw-r----- 1 oracle dba 41M Dec 7 23:59 ctrl_071223
-rw-r----- 1 oracle dba 42M Dec 7 20:52 c-4249173797-20121207-00
-rw-r----- 1 oracle dba 202M Dec 7 20:52 ALG_OSLPRD_jens9rfr.alg
-rw-r----- 1 oracle dba 189M Dec 7 20:52 ALG_OSLPRD_jfns9rfr.alg
-rw-r----- 1 oracle dba 140M Dec 7 20:52 ALG_OSLPRD_jgns9rfr.alg
-rw-r----- 1 oracle dba 3.0G Dec 7 20:51 BKPOSLPRD_jbns9p1f.F_bkp
-rw-r----- 1 oracle dba 4.2G Dec 7 20:46 BKPOSLPRD_jdns9p1f.F_bkp
-rw-r----- 1 oracle dba 3.8G Dec 7 20:43 BKPOSLPRD_jcns9p1f.F_bkp
[root@pdbosl02 daily]# ls -lrth
total 12G
-rw-r----- 1 oracle dba 3.8G Dec 7 20:43 BKPOSLPRD_jcns9p1f.F_bkp
-rw-r----- 1 oracle dba 4.2G Dec 7 20:46 BKPOSLPRD_jdns9p1f.F_bkp
-rw-r----- 1 oracle dba 3.0G Dec 7 20:51 BKPOSLPRD_jbns9p1f.F_bkp
-rw-r----- 1 oracle dba 140M Dec 7 20:52 ALG_OSLPRD_jgns9rfr.alg
-rw-r----- 1 oracle dba 189M Dec 7 20:52 ALG_OSLPRD_jfns9rfr.alg
-rw-r----- 1 oracle dba 202M Dec 7 20:52 ALG_OSLPRD_jens9rfr.alg
-rw-r----- 1 oracle dba 42M Dec 7 20:52 c-4249173797-20121207-00
-rw-r----- 1 oracle dba 41M Dec 7 20:52 ctrl_071223
我缺少什么
答案1
两个命令之间的区别是:
- 第二个列表按反向排序 (-r)
- 第二个清单使用修改时间戳作为排序键 (-t)
- 第一个清单使用 ctime stamp 作为排序键 (-tc)
在 UNIX 上,文件有 3 个时间戳(atime、ctime、mtime),它们在不同条件下更新。
引用维基百科关于统计的文章:
atime:上次访问时间 (ls -lu)、mtime:上次修改时间 (ls -l) 和 ctime:上次状态更改时间 (ls -lc)。
状态更改的一个示例是更改文件的权限。