![Почему перемещение файла не влияет на его номер inode?](https://rvso.com/image/1157140/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%20%D0%BD%D0%B5%20%D0%B2%D0%BB%D0%B8%D1%8F%D0%B5%D1%82%20%D0%BD%D0%B0%20%D0%B5%D0%B3%D0%BE%20%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%20inode%3F.png)
Перемещение на самом деле представляет собой создание копии файла в новом месте, а затем удаление файла из предыдущего места. Поскольку невозможно иметь два одинаковых номера инода одновременно, номер инода должен измениться после копирования и перед удалением старого файла (короткое время). Однако я обнаружил, что номер инода не меняется после mv
команды. Так что, номер инода удаленного файла переназначается скопированному файлу?
решение1
Перемещение фактически представляет собой создание копии файла в новом месте, а затем удаление файла из предыдущего места.
Это не обязательно так.
Если пункт назначенияв той же файловой системе, файл не копируется. Изменяется только его путь, который является частью каталога, а не хранится в inode.
Если пункт назначенияв другой файловой системе, затем файл копируется.
Об этом также говорится на Stack Overflow:Как работает mv в Linux изнутри?