Linux Touch命令

touch命令使我們可以更新現有文件和目錄上的時間戳,以及創建新的空文件。

在本指南中,我們將通過實際示例和最常見的命令選項的詳細說明,向您展示如何使用touch命令。

Linux文件時間戳記

在討論如何使用touch命令之前,讓我們先回顧一下Linux中的文件時間戳。

Linux中的文件具有三個時間戳:

  • atime(訪問時間)-上一次通過某些命令或應用程序(例如cat,vim或grep)訪問/打開文件的時間。
  • mtime(修改時間)-上次修改文件內容的時間。
  • ctime(更改時間)-文件的屬性或內容的最後更改時間。 該屬性包括文件許可權,文件所有權或文件位置。

要顯示文件狀態(包括時間戳),請使用 stat 命令。

stat file_name

創建新文件需要在父目錄上具有寫權限。 否則,您將收到一個權限被拒絕的錯誤。

如何使用touch命令

當不帶任何選項使用時,這是最簡單的形式,如果指定為參數的文件名不存在,touch會創建一個新文件。

如果文件已經存在,touch會將文件的上次訪問和修改時間更改為當前時間。

例如,如果文件 file1 不存在,以下命令將創建它,否則將更改其時間戳:

touch file1

要一次創建或修改多個文件,請指定文件名作為參數:

touch file1 file2 file3

如果您不希望touch命令創建新文件,請使用 -c--no-create) 選項。

例如,如果文件 file1 存在以下命令將更改文件時間戳,否則將不執行任何操作:

touch -c file1

僅更改訪問或修改時間

默認情況下,如果未使用任何選項,touch會將文件的上次訪問和修改時間更新為當前時間。 通過使用 -a-m 選項,您只能更改這些時間戳之一。

僅更改訪問時間

使用 -a 僅更改文件的訪問時間的選項:

touch -a file1

僅更改修改時間

使用 -m 更改文件修改時間的選項:

touch -m file1

更改修改時間時,更改時間也會被更新。

設置特定的時間戳

touch命令還允許我們使用當前時間以外的特定時間更新或創建文件。

使用 -d--date=)選項以指定日期字符串並使用它代替當前時間。

例如,要更改的最後訪問時間和修改時間 file1 到2018年6月1日11:02,您將使用以下命令:

touch -d '1 June 2018 11:02' file1

日期字符串需要用單引號引起來。

您還可以為touch命令提供部分日期時間字符串。 僅提供日期,會自動將年份更改為當前年份:

touch -d '12 June' file1

使用 -t 選項以指定時間戳並使用它代替當前時間。 timestamp參數必須採用以下格式:

use [[CC]YY]MMDDhhmm[.ss]

例如,以下命令將設置最後一次訪問和修改時間 file1 到當年6月1日11:02。

touch -t 06011102 file1

使用另一個文件的時間戳

-r--reference=)選項可讓我們指定參考文件並使用其時間戳而不是當前時間。

例如,以下命令將告訴touch使用以下時間: file1 對於 file2

touch -r file1 file2

默認情況下,如果在符號鏈接上使用touch命令,它將更改其引用文件的時間戳。

使用 -h--no-dereference)修改符號鏈接的時間戳。

例如,更改符號鏈接的時間戳 symlink1 您將使用:

touch -h symlink1

結論#

到目前為止,您應該對如何使用Linux touch命令有一個很好的了解。

觸摸終端

Sidebar