我下载了一个相当大的文件结构 (>100GB) 到我的根目录的一个子文件夹中,我们称之为/folder
。问题是,我不小心将它复制到了该文件夹的子文件夹中,而不是直接复制到该文件夹中,所以现在我得到的是/folder/folder/*
而不是 ,/folder/*
这就是我想要的。有没有比以下更好的方法来删除额外的级别:
# mv /folder/folder/* /folder
# rmdir /folder/folder
答案1
如果源和目标位于同一文件系统上,mv 只会创建另一个目录条目,不会复制 100 GB 的数据。所以这是最好的方法,您无需寻找其他方法。但如果它们位于不同的文件系统上,数据将被复制。此外,您不需要 rmdir - mv 会自动执行此操作。
答案2
该mv
命令不会移动文件中的数据,只会移动文件的名称。如果您担心每个文件中的所有数据都会被移动,那么此命令不会起作用。
答案3
您可以使用:
# cd /folder/folder
# mv * ../
# rmdir /folder/folder
但你所遇到的问题是什么?你能解释一下你所说的更好的方法是什么意思吗?
答案4
稍微简单的过程(总体 mv 操作较少)
mv /folder /surplusfolder
mv /surplusfolder/folder /folder
rmdir /surplusfolder