전자책을 정리하는 동안 특정 작업에 편리해 보이는 솔루션을 찾았습니다. 즉, 다른 하위 폴더에 있는 모든 mobi 파일을 폴더에 있는 "mobi"라는 중앙 폴더로 이동하고 싶었습니다.
$ find -name '*.mobi' -exec mv {} /mobi \;
그리고 그렇습니다. 위의 디렉토리 중 정확히 하나를 백업했습니다. 나는 그 이후까지 내가 무슨 짓을 했는지 깨닫지 못했습니다. (원래의그리고백업이 이동/사라졌습니다. )
몇 번 검색한 끝에 폴더인 것처럼 보이지만 루트 디렉터리에 .mobi 파일처럼 보이는 것을 발견했습니다. 약 1.5mb(30권), Atom에서 열면 잘못된 문자(코드 아님)가 나타납니다.
제 생각에는 이전 파일을 비열하게 합쳐놓은 것 같아요. 마치 The Thing에 나오는 것처럼 서로 이상하게 섞인 것 같아요.
나의 무지를 만회할 수 있는 방법이 있나요?
답변1
mv <file> /mobi
실행하는 명령은
<file>
찾은 모든 명령에 대해 실행됩니다. 여러 가지 가능한 결과가 있습니다.
/mobi
이전에는 사용자가 쓸 수 있는 디렉토리로 존재했습니다. 이제 각 mobi 파일은 디렉토리 내부에 있습니다/mobi
(두 파일의 이름이 같으면 하나가 다른 파일을 덮어씁니다).이전에는 사용자가 덮어쓸 수 있는 파일로 존재
/mobi
했거나 존재하지 않았지만 사용자가 다음 위치에 파일을 만들 수 있었습니다/
. 그러면 각 mobi 파일이 차례로 해당 파일을 덮어쓰게 되며/mobi
이제 이 파일은 내용 마지막 파일find
;그렇지 않으면 모든
mv
명령이 실패하고 아무것도 이동되지 않습니다.
시나리오 (2)는 $
루트로 명령을 실행하는 경우에만 가능하다고 들립니다. 이 경우 mv
마지막으로 작업한 파일을 제외한 모든 파일이 손실됩니다. mv
파일을 연결하는 합리적인 방법 이 생각나지 않습니다 .