내 $ mv '*.mobi' 명령이 내 파일을 연결합니까?

내 $ mv '*.mobi' 명령이 내 파일을 연결합니까?

전자책을 정리하는 동안 특정 작업에 편리해 보이는 솔루션을 찾았습니다. 즉, 다른 하위 폴더에 있는 모든 mobi 파일을 폴더에 있는 "mobi"라는 중앙 폴더로 이동하고 싶었습니다.

   $ find -name '*.mobi' -exec mv {} /mobi \;

그리고 그렇습니다. 위의 디렉토리 중 정확히 하나를 백업했습니다. 나는 그 이후까지 내가 무슨 짓을 했는지 깨닫지 못했습니다. (원래의그리고백업이 이동/사라졌습니다. )

몇 번 검색한 끝에 폴더인 것처럼 보이지만 루트 디렉터리에 .mobi 파일처럼 보이는 것을 발견했습니다. 약 1.5mb(30권), Atom에서 열면 잘못된 문자(코드 아님)가 나타납니다.

제 생각에는 이전 파일을 비열하게 합쳐놓은 것 같아요. 마치 The Thing에 나오는 것처럼 서로 이상하게 섞인 것 같아요.

나의 무지를 만회할 수 있는 방법이 있나요?

답변1

mv <file> /mobi실행하는 명령은 <file>찾은 모든 명령에 대해 실행됩니다. 여러 가지 가능한 결과가 있습니다.

  1. /mobi이전에는 사용자가 쓸 수 있는 디렉토리로 존재했습니다. 이제 각 mobi 파일은 디렉토리 내부에 있습니다 /mobi(두 파일의 이름이 같으면 하나가 다른 파일을 덮어씁니다).

  2. 이전에는 사용자가 덮어쓸 수 있는 파일로 존재 /mobi했거나 존재하지 않았지만 사용자가 다음 위치에 파일을 만들 수 있었습니다 /. 그러면 각 mobi 파일이 차례로 해당 파일을 덮어쓰게 되며 /mobi이제 이 파일은 내용 마지막 파일 find;

  3. 그렇지 않으면 모든 mv명령이 실패하고 아무것도 이동되지 않습니다.

시나리오 (2)는 $루트로 명령을 실행하는 경우에만 가능하다고 들립니다. 이 경우 mv마지막으로 작업한 파일을 제외한 모든 파일이 손실됩니다. mv파일을 연결하는 합리적인 방법 이 생각나지 않습니다 .

관련 정보