Когда я редактирую файл в редакторе "vi", значение индекса файла изменяется. Но при редактировании с помощью команды cat значение inode не меняется.
Когда я редактирую файл в редакторе "vi", значение индекса файла изменяется. Но при редактировании с помощью команды cat значение inode не меняется.
Ответы:
Скорее всего, вы установили опцию резервного копирования , а для backupcopy установлено значение «no» или «breakhardlink».
backup
в моем .vimrc
, но inode все еще менялся, потому что по умолчанию используется резервное копирование текущего файла, удаление впоследствии и / *, когда это возможно * / переименование файла / * в резервную копию * / и запись новый / * под тем же именем, эффективно изменяющий индекс * / . Решено путем добавления set backupcopy=yes
в .vimrc
.
Если вы хотите изменить файл, у вас есть два варианта, каждый со своими преимуществами и недостатками.
Продвинутые редакторы, такие как Vim или Emacs, могут выбирать между двумя методами. Когда они используют первый метод, они обычно сначала создают файл резервной копии, который можно восстановить, если новое содержимое файла не может быть записано правильно.
Классический vi перезаписывает файл на месте. Таким образом, индекс не изменился.
В Vim , как CJM уже заявил , что выбор управляется backup
, backupcopy
и writebackup
опций. По умолчанию Vim переименовывает старый файл, а затем записывает новый файл с исходным именем, если считает, что может заново создать атрибуты исходного файла. Если вы хотите повторно использовать существующий индекс (и, следовательно, рискуете потерять данные или тратить больше времени на создание резервной копии), добавьте set backupcopy yes
свой .vimrc
.
writebackup
потому что я уже выключил backup
и backupcopy
но инод все еще меняется.