Stephen Kitt의 답변을 얻고이 솔루션을 잠재적 솔루션으로 논의한 후 :
sudo mv -i ~/my_data_on_60GB_partition/* /media/admin/my_data/
나는 무슨 일이 일어나고 있는지에 대한 나의 머리를 얻을 때까지 그것을 실행하기로 결정했습니다.이 대답은 내가 발견하고 끝내는 것을 설명합니다.
Gnu mv
를 사용하여 파일을 대상에 복사 한 다음 복사 작업이 성공한 경우에만 원본을 삭제합니다.
그러나이 mv
시퀀스를 한 번에 한 파일 씩 수행 하는지 여부를 확인하고 싶었 습니다. 그렇다면 원래 폴더 내용이 두 부분으로 깨끗하게 슬라이스되고 한 부분은 대상으로 이동하고 다른 부분은 여전히 소스에서 남았습니다. 그리고 아마도 복사하는 동안 두 디렉토리 사이에 공통되는 파일 하나가있을 수 있습니다. 파일이 잘못되었을 수 있습니다.
두 디렉토리 사이에 공통된 파일을 발견하기 위해 다음을 실행했습니다.
~% sudo diff -r --report-identical-files my_data_on_60GB_partition/. /media/admin/mydata/. | grep identical | wc -l
14237
이 결과는 소스 및 대상 디렉토리 모두에 동일한 파일의 14,237 개의 인스턴스가 있음을 시사했으며 파일을 수동으로 확인하여 확인했습니다. 예, 두 디렉토리에 동일한 파일이 많이 있습니다. 이것은 mv
파일 을 복사 한 후에 만 소스 파일 삭제를 수행 한다는 것을 나타 냅니다. 명령 info
에 대한 빠른 조회에서mv
[ mv
]는 먼저 cp -a
요청 된 디렉토리와 파일을 복사하는 데 사용되는 동일한 코드 중 일부를 사용한 다음 (복사가 성공했다고 가정) 원본을 제거합니다. 복사에 실패하면 대상 파티션에 복사 된 부분이 제거됩니다.
명령을 실행하지 않았지만 실행하려고했는지 의심됩니다.
sudo mv -i ~/my_data_on_60GB_partition/* /media/admin/my_data/
-i
프롬프트 전에 덮어 쓸 가능성이 14,000 개 이상의 시간을 촉발했을 것이다.
그런 다음 새로 작성된 디렉토리에서 총 파일 수를 확인하십시오.
~% sudo find my_data_on_60GB_partition/ -type f -a -print | wc -l
14238
따라서 새 디렉토리에 총 14238 개의 일반 파일이 있고 소스에 14237 개의 원본이 있으면 원본 디렉토리에 동일한 파일이없는 새 파일이 하나만 있다는 것을 의미합니다. 해당 파일이 무엇인지 확인하기 위해 소스 방향으로 rsync를 다시 실행했습니다.
~% sudo rsync -av --dry-run my_data_on_60GB_partition/ /media/admin/my_data
sending incremental file list
./
Education_learning_reference/
Education_learning_reference/Business_Education/
Education_learning_reference/Business_Education/Business_education_media_files/
Education_learning_reference/Business_Education/Business_education_media_files/Jeff Hoffman - videos/
Education_learning_reference/Business_Education/Business_education_media_files/Jeff Hoffman - videos/Jeff and David F interview/
Education_learning_reference/Business_Education/Business_education_media_files/Jeff Hoffman - videos/Jeff and David F interview/018 business plans-identifying main KPIs.flv
sent 494,548 bytes received 1,881 bytes 330,952.67 bytes/sec
total size is 1,900,548,824 speedup is 3,828.44 (DRY RUN)
빠른 검사를 통해 파일이 원본과 대상 모두에 존재하는 형식이 잘못된 파일임을 확인했습니다 (대상 파일 = 64MB, 원본 = 100MB). 이 파일과 디렉토리 계층은 여전히 루트 소유이며 원래 권한을 아직 복원하지 않았습니다.
요약하면 다음과 같습니다.
mv
도달하지 못한 모든 파일 은 여전히 원래 위치에 있습니다 (분명히)
mv
완전히 복사 한 모든 파일 은 여전히 원본 디렉토리에 원본이 있습니다.
- 부분적으로 만 복사 된 파일은 여전히 원본 디렉토리에 원본이 있습니다.
다시 말해서 모든 원본 파일은 그대로 유지되었으며이 경우 해결책은 단순히 새 디렉토리를 삭제하는 것입니다!
Control-Z
하지 않고 타자를 치기 (일시 정지) 하는 습관을들이십시오Control-C
. 이 경우 당시에 어떤 파일이 전송되었는지 확인할 수 있으므로 부분적으로 만 복사 된 파일을 알 수 있습니다. 그런 다음 진행 방법을 침착하게 결정할 수 있습니다.kill -stop
tty에없는 프로세스에 사용하십시오 .