linux - Linux的mv内部是如何工作的?

标签 linux command-line filesystems

我知道在 Linux 中,如果我们想将文件夹从 f_old 重命名为 f_new,我们可以运行:

mv f_old f_new

但是这个命令实际上让我感到困惑。系统会复制f_old里面的所有东西,粘贴到新文件夹f_new,最后删除f_old吗?还是只是将 f_old 重命名为 f_new

最佳答案

如果源和目标位于同一分区上,则不会复制或移动任何内容。各种 inode 组件被操纵,仅此而已。如果源和目标不同,那么您将看到一个物理副本并删除。

编辑-

请注意,操作的是目录条目。这与 inode 不同。

关于linux - Linux的mv内部是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998036/

相关文章:

c - Dameon 进程是否正在占用 RAM 中的内存,如果那里有 Daemons 进程的数量,那么 INIT 如何成为所有守护进程的父进程

php - Windows 上的 PHP CLI 选项

file - 将图像保存在 Azure 存储中

objective-c - 当我有目录路径、文件名和扩展名时,如何构建完整且安全的文件路径?

java - 在 Linux 上运行 Java 调用 native .so 时持续存在 UnsatisfiedLinkError

linux - 在目录中查找文件,使用 execdir 执行命令并重定向

通过 fifo 队列 linux 进行通信

Bash 和带空格的文件名

batch-file - 如何用空格设置环境变量?

concurrency - Google 文件系统一致性模型