我將一個相當大的檔案結構(>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