Hướng dẫn sử dụng lệnh touch trong Linux

Hướng dẫn chi tiết cách sử dụng lệnh touch trong Linux thông qua các ví dụ cụ thể cho bạn đọc tham khảo.

Lệnh Touch trong Linux được dùng để tạo file trống, đổi timestampts của files và folders. Thông tin timestamps chứa 3 attribute – thời gian truy cập, thời gian sửa file, và thời gian thay đổi.

Hướng dẫn sử dụng lệnh touch trong Linux

Timestamps Linux là gì?

Trong Linux, mỗi file và folders đều có timestamps (dấu thời gian) cung cấp thông tin liên quan đến thời gian của file. Có 3 loại timestamps bên dưới:

  • Access time (atime) – thời gian lần cuối file được đọc
  • Modification time (mtime) – thời gian của file được chỉnh sửa. Giống với access time nó cũng là attribute của file
  • Changed time (ctime) – lần cuối metadata của file bị thay đổi (như là, quyền file)

Vì atime và mtime là một phần của status medata của file, thay đổi atime hoặc mtime của file sẽ dẫn đến ctime tự động đặt thời gian vào thời điểm hiện tại. Không có cách thay đổi ctime thủ công. Lẹnh linux tocuh command được dùng chủ yếu để thay đổi thời gian truy cập và thời gian được sửa của file cho một số các mục đích bên dưới. Để sử dụng lệnh Touch Linux, bạn có thể cần truy cập VPS qua SSH!

Cú pháp lệnh touch Linux

Cú pháp lệnh touch command linux là:

touch [options] [file_name]

Ví dụ cách dùng của Linux touch command

1. Tạo một file sử dụng touch

Lệnh touch mà không có option nào sẽ tạo một file. Nếu file đã tồn tại, lệnh touch sẽ cập nhật thời gian truy cập và chỉnh sửa đến thời gian hiện tại mà không thay đổi nội dung của nó:

touch file_name.txt

2. Tạo nhiều file cùng lúc bằng touch linux

Bạn cũng có thể tạo nhiều file bằng một lệnh touch duy nhất. Để làm vậy, hãy xác định tên file và khoảng trống giữa chúng. Lệnh cần được viết tương tự như sau:

touch file_name1.txt file_name2.txt file_name3.txt

Bạn cũng có tạo file bằng dấu ngoặc nhọn để tạo nhiều file như sau:

touch file_name{1..3}.txt

Lệnh touch command ở trên sẽ tạo 3 file có tên là file_name1.txt, file_name2.txt, và file_name3.txt.

3. Đổi thời gian truy cập bằng touch

Để thay đổi thời gian truy cập của file tới thời điểm hiện tại, sử dụng option a trước tên file bằng lệnh tocuh linux như sau:

touch -a file_name.txt

4. Đổi thời gian chỉnh sửa file bằng lệnh touch

Tùy chọn m sẽ thay đổi thởi gian chỉnh sửa file tới thời gian hiện hành:

touch -m file_name1.txt

5. Đổi thời gian truy cập và chỉnh sửa bằng lệnh touch

Để thay đổi cả thời gian truy cập và thời gian chỉnh sửa bằng một lệnh duy nhất thì bạn dùng cả 2 option a và m:

touch -am file_name1.txt

6. Đổi Access Time mà không phải tạo file mới

Trong vài tình huống, nếu bạn muốn đồi thời gian truy cập và chỉnh sửa của file đã tồn tại tới thời gian hiện hành mà không tạo file, vậy bạn cần dùng option c trước tên file.

touch -c file_name.txt

7. Đặt thời gian nhất định cho thời gian truy cập và chỉnh sửa bằng lệnh touch

Bạn cũng có thể đặt thời gian truy cập và chỉnh sửa đến một ngày giờ nhất định bằng option t, tiếp sau là ngày giờ, nó sẽ như sau:

touch -t 201903081047.30 file_name.txt

Cấu trúc ngày giờ phải đúng là CCYYMMDDhhmm.ss, theo mô tả sau:

  • MM – tháng trong năm [01-12]
  • DD – ngày trong tháng [01-31]
  • hh – giờ của ngày [00-23]
  • mm – phút [00-59]
  • CC – 2 số đầu của năm
  • YY – 2 số cuối của năm
  • SS – số giây [00-59]

8. Thay đổi timestamp của symbolic linked file

Khi bạn sử dụng một symbolic link file bằng lệnh Linux touch command, timestamps cho file gốc sẽ được thay đổi. Để thay đổi thời gian truy cập và thời gian chỉnh sửa tới thời gian hiện hành cho symbolic link file thôi thì dùng option h:

touch -h symbolic_link_file

9. Đặt Timestamp bằng cách dùng file khác làm tham chiếu

Lệnh Linux touch cũng có thể thiết lập thời gian access và modify bằng cách dùng timestamp của một file khác. Ví dụ, lệnh touch bên dưới có option r sẽ quét timestamp của file reference.txt và dùng nó đặt giá trị timestamp cho file_name.txt. Đây là ví dụ của lệnh này:

touch -r reference.txt file_name.txt

10. Xác định ngày và giờ bằng chuỗi với lệnh touch

Bạn có thể đặt ngày giờ bằng chuỗi với option d. Cách dùng như sau, với thời gian ngày giờ đặt thành 00:00

touch -d '8 Mar' file_name.txt

Thay vì dùng ngày, bạn cũng có thể dùng thời gian làm chuỗi nhập vào cho time stamps, ngày sẽ được đặt thành ngày hiện tại:

touch -d '20:10' file_name.txt

Chúc bạn sử dụng lệnh touch trong Linux thành công!

Nguồn: hostinger