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
- 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.
- 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.
- 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