如果我将文件从一个目录移动到另一个目录,OneFS (FreeBSD) 文件系统中到底会发生什么?

如果我将文件从一个目录移动到另一个目录,OneFS (FreeBSD) 文件系统中到底会发生什么?

如果我mv在 OneFS(基于 Isilon、FreeBSD)中从命令行执行命令,后台和磁盘上究竟会发生什么?

数据是否会从磁盘上的扇区物理移动到其他扇区,或者只是更改文件系统中这些文件的链接?物理磁盘上的数据是否保留在原来的位置?这里的 inode 是如何参与的?

我这么问是因为我有一个巨大的目录,其中包含超过 50 TB 的数据,并且它在网络上共享。我需要mv将此目录放在同一文件系统中的另一个目录下。我想停止分享mv然后再次分享。我不确定这是否像我想象的那么简单。

有任何输入吗?

答案1

不,没有整个文件的副本。每个文件都由一个结构来描述(在大多数 UNIX 文件系统上,它称为索引节点)。该结构包含有关文件的信息(长度、日期、在哪里可以找到其块、权限......),名称除外。

文件名位于目录中,该目录在文件名和索引节点之间进行映射。如果移动文件,您只是抑制目录上的映射并在不同目录上创建其他文件。

某些文件系统可能存在一些差异(在 FAT 文件系统上,文件信息位于目录中,但系统会将所有信息(几个字节)从一个目录传输到另一个目录)。但你有整个计划。

在典型的 UNIX 文件系统上,文件结构与目录分离,这允许您对单个文件使用多个名称(最终来自不同的目录)(使用命令ln)。

相关内容