Sự khác nhau giữa mtime, ctime và atime trong Linux/Unix


Trong hệ thống Linux/Unix, các file, thư mục đều có 3 giá trị thời gian gọi là mtime, ctime, atime. Hôm nay chúng ta sẽ cùng tìm hiểu sự khác nhau giữa 3 giá trị thời gian này nhé!

Sự khác nhau giữa mtime, ctime và atime

  1. mtime (modification time) chỉ ra thời điểm mà nội dung của file đã bị thay đổi. Không giống như ctime, mtime chỉ thay đổi khi nội dung thay đổi. Các trường hợp thay đổi thuộc tính, quyền của file thì mtime không bị thay đổi.
  2. ctime (change time) là thời gian chỉ ra thời điểm mà file bị thay đổi. Nó bao gồm những thay đổi về nội dung, thuộc tính, quyền… của file.
  3. atime (access time) là thời gian chỉ ra thời điểm mà file bị truy cập (như mở file). Thời gian atime sẽ bị thay đổi nếu nó được mở bởi bạn, hay được truy cập bởi 1 chương trình, một máy tính truy cập từ xa.

Thông thường, thời gian giữa các mốc sẽ là:  mtime <= ctime <= atime

Trong HDH Linux/Unix không có thời gian tạo file ở thời điểm ban đầu (creation time). Nó chính là thời gian mtime (Modify time) trong trường hợp dữ liệu chưa bị thay đổi. Với Windows thì ctime mới chính là thời gian tạo file ở thời điểm ban đầu.

Kiểm tra thời gian mtime, ctime và atime của file/thư mục

Để biết thời gian mtime, ctime và atime của file thư mục. Sử dụng stat command trong Linux:

Ảnh trên các bạn có thể dễ dàng nhận ra 3 mốc thời gian Access: atime, Modify: mtime, Change: ctime

Thay đổi thuộc tính thời gian của file/thư mục

Để thay đổi mtime trong Linux sử dụng touch command sau:

touch -a -m -d '2011-11-11 11:11:11' fileName.ext

Với

-a = Thuộc tính thời gian accessed
-m = Thuộc tính thời gian modified
-d = Datetime – sử dụng định dạng [[CC]YY]MMDDhhmm[.ss]

Chú ý: Ngày ctime không thể thay đổi

VD:

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web