首頁 > linux教程 > Linux文件和目錄管理 閱讀:0更新時間:2020-03-28 00:55:23

Linux touch命令:創建文件及修改文件時間戳

既然知道了如何在 linux 系統中創建目錄,接下來你可能會想在這些目錄中創建一些文件,可以使用 touch 命令。

需要注意的是,touch 命令不光可以用來創建文件(當指定操作文件不存在時,該命令會在當前位置建立一個空文件),此命令更重要的功能是修改文件的時間參數(但當文件存在時,會修改此文件的時間參數)。

Linux 系統中,每個文件主要擁有 3 個時間參數(通過 stat 命令進行查看),分別是文件的訪問時間、數據修改時間以及狀態修改時間:
  • 訪問時間(Access Time,簡稱 atime):只要文件的內容被讀取,訪問時間就會更新。例如,使用 cat 命令可以查看文件的內容,此時文件的訪問時間就會發生改變。
  • 數據修改時間(Modify Time,簡稱 mtime):當文件的內容數據發生改變,此文件的數據修改時間就會跟著相應改變。
  • 狀態修改時間(Change Time,簡稱 ctime):當文件的狀態發生變化,就會相應改變這個時間。比如說,如果文件的權限或者屬性發生改變,此時間就會相應改變。

touch 命令的基本格式如下:

[root@localhost ~]# touch [選項] 文件名

選項:
  • -a:只修改文件的訪問時間;
  • -c:僅修改文件的時間參數(3 個時間參數都改變),如果文件不存在,則不建立新文件。
  • -d:后面可以跟欲修訂的日期,而不用當前的日期,即把文件的 atime 和 mtime 時間改為指定的時間。
  • -m:只修改文件的數據修改時間。
  • -t:命令后面可以跟欲修訂的時間,而不用目前的時間,時間書寫格式為 YYMMDDhhmm。

可以看到,touch 命令可以只修改文件的訪問時間,也可以只修改文件的數據修改時間,但是不能只修改文件的狀態修改時間。因為,不論是修改訪問時間,還是修改文件的數據時間,對文件來講,狀態都會發生改變,即狀態修改時間會隨之改變(更新為操作當前文件的真正時間)。

【例 1】 touch 命令創建文件。

[root@localhost ~]#touch bols
#建立名為 bols 的空文件


【例 2】 在例 1 的基礎上修改文件的訪問時間。

[root@localhost ~]#ll --time=atime bols
#查看文件的訪問時間
-rw-r--r-- 1 root root 0 Sep 25 21:23 bols
#文件上次的訪問時間為 9 月 25 號 21:23
[root@localhost ~]#touch bols
[root@localhost ~]#ll --time=atime bols
-rw-r--r-- 1 root root 0 May 15 16:36 bols
#而如果文件已經存在,則也不會報錯,只是會修改文件的訪問時間。


【例 3】 修改 bols 文件的 atime 和 mtime。

[root@localhost ~]# touch -d "2017-05-04 15:44" bols
[root@localhost ~]# ll bols; ll --time=atime bols; ll --time=ctime bols
-rw-r--r-- 1 root root 0 May 4 2017 bols
-rw-r--r-- 1 root root 0 May 4 2017 bols
-rw-r--r-- 1 root root 0 Sep 25 21:40 bols
#ctime不會變為設定時間,但更新為當前服務器的時間

beylze編程學院,一個分享編程知識和seo優化知識的網站。跟著beylze一起學習,每天都有進步。

通俗易懂,深入淺出,一篇文章只講一個知識點。

文章不深奧,不需要鉆研,在公交、在地鐵、在廁所都可以閱讀,隨時隨地漲姿勢。

文章不涉及代碼,不燒腦細胞,人人都可以學習。

當你決定關注beylze(公眾號:beylze),你已然超越了90%的其他從業者!

相關文章

優秀教程

国产亚洲欧美日韩