Wenn ich eine Datei im "vi" -Editor bearbeite, ändert sich der Inode-Wert der Datei. Bei der Bearbeitung mit dem Befehl cat ändert sich der Inode-Wert jedoch nicht.
22
Höchstwahrscheinlich haben Sie die Sicherungsoption aktiviert und backupcopy auf "no" oder "breakhardlink" gesetzt.
~/.vimrc
. Dies sind nicht die Standardeinstellungen.backup
in meinem.vimrc
, aber der Inode änderte sich immer noch, da standardmäßig die aktuelle Datei gesichert, anschließend gelöscht und nach Möglichkeit nach / * umbenannt * / die Datei / * in die Sicherung * / umbenannt und geschrieben wird das neue / * unter demselben Namen, wodurch der Inode * / geändert wird . Gelöst durch Hinzufügenset backupcopy=yes
zu.vimrc
.Wenn Sie eine Datei ändern möchten, stehen Ihnen zwei Optionen zur Verfügung, die jeweils Vor- und Nachteile haben.
Fortgeschrittene Editoren wie Vim oder Emacs können zwischen den beiden Methoden wählen. Wenn sie die erste Methode verwenden, erstellen sie normalerweise zuerst eine Sicherungsdatei, die wiederhergestellt werden kann, wenn der Inhalt der neuen Datei nicht korrekt geschrieben werden kann.
Classical vi überschreibt die Datei an Ort und Stelle. Die Inode bleibt also unverändert.
In Vim, wie cjm bereits festgestellt hat , wird die Wahl durch die kontrollierten
backup
,backupcopy
undwritebackup
Optionen. Standardmäßig benennt Vim die alte Datei um und schreibt dann eine neue Datei mit dem ursprünglichen Namen, wenn Vim glaubt, die Attribute der ursprünglichen Datei neu erstellen zu können. Wenn Sie den vorhandenen Inode wiederverwenden möchten (und damit Datenverlust oder Zeitverschwendung beim Erstellen einer Sicherungskopie riskieren), fügen Sieset backupcopy yes
Ihren hinzu.vimrc
.quelle
writebackup
weil ich bereits ausgeschaltet warbackup
und derbackupcopy
Inode sich noch änderte.