[FAQ] Linux: Thời gian tập tin được tạo ra ?

Một lập trình viên PHP hỏi: làm thế nào để lấy thông tin về thời điểm một tập tin được tạo ra trên hệ thống Linux? Bởi vì các thông tin do hàm fstat cung cấp là chưa đủ…

Á… một câu hỏi rất đơn giản nhưng mình không thể giải đáp ngay tức khắc. Nếu sử dụng lệnh ls để liệt kê đầy đủ các thông tin của tập tin, thì vẫn không tìm ra cái gọi là thời điểm tạo ra tập tin. (Mình nghi ngờ rằng, lệnh ls với tham số -l chỉ cho thông tin về thời điểm tập tin thay đổi lần cuối cùng.)

Cuối cùng, sử dụng đến lệnh stat để xem đầy đủ hơn. Quái lạ, cũng chỉ thấy Access time, Modify timeChange time. Có gì sai ở hệ thống tập tin?

Sau một hồi đọc man ls, mới phát hiện ra: khác hẳn với hệ thống NTFS của ngài Bill, trên Linux (và Unix) không có khái niệm thời điểm tập tin được tạo ra. Mà chỉ có ba loại thời điểm như vừa kể ở trên. Trong đó, modify liên quan tới nội dung, còn change liên quan tới sự thay đổi về inode trên hệ thống đĩa (điều này xảy ra, khi chẳng hạn có sự thay đổi về quyền, thuộc tính thi hành… của tập tin).

Như vậy, trên hệ thống file ExtX của Linux, câu hỏi thời điểm một tập tin được tạo ra là một câu hỏi… ngốc nghếch 🙂

Dragula.org

3 thoughts on “[FAQ] Linux: Thời gian tập tin được tạo ra ?

  1. Chào bạn, bạn có thể giải thích lý do không có “thời gian tập tin được tạo ra” rõ hơn một chút không, phải có lý do gì chứ?

    Reply
  2. Đơn giản thôi bạn, vì hệ thống Ext của Linux không lưu trữ thông tin về “thời gian tạo tập tin” (creation time).

    Vậy thì phải coi về Inode mô tả gồm những thông tin như:
    – File type (executable, block special etc)
    – Permissions (read, write etc)
    – Owner
    – Group
    – File Size
    – File access, change and modification time
    – File deletion time
    – Number of links (soft/hard)
    – Access Control List (ACLs)

    Còn vì sao bác Linus không đưa creation time vào thì ko biết :).

    Reply
  3. Mình vừa đọc “[FAQ] Tại sao Linux không lưu trữ thời gian tạo tập tin?” của bạn, giờ thì cũng đã hiểu được chút chút rồi, trước giờ chưa nghe vụ này bao giờ cả. 😀

    Reply

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s