почему значение inode изменяется при редактировании в редакторе vi?

Когда я редактирую файл в редакторе vi, значение inode файла изменяется. Но при редактировании с помощью команды cat значение inode не изменяется.

2 Solutions collect form web for “почему значение inode изменяется при редактировании в редакторе vi?”

Скорее всего, вы установили опцию резервного копирования , а backupcopy – на «no» или «breakhardlink».

Если вы хотите изменить файл, у вас есть два варианта, каждый из которых имеет свои преимущества и недостатки.

  • Вы можете перезаписать файл на месте. Это не использует лишнее пространство и сохраняет жесткие ссылки, разрешения и любой другой атрибут за пределами содержимого существующего файла. Главный недостаток этого заключается в том, что если что-то происходит во время записи файла (сбой приложения или выключение питания), вы получаете частично написанный файл.
  • Вы можете записать новую версию файла в новый файл с другим именем, а затем переместить его на место. Это использует больше места и разбивает жесткие ссылки, и если у вас есть права на запись в файле, но не в каталоге, который он содержит, вы не можете сделать это вообще. С другой стороны, старая версия файла атомарно заменяется новой версией, поэтому в каждый момент времени имя файла указывает на действительную полную версию файла.

Расширенные редакторы, такие как Vim или Emacs, могут выбирать между двумя способами. Когда они используют первый метод, они обычно делают резервный файл первым, который можно восстановить, если новое содержимое файла не может быть написано правильно.

Классический vi перезаписывает файл на месте. Поэтому индекс inode не изменяется.

В Vim, как уже указывал cjm , выбор контролируется параметрами backup , backup и writebackup . По умолчанию Vim переименовывает старый файл, а затем записывает новый файл с исходным именем, если он считает, что он может воссоздать атрибуты исходного файла. Если вы хотите повторно использовать существующий inode (и, следовательно, рискуете потерять данные или потратите больше времени на создание резервной копии), добавьте set backupcopy yes в ваш .vimrc .

  • Задержка Vim при использовании Ctrl + C, но только в файлах SQL
  • запустить команду редактора при выходе из режима вставки в vim
  • Удалить пробел для набора строк в редакторе Vim
  • Кейт против VIM / Emacs относительно скорости
  • Повторное нажатие клавиш в «представлении каталога» vim
  • vim: скрыть строку состояния внизу
  • Сделать vim прекратить разделение моих сообщений Git commit
  • Как я могу перейти к файлам из vim, открывая их на отдельной вкладке?
  • Vim colorscheme background, не заполняющий терминал
  • Не удалось установить vim-плагины
  • Нежелательное выделение текста в Vim latex-suite
  • Linux и Unix - лучшая ОС в мире.