
백만 번 이상 요청을 받았음을 알고 있지만 구체적으로 무엇을 하려는지에 대한 답을 찾을 수 없습니다.
디렉토리 구조는 다음과 같습니다.
Main Folder1
|
|-Subfolder 1
|-Subfolder 2 HasAReallyLongName
|---files
|-Subfolder 3-1000
Main Folder2
|
|-Subfolder 2 HasAReallyLongName
|---files
- 파일이 포함된 Subfolder2를 다른 디렉터리로 이동하려고 합니다.
- 공간이 부족해서 아무것도 복사하고 제거하고 싶지 않습니다.
- 나는 하위 디렉토리가 아닌 폴더
mv /Main/Sub2/* /Main2/
에 모든 것을 넣기 때문에 원하지 않습니다 ./Main2
mkdir /Main2/...
이름이 매우 길고(주로 타임스탬프가 있음) 수동으로 입력하고 싶지 않기 때문에(아마 엉망으로 만들 수도 있음) 그렇게 하고 싶지 않습니다.- 내가 아는 한
rsync
파일도 복사하므로 제대로 작동할지는 잘 모르겠습니다.
어떤 제안이나 다른 도구라도 주시면 감사하겠습니다!
답변1
이것은 완전히 간단합니다.
mv /Main1/Sub2 /Main2
/Main2/Sub2
이렇게 하면 원본의 모든 내용이 포함된 디렉터리가 생성되고 디렉터리가 삭제됩니다 /Main1/Sub2
. 전체 이름을 입력하고 싶지 않으면 glob을 사용할 수 있습니다. 이름 입력을 중단하고 *
디렉터리 이름을 디렉터리의 다른 모든 이름과 구별할 수 있을 만큼 충분한 문자를 입력한 후 다음으로 끝냅니다(조심하세요!).
mv /Main/Sub* /Main2
예상대로 작동하지 않는 원인이 될 수 있는 문제는 다음과 같습니다.
/Main2
내부에 과(와) 같은 이름의 디렉터리가 이미 있습니다/Main1/Sub2
. 이로 인해 기존 디렉터리 덮어쓰기를 거부하므로directory not empty
오류 가 발생합니다 .mv
이 경우/Main2
먼저 기존 디렉터리의 이름을 바꾸거나 제거하십시오.mv /Main2/Sub2 /Main2/SomethingElse
잘못된 경로를 사용하고 있습니다. 모든 항목은 대소문자를 구분하며 상대 경로와 확장에 유의하세요
~
. 현재 작업 디렉토리에 따라 모두 다릅니다./Main1/Sub2 Main1/Sub2 ~/Main1/Sub2
원본 및/또는 대상 디렉터리에 쓸 수 있는 권한이 없습니다. 이는 오류 메시지에서 매우 분명하게 드러납니다:
mv: cannot move 'thing' to '/place': Permission denied
. 어떤 경우에는 내가 가장 좋아하는 명령을 실행하여 문제를 극복할 수 있습니다.sudo !!
답변2
이해함: sudo mv /Main1/Sub2 /Main2
나를 위해 그것을 사용했습니다. 가장 큰 차이점은 내가 생각하기에 루트라는 것입니다.