Ketika saya mengedit file di editor "vi" nilai inode file berubah. Tetapi ketika diedit dengan perintah cat nilai inode tidak berubah.
22
Kemungkinan besar, Anda telah mengatur cadangan pilihan pada, dan backupcopy untuk "tidak" atau "breakhardlink".
~/.vimrc
. Itu bukan pengaturan default.backup
di saya.vimrc
, tetapi inode masih berubah, karena defaultnya adalah untuk mencadangkan file saat ini, dihapus setelahnya dan ke / * bila memungkinkan * / ganti nama file / * ke cadangan * / dan tulis yang baru / * dengan nama yang sama, secara efektif mengubah inode * / . Dipecahkan dengan menambahkanset backupcopy=yes
ke.vimrc
.Saat Anda ingin memodifikasi file, Anda memiliki dua opsi, masing-masing dengan kelebihan dan kekurangannya.
Editor tingkat lanjut seperti Vim atau Emacs dapat memilih di antara kedua metode ini. Ketika mereka menggunakan metode pertama, mereka biasanya membuat file cadangan terlebih dahulu, yang dapat dipulihkan jika konten file baru tidak dapat ditulis dengan benar.
Klasik vi menimpa file pada tempatnya. Jadi inode tidak berubah.
Di Vim, seperti yang disebutkan cjm , pilihan dikendalikan oleh opsi
backup
,backupcopy
danwritebackup
. Secara default, Vim mengubah nama file lama, lalu menulis file baru dengan nama asli, jika dianggap dapat membuat ulang atribut file asli. Jika Anda ingin menggunakan kembali inode yang ada (dan karenanya berisiko kehilangan data, atau buang waktu membuat salinan cadangan), tambahkanset backupcopy yes
ke.vimrc
.sumber
writebackup
karena saya sudah mematikanbackup
danbackupcopy
tetapi inode masih berubah.