เมื่อฉันแก้ไขไฟล์ใน "vi" editor ค่า inode ของไฟล์จะเปลี่ยนไป แต่เมื่อแก้ไขด้วยคำสั่ง cat ค่า inode จะไม่เปลี่ยนแปลง
เมื่อฉันแก้ไขไฟล์ใน "vi" editor ค่า inode ของไฟล์จะเปลี่ยนไป แต่เมื่อแก้ไขด้วยคำสั่ง cat ค่า inode จะไม่เปลี่ยนแปลง
คำตอบ:
ส่วนใหญ่แล้วคุณได้ตั้งสำรองตัวเลือกและbackupcopyที่จะ "ไม่" หรือ "breakhardlink"
backup
ในของฉัน.vimrc
แต่ inode ยังคงเปลี่ยนแปลงเนื่องจากค่าเริ่มต้นคือการสำรองไฟล์ปัจจุบันลบออกหลังจากนั้นและ/ * เมื่อใดก็ตามที่เป็นไปได้ * / เปลี่ยนชื่อไฟล์ / * เป็น backup * / และเขียน หนึ่งใหม่ / * ภายใต้ชื่อเดียวกันได้อย่างมีประสิทธิภาพการเปลี่ยนไอโหนด * / แก้ไขโดยการเพิ่มการset backupcopy=yes
.vimrc
เมื่อคุณต้องการแก้ไขไฟล์คุณมีสองตัวเลือกแต่ละตัวมีข้อดีและข้อเสีย
เครื่องมือแก้ไขขั้นสูงเช่น Vim หรือ Emacs สามารถเลือกระหว่างสองวิธี เมื่อพวกเขาใช้วิธีแรกพวกเขามักจะทำไฟล์สำรองก่อนซึ่งสามารถกู้คืนได้หากเนื้อหาไฟล์ใหม่ไม่สามารถเขียนได้อย่างถูกต้อง
Classical vi จะเขียนทับไฟล์ที่มีอยู่ ดังนั้น inode จึงไม่เปลี่ยนแปลง
ในเป็นกลุ่มเป็น CJM ได้ระบุไว้แล้วทางเลือกที่ถูกควบคุมโดยbackup
, backupcopy
และwritebackup
ตัวเลือก โดยค่าเริ่มต้น Vim จะเปลี่ยนชื่อไฟล์เก่าจากนั้นเขียนไฟล์ใหม่ด้วยชื่อเดิมหากคิดว่าสามารถสร้างแอททริบิวของไฟล์เดิมได้อีกครั้ง หากคุณต้องการที่จะนำมาใช้ไอโหนดที่มีอยู่ (และเพื่อให้ข้อมูลความสูญเสียหรือเสียเวลามากขึ้นในการทำสำเนาสำรอง), เพิ่มที่คุณset backupcopy yes
.vimrc
writebackup
เพราะฉันปิดไปbackup
แล้วbackupcopy
แต่ไอโหนดยังคงเปลี่ยนไป