내 루트 디렉터리의 하위 폴더에 다소 큰 파일 구조(>100GB)를 다운로드했습니다 /folder
. 문제는 실수로 해당 폴더에 직접 복사한 것이 아니라 해당 폴더의 하위 폴더에 복사했기 때문에 이제 원하는 폴더를 /folder/folder/*
대신 복사했다는 것입니다. /folder/*
다음보다 추가 레벨을 제거하는 더 좋은 방법이 있습니까?
# mv /folder/folder/* /folder
# rmdir /folder/folder
답변1
소스와 대상이 동일한 파일 시스템에 있는 경우 mv는 다른 디렉토리 항목만 생성하고 100GB의 데이터를 복사하지 않습니다. 따라서 이것이 가장 좋은 방법이므로 다른 방법을 찾을 필요가 없습니다. 그러나 서로 다른 파일 시스템에 있으면 데이터가 복사됩니다. 또한 rmdir이 필요하지 않습니다. mv가 자동으로 이를 수행합니다.
답변2
이 mv
명령은 파일의 데이터를 이동하지 않고 파일 이름만 이동합니다. 모든 파일의 모든 데이터가 이동되는 것이 걱정된다면 이 방법으로는 충분하지 않습니다.
답변3
당신이 사용할 수있는:
# cd /folder/folder
# mv * ../
# rmdir /folder/folder
그런데 당신이 가지고 있던 것의 문제는 무엇입니까? 더 나은 방법으로 무엇을 의미하는지 명확히 할 수 있습니까?
답변4
약간 더 간단한 절차(전체 mv 작업 수가 적음)
mv /folder /surplusfolder
mv /surplusfolder/folder /folder
rmdir /surplusfolder