Linux에 실행 취소 기능이 있나요?

Linux에 실행 취소 기능이 있나요?

배치 스크립트에서 여러 파일의 이름을 바꾸고 있습니다. 이름을 다시 바꾸지 않고도 변경 사항을 취소할 수 있는 방법이 있나요?

Linux는 몇 가지 기본 ing 방법을 제공합니까 undo?

답변1

Linux(다른 unices와 마찬가지로)는 기본적으로 실행 취소 기능을 제공하지 않습니다. 우리의 철학은 사라지면 사라진다는 것입니다. 중요한 내용이라면 백업해 두시기 바랍니다.

이전 버전의 복사본을 자동으로 유지하는 회로 차단기 파일 시스템이 있습니다.파일 복사. 물론 이는 많은 리소스를 사용합니다. 아쉽게도 유지되지 않습니다.근심또 다른 옵션일 수도 있지만 시도해본 적이 없습니다.

이러한 사고를 예방하는 가장 좋은 방법은 버전 관리 시스템(cvs, bazaar, darcs, git, mercurial, subversion 등)을 사용하는 것입니다. 배우는 데 약간의 시간이 걸리지만 중장기적으로 엄청난 이점을 제공합니다.

답변2

불행하게도.

답변3

아니요, 모든 Unix에는 마법처럼 실행 취소 기능이 없습니다. 유닉스는 당신이 무엇을 하고 있는지 알고 있다고 가정합니다. 실행 취소 지원을 위해서는 VCS를 사용하십시오(텍스트 편집기에 VCS가 내장되어 있을 수도 있음).

대부분의 파일 시스템에는 이 작업을 투명하게 수행할 수 있는 기능이 없습니다.

Mac과 Windows의 Time Machine과 시스템 복구는 각각 백업/변경 제어 시스템입니다.

답변4

Linux/Unix 시스템에 삭제 취소 기능이 없는 이유는 대부분의 파일 시스템이 정보를 저장하는 방식 때문입니다. 파일 메타정보는 모두 디스크 전면에 저장되며 디스크 나머지 부분의 inode를 참조합니다. 일반적으로 대부분의 파일 시스템은 이 메타 영역의 파일에 대해 10개의 블록을 할당합니다. 처음 7개는 처음 7개의 inode를 나타냅니다. 8번째와 9번째는 inode 목록(이중 연결 블록)에 들어가고, 10번째는 목록의 목록(삼중 연결 블록)에 들어갑니다. 이는 파일 시스템(ext4, jfs, xfs 등)에 따라 다르지만 이러한 차단 목록은 일반적으로 2GB에서 수 테라바이트까지 모든 파일 크기를 처리할 수 있습니다.

하지만 이 모든 정보는 디스크 전면에 저장되기 때문에 파일이 삭제되면 디스크의 inode를 참조하여 파일이 사용한 메타데이터가 무엇인지 알 수 없습니다. 대조적으로, FAT32와 NTFS는 실제로 일부 헤더 정보를 파일 자체에 저장하므로 블록 세트가 어떤 파일에 속하는지 쉽게 식별할 수 있습니다(해당 공간이 최신 파일에 의해 회수되지 않은 경우). Linux 작업에서는 무언가를 삭제하면 효율성을 위해 거의 항상 새 데이터로 먼저 덮어쓰게 됩니다.

관련 정보