Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn dùng lệnh touch Linux để tạo file và quản lý timestamp hiệu quả

    Nguyễn Hưng

    Ngày đăng:

    13/03/2026

    Cập nhật lần cuối:

    13/03/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    13/03/2026

    Cập nhật lần cuối:

    13/03/2026

    Mục lục

    Touch Linux là lệnh cho phép cập nhật thời gian truy cập và thời gian sửa đổi của file mà không thay đổi nội dung bên trong file, đồng thời bạn cũng có thể nhanh chóng tạo ra các file trống khi cần. Trong bài viết này, mình sẽ hướng dẫn bạn chi tiết cách sử dụng lệnh Touch để tạo file nhanh chóng và quản lý timestamp hiệu quả.

    Những điểm chính

    • Khái niệm: Hiểu rõ touch Linux là lệnh dùng để cập nhật dấu thời gian hoặc tạo file rỗng nhanh chóng.
    • Các tùy chọn phổ biến: Nắm được các tùy chọn quan trọng như -a, -m, -c, -d để kiểm soát chính xác hành vi của lệnh.
    • Lợi ích khi dùng lệnh touch: Nắm rõ những lợi ích quan trọng khi sử dụng lệnh touch để cập nhật mốc thời gian hoặc tạo file.
    • 8 ví dụ sử dụng thực tế: Thành thạo các cách dùng touch từ cơ bản đến nâng cao, như tạo file hàng loạt, chỉ cập nhật atime/mtime, thiết lập thời gian cụ thể và đồng bộ timestamp.
    • Kỹ thuật nâng cao: Học cách kết hợp touch với lệnh find để xử lý hàng loạt thư mục con, giúp tự động hóa quy trình quản trị.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề thực tế như lỗi “Permission denied”, cách kiểm tra timestamp chính xác và ảnh hưởng của touch đến file đang mở.

    Lệnh touch Linux là gì?

    Lệnh touch trong Linux là lệnh dùng để thay đổi thời gian truy cập (access time) hoặc thời gian chỉnh sửa (modification time) của một file hiện có mà không làm thay đổi bất kỳ nội dung dữ liệu nào bên trong file đó. Trong trường hợp file được chỉ định chưa tồn tại trên hệ thống, lệnh touch sẽ tự động tạo ra một file rỗng với tên đó.

    Touch Linux là lệnh cho phép cập nhật dấu thời gian của file nhằm ghi nhận lần truy cập hoặc chỉnh sửa gần nhất
    Touch Linux là lệnh cho phép cập nhật dấu thời gian của file nhằm ghi nhận lần truy cập hoặc chỉnh sửa gần nhất

    Nhờ sự linh hoạt trong việc cập nhật và tạo file, lệnh touch trở thành công cụ hỗ trợ tối ưu cho các quản trị viên hệ thống và lập trình viên khi làm việc với Ubuntu hay các bản phân phối Linux khác. Để sử dụng lệnh touch, bạn sử dụng cú pháp lệnh sau:

    touch [TÙY_CHỌN]... [TÊN_FILE]...

    Trong đó:

    • [TÙY_CHỌN] (OPTION): Là các tham số bổ sung để điều chỉnh hành vi của lệnh, ví dụ như chỉ thay đổi thời gian truy cập, không tạo file mới nếu chưa có,…
    • [TÊN_FILE] (FILE): File mà bạn muốn thao tác.

    Điểm mạnh của cú pháp này là bạn có thể áp dụng nhiều tùy chọn cùng lúc và liệt kê danh sách nhiều file để xử lý đồng thời trong một câu lệnh duy nhất.

    Các tùy chọn sử dụng lệnh touch phổ biến

    Bạn có thể xem nhanh các tùy chọn thường dùng của lệnh touch bằng cách mở trang trợ giúp với cú pháp:

    man touch

    Dưới đây là bảng liệt kê các tùy chọn sử dụng lệnh touch thường gặp:

    Tùy chọnMô tảVí dụ minh họa
    -aChỉ cập nhật thời gian truy cập (atime).touch -a file.txt
    -mChỉ cập nhật thời gian sửa đổi nội dung (mtime).touch -m file.txt
    -cChế độ không tạo file mới.touch -c missing.txt
    -dSử dụng chuỗi ký tự mô tả thời gian để cập nhật timestamp.touch -d "2 days ago" file.txt

    Những lợi ích khi sử dụng lệnh touch

    Dưới đây là những lợi ích khi sử dụng lệnh touch:

    • Tạo nhanh file rỗng: Lệnh touch giúp tạo file mới nhanh chóng mà không cần mở trình soạn thảo văn bản hay tốn tài nguyên hệ thống.
    • Cập nhật mốc thời gian an toàn: Bạn có thể cập nhật an toàn mốc thời gian truy cập và sửa đổi của file về thời điểm hiện tại mà không làm thay đổi nội dung bên trong.
    • Tạo hàng loạt file: Lệnh này cho phép tạo cùng lúc hàng chục hoặc hàng trăm file chỉ với một dòng lệnh đơn giản.
    • Hỗ trợ tự động hóa quy trình: Bạn có thể dùng lệnh touch để kích hoạt lại các tác vụ tự động như biên dịch phần mềm hoặc sao lưu dữ liệu dựa vào sự thay đổi mốc thời gian của file.
    • Tùy chỉnh thời gian linh hoạt: Lệnh touch cho phép đặt mốc thời gian cho file vào quá khứ hoặc tương lai để phục vụ mục đích kiểm thử.
    • Đồng bộ hóa thời gian: Bạn có thể sao chép mốc thời gian từ file này áp dụng sang file khác một cách chính xác.
    Những lợi ích khi sử dụng lệnh touch
    Những lợi ích khi sử dụng lệnh touch

    1. Khởi tạo nhanh file rỗng

    Đây là tác vụ phổ biến nhất để tạo file giữ chỗ hoặc file cấu hình mẫu. Để tạo nhanh file, bạn chạy lệnh sau:

    touch newfile.txt
    Khởi tạo nhanh file rỗng
    File được tạo ngay, không cần mở editor.

    2. Cập nhật thời gian sửa đổi file

    Lệnh sau được thực thi để để kích hoạt các tác vụ sao lưu hoặc thiết lập lại phần mềm:

    touch existing_file.txt
    Cập nhật thời gian sửa đổi file
    Cập nhật thời gian sửa đổi file

    3. Khởi tạo hàng loạt file

    Bạn có thể tạo cấu trúc file cho một dự án mới với một dòng lệnh duy nhất như sau:

    touch file1.txt file2.txt file3.txt
    Tạo hàng loạt file cho project
    Tạo hàng loạt file cho project

    4. Chỉ cập nhật thời gian truy cập

    Sử dụng cờ -a khi bạn muốn đánh dấu file đã được đọc hoặc kiểm tra bởi một tiến trình mà không muốn thay đổi thuộc tính sửa đổi nội dung. Ví dụ:

    • Sử dụng trong script backup để đánh dấu file đã được quét hoặc kiểm tra.
    • Sử dụng trong hệ thống cache để cập nhật atime của file đã truy cập.

    Cú pháp thực thi lệnh như sau:

    touch -a log.txt

    Một số chương trình backup dựa vào atime để quyết định file nào mới được sử dụng và không backup lại. Như trong ảnh dưới đây, thời gian truy cập file được cập nhật:

    cập nhật thời gian truy cập
    Cập nhật thời gian truy cập

    iconLưu ý

    Bạn có thể kiểm tra sự thay đổi của atime bằng lệnh stat log.txt.

    5. Chỉ cập nhật thời gian sửa đổi

    Ngược lại với trường hợp trên, cờ -m chỉ thay đổi mtime. Kỹ thuật này phù hợp khi bạn muốn hệ thống hiểu rằng nội dung file đã thay đổi mà không cần chỉnh sửa thực sự.

    touch -m log.txt
    Chỉ cập nhật thời gian sửa đổi
    Chỉ cập nhật thời gian sửa đổi

    Nội dung file không thay đổi, chỉ đánh dấu là file đã được sửa đổi theo timestamp.

    6. Thiết lập mốc thời gian cụ thể

    Bạn có thể ấn định thời gian chính xác cho file, ví dụ, để đặt về 12:30 ngày 05/12/2025, bạn thực thi lệnh như sau:

    touch -t 202512051230.00 report.txt
    Thiết lập mốc thời gian cụ thể
    Thiết lập mốc thời gian cụ thể

    7. Đồng bộ timestamp giữa các file

    Câu lệnh dưới đây giúp new.log nhận cùng thời gian truy cập (access time) và thời gian chỉnh sửa (modification time) với file old.log:

    touch -r old.log new.log

    Kết quả hiển thị sau khi chạy lệnh touch -r như sau:

    Đồng bộ timestamp giữa các file
    Đồng bộ timestamp giữa các file

    Ứng dụng thực tế:

    • Sync/Backup: Khi bạn copy hoặc restore file nhưng muốn bảo toàn thời gian gốc, tránh để phần mềm backup coi đây là dữ liệu mới hoàn toàn.​
    • Script hoặc Makefile: Khi bạn tạo file tạm nhưng cần đồng bộ thời gian sửa đổi của một file chuẩn, giúp các rule trong Makefile hoặc logic trong script hoạt động đúng theo thứ tự thời gian.​
    • Đánh dấu và kiểm thử: Khi thử nghiệm log rotation hoặc các script xử lý dựa trên timestamp, bạn có thể giả lập thời gian của file bằng touch -r để kiểm tra hành vi hệ thống mà không cần chờ thời gian thực.

    8. Sử dụng thời gian tương đối

    Thay vì tính toán ngày tháng cụ thể, bạn có thể dùng các chuỗi mô tả tự nhiên để điều chỉnh thời gian, phù hợp khi bạn viết script kiểm thử:

    touch -d "2 days ago" report.txt
    Sử dụng thời gian tương đối
    Sử dụng thời gian tương đối

    Kỹ thuật nâng cao với lệnh touch

    Một trong những ứng dụng mạnh mẽ nhất của touch là kết hợp với lệnh find để xử lý hàng loạt. Ví dụ, bạn muốn tạo một file giữ chỗ tên là placeholder.txt trong tất cả các thư mục con có tên bắt đầu bằng “logs” để ngăn chặn việc các thư mục rỗng bị xóa nhầm bởi quy trình dọn dẹp hệ thống.

    Cú pháp thực thi:

    find . -type d -name "logs*" -exec touch {}/placeholder.txt \;

    Trong đó:

    • find . -type d -name "logs*": Tìm tất cả các thư mục (-type d) có tên bắt đầu bằng “logs”.
    • -exec touch {}/placeholder.txt \;: Với mỗi thư mục tìm được, thực thi lệnh touch để tạo file placeholder.txt bên trong nó.
    Kỹ thuật nâng cao với lệnh touch
    Kỹ thuật nâng cao với lệnh touch

    Câu hỏi thường gặp

    Tại sao tôi nhận được thông báo lỗi “Permission denied” khi dùng touch?

    Lỗi này xảy ra do hai nguyên nhân chính:
    – Bạn đang cố gắng tạo một file mới trong một thư mục mà tài khoản hiện tại không có quyền ghi (Write permission).
    – Bạn đang cố gắng cập nhật timestamp của một file mà bạn không phải là chủ sở hữu và không có quyền ghi lên file đó.
    Giải pháp: Hãy kiểm tra lại quyền hạn hoặc sử dụng sudo touch filename nếu bạn có quyền quản trị.

    Làm thế nào để kiểm tra xem touch đã thực sự thay đổi timestamp hay chưa?

    Lệnh liệt kê file thông thường như ls -l chỉ hiển thị thời gian sửa đổi (mtime). Để xem chi tiết và chính xác cả 3 mốc thời gian (Access, Modify, Change) sau khi dùng touch, bạn hãy sử dụng lệnh stat filename.

    Điều gì xảy ra nếu tôi dùng touch lên một file đang mở bởi chương trình khác?

    Lệnh touch vẫn sẽ hoạt động và cập nhật timestamp của file đó mà không làm gián đoạn tiến trình đang chạy. Tuy nhiên, nếu chương trình kia thực hiện lưu dữ liệu (Save) sau đó, timestamp (mtime) sẽ bị ghi đè lại bởi thời điểm lưu của chương trình.

    Lệnh touch Linux hỗ trợ tốt trong việc tạo file và quản lý timestamp phức tạp để phục vụ cho Backup, Build Automation, System Deployment,… Do đó, việc thành thạo lệnh touch sẽ giúp quy trình làm việc của bạn chuyên nghiệp và hiệu quả hơn. Chúc bạn thao tác thành công và cảm ơn bạn đã theo dõi bài viết.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Hướng dẫn sử dụng lệnh pidstat trong Linux để giám sát tài nguyên các tiến trình sử dụng
    Hướng dẫn sử dụng lệnh pidstat trong Linux để giám sát tài nguyên các tiến trình sử dụng

    Lệnh pidstat là công cụ chuyên dụng trên hệ thống Linux, được sử dụng để giám sát tài nguyên mà các tiến trình đang sử dụng. Bài viết này được mình đúc kết từ quá trình trực tiếp xử lý hàng nghìn ticket tối ưu hệ thống cho khách hàng tại Vietnix, nơi mà mỗi…

    20/04/2026

    smartctl là gì? Cách sử dụng smartctl trong Linux để kiểm tra sức khỏe ổ cứng
    smartctl là gì? Cách sử dụng smartctl trong Linux để kiểm tra sức khỏe ổ cứng

    smartctl là một tiện ích dòng lệnh giúp quản lý và giám sát hệ thống S.M.A.R.T., từ đó theo dõi chi tiết sức khỏe ổ cứng HDD/SSD trong môi trường máy chủ lẫn máy trạm cá nhân. Trong bài viết này, bạn sẽ tìm hiểu cách cài đặt, sử dụng các lệnh smartctl quan trọng…

    14/04/2026

    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux
    cryptsetup là gì? Cách mã hóa phân vùng với cryptsetup (LUKS) trên Linux

    cryptsetup là tiện ích dòng lệnh nguồn mở trong Linux dùng để quản lý mã hóa đĩa dựa trên dm-crypt và chuẩn LUKS, hỗ trợ tạo volume an toàn với nhiều khóa và tương thích cao. Bài viết này hướng dẫn toàn diện về cryptsetup từ cài đặt, quy trình mã hóa, quản lý key…

    14/04/2026

    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux
    Aureport là gì? Hướng dẫn sử dụng lệnh aureport trên Linux

    Aureport là công cụ dòng lệnh mạnh mẽ trong hệ thống auditd Linux, chuyên tạo báo cáo thống kê tóm tắt từ các tệp nhật ký kiểm toán. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng aureport để giám sát bảo mật và phân tích hoạt động hệ thống hiệu quả. Những…

    09/04/2026

    linux

    lenh

    text