/myhome/sourcedir
바이너리 파일을 폴더에서 다른 폴더 로 이동하고 싶습니다 /myhome/targetdir
. 명령을 사용했습니다.find /myhome/sourcedir -type f -cmin +3 -exec mv '{}' /myhome/targetdir ';'
/myhome/sourcedir
이 명령을 실행하기 전에 폴더가 있었지만 폴더가 /myhome/targetdir
존재하지 않습니다. 방금 을(를) 만드는 것을 잊어버렸습니다 /myhome/targetdir
.
이 명령의 결과 - /myhome/targetdir
새 파일이 생성됩니다. 파일이 크고 이상한 기호가 많이 포함되어 있습니다.))
모든 파일을 어떻게 복구하나요?
답변1
find
a, b, c라는 3개의 파일이 발견되었다고 가정합니다 . 결과적으로 3개의 명령이 생성됩니다.
mv a /myhome/targetdir
mv b /myhome/targetdir
mv c /myhome/targetdir
따라서 a는 /myhome/targetdir로 이름이 바뀌고, b는 /myhome/targetdir로 이름이 바뀌고(원래 a가 깨짐), c는 /myhome/targetdir로 이름이 바뀌어 원래 b가 깨집니다. 파일 c는 괜찮습니다(이름이 변경되었을 뿐입니다). 다른 파일에 문제가 있습니다. 구경하다덮어쓴 파일을 복구할 수 있나요?. 뭔가를 복구할 수도 있습니다.
앞으로는 다음을 사용하세요:
mv -t /myhome/targetdir '{}'
더 안전할 것입니다.