mv로 덮어쓴 디렉토리를 복원하는 방법은 무엇입니까?

mv로 덮어쓴 디렉토리를 복원하는 방법은 무엇입니까?

디렉터리를 다른 디렉터리로 이동할 계획입니다. 예상되는 명령은 다음과 같습니다.

mv evaluateA2P/ action2pose_bk/evaluateA2P/

그런데 오타가 나서 실행을 했네요.

mv evaluateA2P/ action2pose_bk/ evaluateA2P/

이제 경고나 프롬프트 없이 의 내용이 action2pose_bk/의 내용으로 덮어쓰여집니다 evaluateA2P/. 어떻게든 콘텐츠를 복구할 수 있나요? 아니면 변호사를 고용하는 것이 더 나을까요?

시스템 메시지

Linux XXXXXXX-workstation3 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

방금 일어난 일에 대한 데모는 다음과 같습니다.

/tmp$ mkdir test1 test2
/tmp$ touch test2/important_file
/tmp$ mv test1 test2 test1
mv: cannot move 'test1' to a subdirectory of itself, 'test1/test1'
/tmp$ ls test2
ls: cannot access 'test2': No such file or directory

답변1

mv evaluateA2P/ action2pose_bk/ evaluateA2P/

이 명령의 결과는 action2pose_bk디렉터리를 evaluateA2P디렉터리로 이동하는 것입니다. 작업을 실행 취소하려면 다음 명령을 실행하여 다시 이동하세요.

mv action2pose_bk/evaluateA2P .

답변2

이 시도,

mv test1/test2 . && mv test1 test2

답변3

데모와 마찬가지로 실제 시나리오를 시도했을 때 얻은 결과는 다음과 같습니다.

mv evaluateA2P/ action2pose_bk/ evaluateA2P/
mv: cannot move 'evaluateA2P/' to a subdirectory of itself, 'evaluateA2P/evaluateA2P'

명령이 성공적으로 완료되지 않았습니다. 하는 일은 그것을 안으로 옮기는 것뿐 action2pose_bk이므로 evaluateA2P다시 뒤로 옮기면 됩니다.

mv evaluateA2P/action2pose_bk .

아니면 프레젠테이션을 통해

mv test1/test2 .

이 시점에서 원하는 명령을 다시 시도할 수 있습니다. 그러나 대상 action2post_bk/evaluateA2P디렉터리가 비어 있거나 아직 존재하지 않는 경우에만 성공합니다 .

mv evaluateA2P/ action2pose_bk/evaluateA2P/

관련 정보