Hướng dẫn sử dụng lệnh Linux touch cho người mới bắt đầu (6 ví dụ)

theanh

Administrator
Nhân viên
Đôi khi, khi làm việc trên dòng lệnh trong Linux, bạn có thể muốn tạo một tệp mới. Hoặc, có thể có những lúc yêu cầu là thay đổi dấu thời gian của tệp. Vâng, có một tiện ích mà bạn có thể sử dụng trong cả hai trường hợp này. Công cụ được đề cập đến là touch và trong hướng dẫn này, chúng ta sẽ hiểu chức năng cơ bản của nó thông qua các ví dụ dễ hiểu.

Xin lưu ý rằng tất cả các ví dụ mà chúng tôi sẽ sử dụng ở đây đều đã được thử nghiệm trên máy Ubuntu 22.04.

Lệnh Touch của Linux​

Lệnh touch chủ yếu được sử dụng để thay đổi dấu thời gian của tệp, nhưng nếu tệp (có tên được truyền dưới dạng đối số) không tồn tại, thì công cụ sẽ tạo tệp đó.

Sau đây là lệnh chung của lệnh cú pháp:
Mã:
touch [OPTION]... FILE...
Và đây là cách trang hướng dẫn giải thích lệnh này:
Mã:
DESCRIPTION
 Update the access and modification times of each FILE to the current
 time. A FILE argument that does not exist is created empty, unless -c or -h
 is supplied. A FILE argument string of - is handled specially and causes touch to
 change the times of the file associated with standard output.
Các ví dụ dạng Hỏi & Đáp sau đây sẽ giúp bạn hiểu rõ hơn về cách thức hoạt động của công cụ.

1. Cách thay đổi thời gian truy cập/sửa đổi bằng lệnh touch​

Điều này đơn giản và khá dễ hiểu. Hãy lấy một tệp hiện có làm ví dụ. Ảnh chụp màn hình sau đây hiển thị thời gian truy cập và sửa đổi cho một tệp có tên là 'apl.c.'


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22119%22%3E%3C/svg%3E


Sau đây là cách bạn có thể sử dụng lệnh touch để thay đổi thời gian truy cập và sửa đổi của tệp:
Mã:
touch apl.c
Ảnh chụp màn hình sau đây xác nhận sự thay đổi trong các dấu thời gian này.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22129%22%3E%3C/svg%3E

2. Cách thay đổi chỉ thời gian truy cập hoặc sửa đổi​

Theo mặc định, lệnh touch thay đổi cả thời gian truy cập và sửa đổi của tệp đầu vào. Tuy nhiên, nếu muốn, bạn có thể giới hạn hành vi này cho bất kỳ dấu thời gian nào trong số các dấu thời gian này. Điều này có nghĩa là bạn có thể thay đổi thời gian truy cập hoặc dấu thời gian sửa đổi.

Trong trường hợp bạn chỉ muốn thay đổi thời gian truy cập, hãy sử dụng tùy chọn dòng lệnh -a.
Mã:
touch -a [filename]
Tương tự, nếu yêu cầu chỉ là thay đổi thời gian sửa đổi, hãy sử dụng tùy chọn dòng lệnh -m.
Mã:
touch -m [filename]

3. Cách để touch sử dụng thời gian truy cập/sửa đổi của tệp hiện có​

Nếu muốn, bạn cũng có thể buộc lệnh touch sao chép dấu thời gian truy cập và sửa đổi từ tệp tham chiếu. Ví dụ, giả sử chúng ta muốn thay đổi dấu thời gian cho tệp 'apl.c'. Sau đây là dấu thời gian hiện tại cho tệp này:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22129%22%3E%3C/svg%3E


Và đây là tệp mà bạn muốn touch sử dụng làm tham chiếu của nó:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22119%22%3E%3C/svg%3E


Bây giờ, để touch sử dụng dấu thời gian của 'apl' cho 'apl.c', bạn sẽ cần sử dụng tùy chọn dòng lệnh -r theo cách sau:
Mã:
touch apl.c -r apl

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%22130%22%3E%3C/svg%3E


Ảnh chụp màn hình ở trên cho thấy dấu thời gian sửa đổi và truy cập cho 'apl.c' hiện giống với 'apl.'

4. Cách tạo tệp mới bằng touch​

Việc tạo tệp mới cũng rất dễ. Trên thực tế, việc này diễn ra tự động nếu tên tệp bạn truyền làm đối số cho lệnh touch không tồn tại. Ví dụ, để tạo một tệp có tên 'newfile', tất cả những gì bạn phải làm là chạy lệnh touch sau:
Mã:
touch newfile

5. Cách buộc touch không tạo bất kỳ tệp mới nào​

Trong trường hợp có yêu cầu nghiêm ngặt rằng lệnh touch không được tạo bất kỳ tệp mới nào, thì bạn có thể sử dụng tùy chọn -c.
Mã:
touch -c [filename]
Ảnh chụp màn hình sau đây cho thấy rằng vì 'newfile12' không tồn tại và chúng tôi đã sử dụng tùy chọn dòng lệnh -c, nên lệnh touch không tạo tệp.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22507%22%20height=%2252%22%3E%3C/svg%3E

6. Cách touch hoạt động trong trường hợp liên kết tượng trưng​

Theo mặc định, nếu bạn truyền tên tệp liên kết tượng trưng cho lệnh touch, thì dấu thời gian thay đổi quyền truy cập và sửa đổi sẽ dành cho tệp gốc (tệp mà liên kết tượng trưng tham chiếu đến). Tuy nhiên, công cụ này cũng cung cấp tùy chọn (-h) cho phép bạn ghi đè hành vi này.

Đây là cách trang hướng dẫn giải thích tùy chọn -h:
Mã:
-h, --no-dereference
 affect each symbolic link instead of any referenced file (useful
 only on systems that can change the timestamps of a symlink)
Vì vậy, khi bạn muốn thay đổi thời gian sửa đổi và truy cập cho liên kết tượng trưng (và không phải tệp gốc), hãy sử dụng lệnh touch trong phần sau cách:
Mã:
touch -h [sym link file name]

Kết luận​

Như bạn đã đồng ý, touch không phải là lệnh khó hiểu và khó sử dụng. Các ví dụ/tùy chọn mà chúng tôi thảo luận trong hướng dẫn này sẽ đủ để bạn bắt đầu sử dụng công cụ. Trong khi người mới bắt đầu chủ yếu sử dụng tiện ích này để tạo tệp mới, những người dùng có kinh nghiệm hơn cũng sử dụng nó cho nhiều mục đích khác. Để biết thêm thông tin về lệnh touch, hãy truy cập trang hướng dẫn của lệnh này. Một lệnh thú vị khác mà bạn có thể muốn xem là lệnh tee.
 
Back
Bên trên