почему значение 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 переходит от одного тега xml к закрытию
  • Как выделить запятые, а не пробел в vim?
  • привязка ключа режима vi только в обычном режиме
  • Измените .inputrc, чтобы исправить ошибку терминала Mac с режимом vi
  • Как остановить Vim от изменения моего каталога при выполнении make-файла?
  • Невозможно отредактировать файл .vimrc
  • Карта охватывает esc для RHEL 5?
  • Код выхода Ansi в VIM
  • Заменить все вхождения шаблона с помощью первой согласованной группы
  • Vim auto line-break работает не так, как ожидалось (обновление: проблема с неокомплектом)
  • Проверка орфографии в vim
  • Interesting Posts

    Операторы печати в реальном времени с тройником в интерактивном скрипте

    SELinux не регистрируется нигде

    Запуск сценария Python при запуске

    Подключение локальной сети lxc к локальной сети

    Eclipse делает ноутбук непригодным для использования

    Где поставить политику SElinux, чтобы обеспечить прекрасное завершение работы системы?

    Какие дистрибутивы работают из коробки с планшетными компьютерами?

    Как добавить текущую дату перед расширением файла для нескольких файлов в каталоге?

    Встроенный Debian-Linux, без часовой пояс

    Изменение размера облачного жесткого диска

    ввод входных значений в dpkg-reconfigure в неинтерактивном режиме

    Копирование файлов в ядро ​​Fuchsia / Magenta

    Невозможно получить графику Intel HD 5500 для работы с Debian

    печатать только строки, у которых есть последняя непустая ячейка, которая начинается со слова «Failed» в CSV-файле в Linux

    Как предотвратить команду HP-UX «меньше» от испортить мое приглашение?

    Linux и Unix - лучшая ОС в мире.