Ls
為什麼 ls -lrth 和 ls -ltch 給出不同的結果
我試圖找到數據庫備份的時間。通常我使用
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
我錯過了什麼
這兩個命令之間的區別是:
- 第二個列表反向排序(-r)
- 第二個清單使用修改時間戳作為排序鍵(-t)
- 第一個清單使用 ctime 標記作為排序鍵 (-tc)
在 UNIX 上,一個文件有 3 個時間戳(atime、ctime、mtime),它們在不同的條件下更新。
atime:上次訪問時間(ls -lu),mtime:上次修改時間(ls -l),ctime:上次狀態更改時間(ls -lc)。
狀態更改的一個範例是更改文件的權限。