리눅스에서는 파일에서 폴더를 어떻게 만들 수 있습니까?

리눅스에서는 파일에서 폴더를 어떻게 만들 수 있습니까?

다음 명령을 실행하여 모든 epub을 찾아 디렉터리로 이동했습니다.

find . -iname "*.epub" -exec mv {} /data/EPUB \;

그러면 모든 epub이 함께 연결된 슈퍼 파일이 생성되었습니다. 다시 분해할 수 있는 방법이 있나요? 슈퍼파일을 폴더로 바꾸는 명령어가 있나요?

답변1

먼저 디렉터리를 만들지 않은 경우 /data/EPUB실제로 한 일은 각 파일의 이름을 한 번에 하나씩 이름이 지정된 파일로 바꾸는 것입니다 /data/EPUB. 매번 이전 파일을 덮어쓰는 것입니다.

지금 가지고 있는 파일은 "슈퍼파일"이 아니라 /data/EPUB이동된 최종 .epub 파일이며, 다른 모든 .epub 파일은 손실되었습니다(이후 이동으로 덮어쓰여짐).

이를 검색하는 간단한 방법은 없습니다.

가능하다면 즉시 장치를 마운트 해제하고 더 이상 쓰기 작업을 수행하지 않은 후 다음과 같은 프로그램을 사용하는 것이 좋습니다.테스트디스크덮어쓴 파일을 복구하려고 시도합니다(자세한 지침도여기).

앞으로는 mv -i덮어쓰기를 요청하는 기능을 사용하여 이와 같은 실수를 잡아내는 것이 좋습니다.

또한 디렉터리 이름 뒤에 뒤에 오는 습관을 들이는 것이 좋습니다 /. 이렇게 하면 디렉터리가 존재하지 않는 경우(파일이라고 가정하는 대신) 실패하여 이러한 오류를 잡을 수도 있습니다. 예:

find . -iname "*.epub" -exec mv -i {} /data/EPUB/ \;

관련 정보