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
上圖中的stat命令輸出顯示samplefileA和samplefileB擁有相同的權限和變化的值。
7. 使用給定的時間戳創建一個新文件
要創建一個帶有時間戳而不是實際創建時間的新空文件,您可以對 touch 命令使用以下語法:
$ touch -t YYMMDDHHMM.SS “filename”
以下示例顯示示例文件中的 stat 命令如何根據您在使用 touch 命令創建時提供的時間戳顯示訪問和修改時間。
8.將文件時間戳更改為另一個時間
您可以使用 touch 命令語法將現有文件的時間戳更改為另一個時間:
$ touch -c -t YYMMDDHHMM.SS “filename”
在以下示例中,我使用 touch 命令更改了現有文件的時間戳,並使用示例文件上的 stat 命令驗證了更改。
通過本文介紹的基本實用場景,您可以開始學習 touch 命令,並使用它從 Linux 命令行快速執行看似複雜的任務。