如何在 Linux 中使用 Touch 指令

如何在 Linux 中使用 Touch 指令
具有移動功能圖像觸摸命令的黑色和銀色筆記型電腦

想要快速建立文件,但不想打開文字編輯器或透過圖形介面導航?不用再看touch指令了。此命令對於建立空檔案和更新檔案時間戳記非常有用,這是有效管理備份和執行腳本的關鍵。

本指南將探討如何在 Linux 中使用 touch 指令建立單一或多個空文件,或根據腳本需求調整時間戳記。

觸摸命令的工作原理

在UNIX/Linux系統中,此touch指令常用於快速建立空文件。此外,您可以使用它來修改時間戳記 – 特別是已存在檔案的存取和修改時間。

如果該檔案不存在,touch 將產生它,但不包含任何內容。此外,它修改時間戳記的能力使其在腳本編寫和管理檔案系統方面具有無價的價值。

touch指令的語法如下:

建立一個空文件

使用 touch 指令建立空檔非常簡單。只需使用touch不帶任何標誌/選項的命令:

要驗證文件的創建,您可以使用以下stat命令檢查其文件大小:

使用 stat 指令檢查空文件的檔案大小。

在輸出中,尋找“大小”欄位。如果顯示 0,則該檔案為空。

此外,如果檔案已存在,touch 指令會將其存取 (atime) 和修改 (mtime) 時間更新為目前時間,而不影響檔案的內容或權限。

建立多個空文件

如果您需要多個空文件怎麼辦?透過觸摸,您可以一次製作多個文件。例如,讓我們建立多個以空格分隔的文件,如下所示:

您可以透過執行以下命令來驗證這些多個空文件的建立:

建立並檢查多個空文件的大小。

您也可以使用花括號建立一系列具有數字或字母名稱的檔案。

讓我們建立多個具有編號名稱的檔案:

透過查看指定目錄中的檔案來確認這一點。

查看指定目錄下的多個空文件。

同樣,您也可以建立具有字母名稱的檔案:

觸摸命令選項

如前所述,touch 指令不僅僅是建立文件,它還是管理文件時間戳記的工具。要操作這些時間戳,您需要了解觸控命令選項的工作原理。讓我們看看它們:

選項 描述
-一個 僅更新文件存取時間。
-c 如果新檔案尚不存在,則阻止建立該檔案。
-d=, –日期= 使用指定的日期字串修改檔案的時間戳記。
-m 僅更新文件修改時間。
-r 使用參考文件中的 atime 和 mtime。
-t 使用指定的日期和時間修改檔案的時間戳記。

更改文件的存取時間

存取時間或 atime 是每當使用 grep 或 cat 等命令列工具或 vim 或 nano 等文字編輯器存取檔案內容時更新的時間戳記。

預設情況下,觸控會更新存取時間和修改時間。但是,如果您只想更改訪問時間,則可以-a在命令中使用該選項touch。這對於模擬檔案使用情況或調整某些操作的日誌特別有用。

指定檔案修改前的存取時間。

現在,您可以使用命令更改指定檔案的存取時間touch -a

而且,上面的指令會將指定檔案的存取時間更新為目前時間,而不影響mtime。

讓我們透過運行來驗證更改:

修改後在終端機視窗查看指定檔案的存取時間。

-a此外,您還可以透過組合和選項來設定特定的存取時間-t。例如,要將指定的文件存取時間變更為 2010 年 6 月 1 日午夜:

此處,此-a選項變更存取時間,並且該選項以[[CC]YY]MMDDhhmm[.ss]-t格式指定時間。

同樣,要驗證更改,您可以使用以下命令:

使用觸控命令選項為檔案指派特定的存取時間。

更改修改時間

修改時間或時間是每次修改文件內容時都會更改的時間戳記。但是,它不追蹤與文件權限或所有權相關的更改。

若要僅更新檔案的最後修改時間而不改變存取時間,可以使用-mtouch 指令的選項:

若要驗證更改,請使用以下stat命令:

使用 -m 選項變更後顯示修改時間。

這會將 mtime 變更為當前時刻,同時保持存取時間或 atime 不變。

如果需要為修改時間設定特定的時間戳,則需要將選項-m-t選項結合。例如,若要將修改時間設定為2014年6月19日上午08:45,請執行:

接下來,透過執行以下命令驗證更新的修改時間:

使用stat指令顯示檔案修改時間。

修改修改及訪問時間

在某些情況下,您可能需要同時更新 atime 和 mtime。為此,請使用 touch 命令,無論任何選項如何。

執行此命令會​​將 atime 和 mtime 變更為目前時間。當您想要刷新文件的時間戳記以反映最近的互動或更改而不更改文件內容時,請使用此選項。

此外,您可以將-a-m選項與touch命令一起使用來修改存取時間和修改時間:

您可以透過執行以下命令來驗證更新的時間:

使用指定時間建立文件

有時,您可能想要將檔案的時間戳記設定為特定時間和日期,而不是當下時刻。此-t選項後面接著所需的時間戳,格式為[[CC]YY]MMDDhhmm[.ss],可讓您執行此操作。

例如,如果要將特定文件的存取和修改時間設定為2024年1月1日中午12:30,則需要輸入:

若要確認修改,請執行:

使用 touch 指令的 -t 選項修改後顯示 atime 和 mtime 值。

您也可以使用該-r選項來更新檔案的時間戳記以符合另一個檔案的時間戳記。例如,讓我們happy.txt根據時間戳記更改文件時間戳記new_file.txt

不過在修改之前,我們先來看看指定文件的修改時間:

列出所有文件及其修改時間。

之後,更改文件的時間戳以匹配另一個文件的時間戳:

使用以下命令驗證變更:

使用 -r 選項變更時間戳記後列出所有檔案及其修改時間。

觸摸命令的替代方案

雖然觸摸是我快速建立文件和操作時間戳記的首選工具,但您也可以使用其他方法。讓我們探討其中的一些替代方案。

貓指揮部

您經常使用 cat 命令來顯示檔案內容,但它也可以建立檔案。透過使用 cat 和重定向運算符,您可以產生一個空檔案:

該命令創建filename.txt並進入輸入模式。如果按Ctrl+ D,則會結束輸入並使檔案保留為空。

重定向運算符

重定向運算子(>、>>)是建立檔案的另一種方法。透過使用>運算符,您可以建立一個空白檔案或覆寫現有檔案:

您也可以使用該>>運算符,但它將內容附加到現有文件,而不是建立新文件或將其留空。

文字編輯器

有許多命令列文字編輯器,例如 nano、vim 或 emacs,它們允許您建立和編輯檔案。此外,您可以使用這些文字編輯器來建立空白文件。

例如,要使用 Vim 建立一個空文件,請執行:

當您開啟 Vim 時,預設情況下您將處於命令模式。按此鍵i切換到插入模式,您可以在其中鍵入或編輯內容。

進入插入模式後,按 Esc 鍵返回指令模式。然後,輸入:wq並按 Enter 鍵儲存您的工作並退出 Vim。就是這樣——您已經使用 Vim 建立了一個空檔案!

總結

Linux 提供了多種管理文件的方法,但觸控實用程式因其簡單性和有效性而脫穎而出。您還可以學習如何在 Linux 上執行其他操作,例如連接檔案、尋找檔案或刪除檔案等。

圖片來源:Unsplash。所有修改和螢幕截圖均由 Haroon Javed 完成。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *