有沒有辦法透過終端機/命令列查看文件/文件的時間戳記歷史清單?

有沒有辦法透過終端機/命令列查看文件/文件的時間戳記歷史清單?

這看起來很簡單,但由於某種原因,事實並非如此: 問題:在過去的 3 個月裡,我一直在寫一篇論文——甚至不是腳本……只是一篇經濟學論文。我試圖確定我花了多少時間編寫它,我保存了文件多少次以及每次更改文件增長了多少。是否有命令/腳本來查看此資訊?我不是在尋找確切的更改,我只是在尋找一般文件資訊。我唯一能找到的是文件最近一次被修改的時間,但是我找不到最近一次之前的修改資訊。

預期輸出範例:

$ (elusive and mysterious command that is similar to stat -x) <file>

 File: "file"
  Current Size: 1000        FileType: Regular File
  Mode: (0600/-rw-------)         Uid: (  501/user)  Gid: (   20/   group)
Device: 14,2   Inode: number    Links: 1
Access: Wed Mar 14 19:50:00 2012
Modified: Fri Dec 23 01:22:40 2011
--Size: 1000
Modified: Wed Dec 21 11:42:21 2011
--Size: 920
Modified: Wed Dec 21 11:01:12 2011
--Size: 703
Modified: Wed Dec 21 10:11:01 2011
--Size: 100
Modified: Tue Dec 20 11:42:38 2011
--Size: 0
Change: Mon Feb 13 20:44:36 2012

答案1

通常,這些資訊不會被保留——如果保留,則很大程度上取決於您所使用的系統。

我們可以從您想要的輸出推斷您正在使用類別 Unix 系統。 Unix為每個檔案保留三個時間戳記:mtime、ctime和atime,分別是最後修改時間、最近修改inode的時間和最後造訪時間。這些都沒有保留更深入的歷史。

您用來修改文件的程式可能保留此類訊息,但這取決於您使用的內容。

如果您想追蹤這些事情,您可能需要使用原始碼控制系統。其中有一些可用:RCS,CVS,顛覆(SVN),git,汞 (Hg),以及許多其他人。修改文件後,您必須明確簽入文件,以便追蹤修改。這樣的系統還可以讓您檢索和比較舊版本。

相關內容