데이터를 복사하거나 이동하지 않고 조각에서 파일 복원

데이터를 복사하거나 이동하지 않고 조각에서 파일 복원

Unix 시스템에서는 유틸리티를 사용하여 파일을 함께 결합할 수 있습니다 cat(Windows 시스템에서는type또는copy /B).

cat file1 file2 file3 > joined-file

이렇게 하면 이전 파일의 내용을 가져와 하나의 새 파일에 복사합니다. 이 프로세스는 이전 파일을 읽고 새 파일을 쓰는 데 필요한 시간이 걸립니다. 새 파일은 이전 파일과 별도로 저장되므로 새 파일을 쓸 수 있는 여유 디스크 공간이 충분하지 않으면 명령이 실패합니다.

파일을 결합하는 더 빠른 방법이 있습니까? 아니면 최소한 프로그램이 파일이 결합된 것처럼 생각하도록 "속이는" 방법이 있습니까? 디스크의 데이터를 이동하거나 복사하는 작업은 포함되지 않습니다.

이를 수행하는 한 가지 방법은 파일이 다음과 같이 처리되도록 파일 시스템 TOC를 수정하는 것입니다.파편더 큰 파일의. 이를 수행하는 "안전한" 방법이 있습니까(즉, ddTOC를 수동으로 수정하는 데 사용하는 것보다 더 안전함)?

나는 어떤 플랫폼에서든 파일을 물리적으로 연결하는 것보다 더 빠르고 더 적은 디스크 공간을 필요로 하는 파일 결합 방법에 관심이 있습니다.

답변1

나는 이것이 기존 파일 시스템 위에 일종의 오버레이 파일 시스템을 사용하여 가능할 수 있다고 가정한 다음(기존 파일 시스템을 수정하는 것은 재앙의 비법) FUSE(사용자 공간의 파일 시스템)를 사용하여 Linux용으로 무언가를 작성할 수 있다는 것을 알아냈습니다.

우연히 구글링을 해보니 누군가 이미 이것을 구현했다는 것을 알게 되었습니다. concat-fuse라는 GIT 프로젝트가 있습니다.https://github.com/concat-fuse/concat-fuse/blob/master/README.md- 당신이 설명하는 것을 수행하는 것 같습니다.

관련 정보