Почему перемещение файла не влияет на его номер inode?

Почему перемещение файла не влияет на его номер inode?

Перемещение на самом деле представляет собой создание копии файла в новом месте, а затем удаление файла из предыдущего места. Поскольку невозможно иметь два одинаковых номера инода одновременно, номер инода должен измениться после копирования и перед удалением старого файла (короткое время). Однако я обнаружил, что номер инода не меняется после mvкоманды. Так что, номер инода удаленного файла переназначается скопированному файлу?

решение1

Перемещение фактически представляет собой создание копии файла в новом месте, а затем удаление файла из предыдущего места.

Это не обязательно так.

Если пункт назначенияв той же файловой системе, файл не копируется. Изменяется только его путь, который является частью каталога, а не хранится в inode.

Если пункт назначенияв другой файловой системе, затем файл копируется.

Об этом также говорится на Stack Overflow:Как работает mv в Linux изнутри?

Связанный контент