Linux 시스템에서 실수로 삭제된 파일을 소프트웨어를 통해 복구하는 것이 정말 불가능합니까?
“
이 상황은 일반적으로 활성 프로세스가 표준 입력 또는 출력을 계속 수행하여 파일이 삭제된 후에도 프로세스 PID가 계속 존재할 때 발생합니다. 이는 일부 서버에서 특정 파일을 삭제했지만 디스크 공간이 해제되지 않는 이유이기도 합니다.
”
메시지가 수신되었습니다. 소프트웨어를 통해 Linux 시스템에서 실수로 삭제된 파일을 복구하는 것이 정말 불가능합니까? ### 파일 복구는 두 가지 상황으로 나눌 수 있습니다. 하나는 삭제 후 프로세스에 삭제 정보가 여전히 존재하는 경우이고, 다른 하나는 삭제 후 프로세스를 찾을 수 없고 도구를 통해서만 복원할 수 있는 경우입니다. ### 오늘은 파일이 삭제된 후에도 관련 프로세스가 여전히 존재하는 상황에 대해서만 다루겠습니다. > 이러한 상황은 일반적으로 활성 프로세스가 표준 입력 또는 출력을 계속 수행하여 파일이 삭제된 후에도 프로세스 PID가 여전히 존재하는 경우에 발생합니다. . 이는 일부 서버가 특정 파일을 삭제했지만 디스크 공간이 해제되지 않는 이유이기도 합니다.
tail -f
打开rumenz.txt
파일으아악“
목적은
rumenz.txt
가 삭제된 후에도 프로세스가 계속 존재하도록 하는 것입니다”
rumenz.txt
rumenz.txt
“
进程ID是10222,从上面可以看出,当前文件状态为已删除(deleted)
”
> cd /proc/10222/fd > ls -al dr-x------ 2 root root 0 May 11 21:41 . dr-xr-xr-x 9 root root 0 May 11 21:41 .. lrwx------ 1 root root 64 May 11 21:41 0 -> /dev/pts/1 lrwx------ 1 root root 64 May 11 21:41 1 -> /dev/pts/1 lrwx------ 1 root root 64 May 11 21:41 2 -> /dev/pts/1 lr-x------ 1 root root 64 May 11 21:41 3 -> /root/test/rumenz.txt (deleted) lr-x------ 1 root root 64 May 11 21:41 4 -> anon_inode:inotify
“
开始恢复文件
”
> cp 3 /root/test/rumenz.txt > cat /root/test/rumenz.txt 123
“
当程序运行时,操作系统会专门开辟一块内存区域,提供给当前进程使用,对于依赖的文件,操作系统会发放一个文件描述符,以便读写文件,当我们执行
rm -f
删除文件时,其实只是删除了文件的目录索引节点,对于文件系统不可见,但是对于打开它的进程依然可见,即仍然可以使用先前发放的文件描述符读写文件,正是利用这样的原理,所以我们可以使用I/O重定向的方式来恢复文件。”
위 내용은 실수로 Linux rm을 실행한 경우 Linux rm을 실행할 필요가 없을 수도 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!