如何在同一分区内物理移动文件

如何在同一分区内物理移动文件

如果我只在一个分区内工作,我可以移动文件吗?这个想法是刷新 SD 卡以防止位损坏,但无需再次将文件移出和移入。

答案1

mv只会改变文件的元数据。如果您希望将文件的全新副本写入磁盘,mv请将文件复制到临时的新位置,然后cp将其放回原位。一旦您验证了成功的副本,您就可以获取rm原件。

答案2

如果有空间,请使用递归cprsync在分区中创建第二个副本,然后删除第一个副本。

如果没有,您可以将每个文件复制到自身上。系统和SSD不应该注意到数据是相同的,因此应该为其分配一个新的块。您可以用于dd conv=notrunc此目的。它的优点是保留硬链接,即使中断,数据也不会损坏。例如

dd if=myfile of=myfile conv=notrunc

您可能希望保留文件属性。对于修改的时间,先用 保存touch -r myfile tmp,然后用相反的操作恢复touch -r tmp myfile。仍然存在不会刷新的目录和符号链接。

相关内容