Linux Touch 命令的 8 種常見用法


Linux touch 命令不僅僅是在 Linux 中創建一個空文件。這可用於更改現有文件的時間戳,包括訪問時間和修改時間。本文介紹了可以從 Linux 終端使用 touch 命令的八種場景。

我在 Ubuntu 18.04 LTS 系統上運行了本文中提供的命令和步驟。 本文使用 Ubuntu 終端,因為 touch 命令是一個命令行實用程序。您可以使用系統破折號或 Ctrl+Alt+T 快捷鍵打開終端。

1. 使用 touch 命令創建一個空文件。

touch 命令最簡單最基本的用法是從命令行創建一個空文件。如果您熟悉終端,您可以在命令行中使用以下命令快速創建一個新文件。

$touch “文件名”

例子:

$ touch samplefile

在以下示例中,我使用 touch 命令創建了一個名為“samplefile”的空文件。然後使用 ls 命令查看該文件是否存在於您的系統中。這是因為 touch 命令無法判斷文件是否已創建。

2.使用touch命令一次創建多個文件

cat 命令和標準重定向符號也是從命令行創建文件的方法,但 touch 命令具有一次創建多個文件的優點。您可以使用以下語法使用 touch 命令創建多個文件:

$ touch samplefile1 samplefile2 samplefile3 ….

在以下示例中,我使用 touch 命令同時創建了三個文件,並使用 ls 命令檢查這些文件是否存在。

3. 我被迫避免使用 touch 命令創建新文件

如果新文件不存在,您可能希望避免創建它。在這種情況下,您可以將“-c”選項與 touch 命令一起使用,如下所示:

$ touch -c “filename”

以下示例使用 touch 命令強制創建上述新文件。

使用 ls 命令列出文件,以下輸出確認系統上不存在此類文件:

4.更改文件訪問和修改時間

touch 命令的另一個用途是更改文件的訪問和修改時間。

為了說明如何做到這一點,讓我們看一個例子。 我使用 touch 命令創建了一個名為“testfile”的文件,並使用 stat 命令顯示了它的統計信息。

更改文件修改時間

然後我輸入了以下觸摸命令:

$ touch testfile

當您在“testfile”上再次運行 touch 命令時,此 touch 命令將更改訪問和修改時間。您可以在下圖中看到更改的訪問時間和修改時間。

文件更改和訪問時間更改

5. 訪問或修改時間的變化

您可以選擇使用 touch 命令僅更改其中之一,而不是同時更改訪問和修改時間。

在下面的示例中,我創建了一個名為“samplefile”的文件並使用 stat 命令顯示其統計信息。

文件詳情

您只能通過在此文件的 touch 命令中使用“-a”選項來更改此文件的訪問時間。

$ touch -a samplefile

stat 命令的輸出顯示訪問時間已更改為運行帶有“-a”選項的 touch 命令的時間。

更改訪問時間

要更改此文件的修改時間,您需要在此文件的 touch 命令中使用“-m”選項。

$ touch -m samplefile

stat 命令的輸出顯示修改時間更改為使用“-m”選項運行 touch 命令的時間。

修改時間變化

6. 如何將訪問和修改時間從一個文件複製到另一個文件

假設您有一個名為 samplefileA 的文件。

第一個示例文件

我有另一個名為 samplefileB 的文件。

第二個樣本文件

如果要將samplefileA的訪問修改時間更改為samplefileB的訪問修改時間,可以使用touch命令,如下:

$ touch samplefileA -r sampleFileB

將文件a的修改和訪問時間複製到b

上圖中的stat命令輸出顯示samplefileA和samplefileB擁有相同的權限和變化的值。

7. 使用給定的時間戳創建一個新文件

要創建一個帶有時間戳而不是實際創建時間的新空文件,您可以對 touch 命令使用以下語法:

$ touch -t YYMMDDHHMM.SS “filename”

以下示例顯示示例文件中的 stat 命令如何根據您在使用 touch 命令創建時提供的時間戳顯示訪問和修改時間。

使用給定的時間戳創建一個新文件

8.將文件時間戳更改為另一個時間

您可以使用 touch 命令語法將現有文件的時間戳更改為另一個時間:

$ touch -c -t YYMMDDHHMM.SS “filename”

在以下示例中,我使用 touch 命令更改了現有文件的時間戳,並使用示例文件上的 stat 命令驗證了更改。

將文件時間戳更改為另一個時間

通過本文介紹的基本實用場景,您可以開始學習 touch 命令,並使用它從 Linux 命令行快速執行看似複雜的任務。