ความแตกต่างระหว่างการแก้ไขและการเปลี่ยนแปลงในบริบทคำสั่ง stat คืออะไร?


132

statหน้าคู่มือของคำสั่งพูดว่า:

   %x     Time of last access
   %y     Time of last modification
   %z     Time of last change

ฉันไม่สามารถเข้าใจความแตกต่างระหว่างการปรับเปลี่ยนและการเปลี่ยนแปลง ฉันเข้าใจว่าคำเหล่านี้มีความหมายเหมือนกัน (ภาษาอังกฤษไม่ใช่ภาษาของฉัน) แต่ผลลัพธ์ของพวกเขานั้นแตกต่างกัน

ฉันลองคำสั่งต่อไปนี้

stat --printf="Change %z\nAccess %x\nModify %y\n" p.txt

ตอนนี้เมื่อฉันเปิด p.txt เวลาในการเข้าถึงก็เปลี่ยนไปฉันเข้าสู่โหมดแทรกแก้ไขไฟล์แก้ไขและเปลี่ยนแปลงเวลายังคงเหมือนเดิม

เปลี่ยน 2010-10-06 12: 48: 39.286252389 +0500
การเข้าถึง 2010-10-06 12:49:14 962243456 +0500
แก้ไข 2010-10-06 12: 48: 39.234498878 +0500

เมื่อฉันเขียนการเปลี่ยนแปลงไปยังไฟล์:wแก้ไขและเปลี่ยนแปลงทั้งเปลี่ยน แต่ให้ค่าที่แตกต่าง

เปลี่ยน 2010-10-06 12:51:21 949082169 +0500
เข้าถึง 2010-10-06 12: 51: 21.908246082 +0500
แก้ไข 2010-10-06 12:51:21 908246082 +0500

ดังนั้นความหมายของ "แก้ไข" และ "เปลี่ยน" ในบริบทนี้คืออะไร? นั่นคือเวลาของการแก้ไขและเปลี่ยนแปลงให้เวลาของเหตุการณ์ใด

ขอบคุณ


8
เพื่อให้สนุกยิ่งขึ้นในภาษาท้องถิ่นของฉัน--helpมันจะอ่านบางอย่างเช่น "แก้ไขครั้งล่าสุด" และ "แก้ไขล่าสุด" เนื่องจากเราไม่มีคำสองคำสำหรับแก้ไข / เปลี่ยนแปลง
Camilo Martin

1
@CamiloMartin ที่ก่อความเสียหายอันยิ่งใหญ่โดยนักแปล ถ้าคุณรู้ภาษาอังกฤษฉันขอแนะนำให้ใช้เฉพาะสภาพแวดล้อมภาษาอังกฤษ - ง่ายกว่าที่จะเข้าใจความตั้งใจของนักเขียนเอกสารต้นฉบับและง่ายต่อการค้นหาความช่วยเหลือออนไลน์
Jan Lalinský

คำตอบ:


145

มีการตอบคำถามนี้แล้วซึ่งฉันเสนอราคา (ข้อความต้นฉบับโดยechox ):

มี "timestamps" 3 ประเภท:

  • การเข้าถึง - ครั้งสุดท้ายที่อ่านไฟล์
  • แก้ไข - ครั้งล่าสุดที่ไฟล์ถูกแก้ไข (เนื้อหาได้รับการแก้ไข)
  • เปลี่ยน - ข้อมูลเมตาครั้งล่าสุดของไฟล์มีการเปลี่ยนแปลง (เช่นการอนุญาต)

โพสต์บน StackOverflow นี้อธิบายความแตกต่างระหว่างสามช่วงเวลาที่แตกต่างกันจากมุมมองอินเตอร์เฟสโปรแกรมมิง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.