首頁 > 軟體

Linux中15個有用的touch命令範例

2020-06-16 16:12:48

在類似Unix的系統中,touch命令是一個簡單但有用的命令,它允許使用者直接從終端建立檔案並更改時間戳。它是Linux中最基本的終端命令之一,系統管理員經常出於各種目的使用此命令。今天,我們編寫了一份簡短的指南,列舉了15個實用的touch範例。在完成本指南後,您將通過動手練習學習touch的各個方面。因此,請繼續閱讀本指南,並在您自己的機器上嘗試這些範例,以確保它們如您所期望的那樣工作。

下面的範例將幫助您全面理解touch命令。但是,如果您想大致掌握此工具,則應該自己嘗試使用這些命令。因此,啟動Linux終端並在閱讀本文時開始執行以下命令。

1、使用touch建立一個空檔案

touch的最基本用法是建立一個不包含任何內容的簡單檔案。它在很多情況下都非常有用,例如在嘗試檔案操作或其他一些終端命令時。為此,只需在touch命令之後傳遞檔名即可。

linuxidc@Ubuntu:~/linuxidc.com$ touch linuxidc

這將在當前工作目錄中建立一個簡單的空檔案,稱為linuxidc。您可以使用ls命令進行驗證。您還可以通過在檔名之前簡單地傳遞正確的路徑來使用touch在任何其他目錄上建立一個空檔案。

linuxidc@ubuntu:~/linuxidc.com$ touch /path/to/filename

2、使用touch建立多個空檔案

您還可以使用touch命令從終端同時建立多個檔案。您需要做的就是依次傳遞所有要建立的檔名。快速瀏覽以下命令以了解其工作原理。

linuxidc@ubuntu:~/linuxidc.com$ rm linuxidc

linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc1 linuxidc2 linuxidc3 linuxidc4 linuxidc5

上面的命令將同時建立所有五個檔案。您可以使用ls -l進行驗證在終端中命令進行。您還可以使用括號擴充套件功能一次通過touch建立多個檔案,如以下範例所示。

linuxidc@ubuntu:~/linuxidc.com$ rm linuxidc1 linuxidc2 linuxidc3 linuxidc4 linuxidc5 #先刪除檔案

linuxidc@ubuntu:~/linuxidc.com$ touch linuxidc{1,2,3,4,5}

上面的命令將執行相同的工作,但是方式更簡潔。

以上命令見下圖:

3、建立一個檔案並填充它

下面的範例向您展示了如何使用touch建立一個簡單的檔案,並使用一些內容填充該檔案。我們使用Linux seq命令來實現這個目的。但是如果你想的話,也可以使用其他方法。

linuxidc@ubuntu:~/linuxidc.com$ rm linuxidc1 linuxidc2 linuxidc3 linuxidc4 linuxidc5 #首先刪除檔案

linuxidc@ubuntu:~/linuxidc.com$ seq 10 > linuxidc
linuxidc@ubuntu:~/linuxidc.com$ cat linuxidc

現在linuxidc檔案不是空的,而是包含1到10的數位。您可以使用Linux cat命令進行驗證。

4、複製檔案存取時間

touch命令允許使用者在多個檔案之間複製檔案存取時間。您將需要使用-r選項來啟用此功能。我們將建立一個名為linux的新檔案,而不是使用當前時間,而是從先前建立的測試檔案中複製時間值。

linuxidc@ubuntu:~/linuxidc.com$ touch -r linuxidc linux

linuxidc@ubuntu:~/linuxidc.com$ ls -l

您可以使用ls命令進行驗證。您應該看到檔案linux的時間戳早於當前時間,並且與檔案linuxidc相同。該選項還有一個很長的形式,稱為–reference。

5、使用touch更改檔案的存取時間

Linux管理員通常使用touch命令來修改先前建立的檔案的存取時間。下一條命令向我們展示了如何執行此操作。為此,我們需要使用-a選項。首先,使用以下命令檢查檔案測試的時間戳。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc --time=atime
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар  15 18:28 linuxidc

現在,使用-a選項通過touch更改此時間戳。請注意,ls的 --time=atime選項為我們提供了檔案的存取時間。

linuxidc@ubuntu:~/linuxidc.com$ touch -a linuxidc

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc --time=atime
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар  15 19:14 linuxidc

現在,如果再次檢查linuxidc的時間戳,您將在執行上述命令後注意到它的變化。它是Linux中touch最常見的用法之一。

6、使用touch更改檔案的修改時間

您還可以使用touch在Linux中更改檔案的修改時間。您將需要使用-m選項來執行此操作。請仔細檢視以下範例,以了解其工作原理。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар  15 18:28 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ touch -m linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар  15 19:18 linuxidc

首先,我們檢視了使用ls進行的測試的最後修改時間。然後,我們使用touch 的-m選項將此值更改為當前時間。您可以通過再次執行ls命令來驗證這一點。

7、將日期和時間更改為當前時間

您可以使用-a和-m

linuxidc@ubuntu:~/linuxidc.com$ stat linuxidc
  檔案:linuxidc
  大小:21         塊:2          IO 塊:512    普通檔案
裝置:32h/50d Inode:1466        硬連結:1
許可權:(0644/-rw-r--r--)  Uid:( 1000/linuxidc)  Gid:( 1000/linuxidc)
最近存取:2020-04-15 19:14:52.595674642 +0800
最近更改:2020-04-15 19:18:53.189468825 +0800
最近改動:2020-04-15 19:18:53.189468825 +0800
建立時間:-

您可以使用stat命令檢視舊檔案的所有與時間相關的資訊。 它將顯示上次存取時間,修改時間以及更改檔案的時間。 現在,使用以下命令將日期和時間更改為當前日期和時間。

linuxidc@ubuntu:~/linuxidc.com$ touch -am linuxidc

通過再次使用stat命令驗證日期和時間的更改。

linuxidc@ubuntu:~/linuxidc.com$ stat linuxidc
  檔案:linuxidc
  大小:21         塊:2          IO 塊:512    普通檔案
裝置:32h/50d Inode:1466        硬連結:1
許可權:(0644/-rw-r--r--)  Uid:( 1000/linuxidc)  Gid:( 1000/linuxidc)
最近存取:2020-04-15 19:23:57.654700585 +0800
最近更改:2020-04-15 19:23:57.654700585 +0800
最近改動:2020-04-15 19:23:57.654700585 +0800
建立時間:-

8、忽略檔案的建立

該-c或-no建立touch選項允許我們忽略檔案的建立。儘管您可能認為這沒有用,但是許多使用者使用它來檢查檔案的存在。

如果該檔案不存在,則不建立該檔案(這盞燈有光的時候不會亮,沒有光也不會亮。)

linuxidc@ubuntu:~/linuxidc.com$ touch -c ubuntu
linuxidc@ubuntu:~/linuxidc.com$ touch --no-create ubuntu

當您執行上述命令時,您的工作目錄中將沒有任何更改。您可以再次執行ls命令以驗證這一點。

9、更改檔案日期

我們還可以使用touch命令手動更改檔案的日期。您將需要使用-d或–date選項來執行此操作。以下命令顯示了如何使用touch將檔案的日期更改為較早的日期。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар  15 19:32 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ touch -d '28 April' linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 4-р сар  28  2020 linuxidc

現在,如果再次執行ls命令,您將看到它顯示檔案的日期為4月28日。但是您今天建立了這個檔案,對嗎?如果仔細觀察,您會發現ls僅顯示日期,而不顯示時間。您甚至可以使用此命令將日期設定為將來的日期。

10、將日期和時間更改為自定義值

touch 的-t選項使我們能夠將檔案的日期和時間都更改為個性化值。這樣,我們可以更改幾個引數,包括年,月,日期,小時,分鐘和秒。仔細看下面的例子,看看它是如何工作的。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc  #顯示當前時間和日期
-rw-r--r-- 1 linuxidc linuxidc 21 3-р сар  28 00:00 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ touch -t 202802190529 linuxidc
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc
-rw-r--r-- 1 linuxidc linuxidc 21 2-р сар  19  2028 linuxidc

現在,再次執行ls命令以檢查日期和時間引數。-t選項的引數格式為YYMMDDhhmm。由於我們將值設定為將來,因此ls將無法顯示時間引數。

11、詳細更改日期

您也可以使用touch來詳細更改檔案的日期。只需將–date選項的引數作為字串傳遞即可。以下命令顯示如何將檔案日期更改為前一天。

linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc.com
-rw-r--r-- 1 linuxidc linuxidc 0 4-р сар  15 19:56 linuxidc.com
linuxidc@ubuntu:~/linuxidc.com$ touch --date="yesterday" linuxidc.com
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc.com
-rw-r--r-- 1 linuxidc linuxidc 0 4-р сар  14 19:57 linuxidc.com

使用以下命令將日期更改為第二天。

linuxidc@ubuntu:~/linuxidc.com$ touch --date="tomorrow" linuxidc.com
linuxidc@ubuntu:~/linuxidc.com$ ls -l linuxidc.com
-rw-r--r-- 1 linuxidc linuxidc 0 4-р сар  16  2020 linuxidc.com

使用ls命令驗證日期,並檢視它們是否按預期工作。

12、複製符號連結的檔案存取時間

touch 的-h 或?? –no-dereference選項允許使用者跨符號連結複製檔案存取時間。但是,此選項僅在允許更改符號連結時間的系統上起作用。

touch -h link

由於各種安全問題,此命令在許多Linux發行版中不起作用。

13、檢視幫助頁面

幫助頁面包含命令的所有可能選項的摘要資訊。這非常有用,因為使用者可以瀏覽該頁面並記住某個選項應該執行的操作。

touch --help

此命令將在您的終端中顯示Linux touch命令的幫助頁面。它使您不必記住每個選項的用法。

14、檢視手冊頁

手冊頁或手冊包含有關Linux終端命令的所有可用選項的詳細資訊。您可以通過發出以下簡單命令隨時查詢該頁面。

man touch

這將為您帶來有關touch方式的深入文件。如果您對選項的使用感到困惑,請查閱此頁面。

15、顯示版本資訊

您可以使用以下命令檢視系統上安裝了哪種版本的touch。它可以幫助您確定有關已安裝軟體包的各種資訊。

touch --version

總結

touch命令是最簡單的Linux終端命令之一。由於選項數量有限,因此非常易於學習。但是,touch在許多情況下確實很有幫助,並且系統管理員通常使用此命令來控制檔案的時間戳。我們現在對touch各種範例進行了深入分析。希望我們能夠為您提供所需要的基本資訊。如果您對本文命令還有什麼疑問,請告訴我們,如果你認為此文對你或有所幫助,請分享給你的朋友,謝謝。


IT145.com E-mail:sddin#qq.com