매우 이상한 문제에 직면했습니다. A 디렉터리의 모든 내용을 동일한 드라이브의 B 디렉터리로 간단히 이동할 수 없습니다. 크기는 500GB이고 여유 공간은 24GB인데 실패합니다. 파일을 이동하려면 왜 500GB의 공간이 필요합니까?
Krusader, Dolphin, mv, mc 명령 등 다양한 파일 관리자를 시도했지만 모두 실패했습니다. 이유는 간단합니다. 파일을 이동한 후 삭제하는 대신 먼저 모든 파일을 대상 위치에 복사한 다음 원본 위치에서 삭제합니다. 500GB의 여유 공간이 더 없기 때문에 이것은 분명히 내가 원하는 것이 아닙니다.
파일을 이미 존재하는 디렉터리로 이동할 수 없기 때문에 mv 명령이 실패합니다(하위 디렉터리가 파일로 간주되고 이상한 이유로 모든 도구가 이동하거나 복사하기 전에 먼저 모든 디렉터리를 생성하기 때문에 비어 있는 경우에도 마찬가지임).
확실히 파일별로 또는 개별 디렉터리별로 수행할 수 있지만 이는 190,000개의 파일과 수천 개의 디렉터리가 있는 Dropbox 폴더이므로 불가능합니다.
제가 생각하는 가능한 해결책은 무엇입니까? 파일을 이동한 후 즉시 소스에서 삭제할 수 있는 GUI 도구(TUI 또는 GUI)가 있습니까? 이것이 단지 상식이라고 생각할 수도 있지만, 제가 시도한 모든 명령은 이동과 복사를 혼동하고 정확히 동일한 작업을 수행하는 것 같습니다.
디렉터리 이름만 바꿀 수는 없습니다. Dropbox의 특성입니다. 새 설치를 기존 Dropbox 디렉터리에 다시 연결할 수는 없지만 이전 디렉터리의 이름을 바꿔야 합니다. Dropbox에서 새 디렉터리를 만든 다음 이동하고 싶습니다. 파일과 나는 그러나 갇혀 있었다.
rsync는 소스 코드의 디렉터리를 삭제하지 않고 보기 흉하고 지저분해지기 때문에 rsync를 사용하지 않는 편이 낫습니다. 실제로 mv 명령을 작성하기 전에 GUI/TUI가 완료되었는지 확인하고 싶습니다. .
답변1
dira 및 dira/tt라는 디렉토리를 생성하고 dira/hh 및 dira/tt/anotherfiloe를 터치했습니다.
ls dir*
hh tt
ls dir*/tt
anotherfiloe
이후: 복사하지 않고 파일을 하드 링크하기만 함
cp -l -r dira dirb
확인하다:
ls dir*/tt
dira/tt:
anotherfiloe
dirb/tt:
anotherfiloe
이제 소스를 삭제할 수 있습니다.
rm -r dira
확인하다:
ls dir*/tt
anotherfiloe
ls dir*
hh tt