Linux touch命令用于更改文件時間戳。但touch命令的最常見用法是創(chuàng)建文件。
在本教程中我們將說明如何在Linux 使用touch 命令修改文件與文件夾的訪問時間atime、修改時間mtime和更改時間ctime。
還說明如何使用stat命令查看文件或者目錄時間戳,修改為指定時間戳,使用另一個文件的時間戳,更改符號鏈接時間戳。
Linux 文件時間戳
在討論如何使用touch命令之前,首先回顧一下Linux 文件時間戳。Linux 文件有三個時間戳。
訪問時間atime全稱Access time。即某些命令或者應用程序,例如如cat,vim或grep打開文件的最后時間。
修改時間mtime全稱Modify time,即最后一次修改文件內(nèi)容的時間。更改時間ctime全稱Change time即文件的屬性或內(nèi)容最后一次更改文件權限,文件所有權或文件位置。
stat 命令查看文件時間戳
在修改文件或者文件夾的時間戳之前,需要知道文件目錄/文件夾當前時間戳,從而確定是否修改時間戳。
你可以使用stat
命令查看文件時間戳,例如命令stat file_name將會打印file_name文件的時間戳。
stat file_name
touch 命令創(chuàng)建文件
要創(chuàng)建文件,您需要具有對當目錄的寫權限。否則,您將收到權限拒絕的錯誤。
在不指定任何選項運行touch命令時,如果指定的文件不存在,touch將創(chuàng)建文件。如果文件已存在,touch命令將文件的訪問時間和修改時間修改為當前時間。
要一次創(chuàng)建或修改多個文件,請指定多個文件名并使用空格符分隔文件名。同樣指定的多個文件不存在則會創(chuàng)建。
如果您不希望touch命令創(chuàng)建文件,請使用-c
/--no-create
選項。ttouch命令將文件的訪問時間和修改時間修改為當前時間。
touch file1
touch file1 file2 file3
touch -c file1
touch 命令修改訪問時間和更改時間
默認情況下,如果未指定任何選項,touch命令將文件的訪問和修改時間更新為當前時間。你可以使用touch命令的-a
和-m
選項,僅更改其中一個時間戳。
當使用touch命令的-a
選項時僅更改文件的訪問時間,例如命令touch -a file1
。
使用touch命令的-m
選項僅更改文件的修改時間。更改修改時間時,更改時間也將更新。例如命令touch -m file1
。
touch -a file1 #atime
touch -m file1 #mtime
touch 命令設置時間戳
touch命令還允許我們修改的文件時間戳。使用-d
/--date=
選項指定日期字符串。
日期字符串需要用單引號括起來。您還可以為touch命令提供部分日期時間的字符串。例如僅提供日期,自動將年份更改為當前年份。
-r
/--reference=
選項允許我們指定一個參考文件,并使用它的時間戳,而不是當前的時間。
例如命令touch -d '1 June 2018 11:02' file1
將訪問時間和修改時間更改為2018年6月1日11:02。
touch -d '12 June' file1
命令不指定年年份,將訪問時間和修改時間更改為2022年6月12日00:00。
touch -r file1 file2
命令將file2
的時間戳寫到file1
,這是使用另一個文件的時間戳示例。
touch -d '1 June 2018 11:02' file1
touch -d '12 June' file1
touch -r file1 file2
touch 命令修改符號鏈接時間戳
默認情況下,如果在符號鏈接使用touch命令修改時間戳,它將修改目標文件的時間戳。
在使用touch命令的-h
/--no-dereference
修改符號鏈接的時間戳時,則不會目標文件的時間戳。
touch -h symlink1
結(jié)論
至此你應該很好地理解如何使用touch命令。
-
Linux
+關注
關注
87文章
11292瀏覽量
209322 -
touch
+關注
關注
0文章
68瀏覽量
34430 -
命令
+關注
關注
5文章
683瀏覽量
22011 -
時間戳
+關注
關注
0文章
15瀏覽量
2593
發(fā)布評論請先 登錄
相關推薦
評論