>시스템 튜토리얼 >리눅스 >실수로 Linux rm을 실행한 경우 Linux rm을 실행할 필요가 없을 수도 있습니다.

실수로 Linux rm을 실행한 경우 Linux rm을 실행할 필요가 없을 수도 있습니다.

王林
王林앞으로
2024-02-11 21:33:19567검색

Linux 시스템에서 실수로 삭제된 파일을 소프트웨어를 통해 복구하는 것이 정말 불가능합니까?

실수로 Linux rm을 실행한 경우 Linux rm을 실행할 필요가 없을 수도 있습니다.

파일 복구는 두 가지 상황으로 나눌 수 있습니다

  • 하나는 삭제 후에도 프로세스에 삭제 정보가 남아 있다는 것입니다
  • 다른 하나는 삭제 후 프로세스를 찾을 수 없으며 도구를 통해서만 복원할 수 있다는 것입니다.

오늘은 파일을 삭제한 후에도 관련 프로세스가 여전히 존재하는 상황에 대해서만 논의하겠습니다

이 상황은 일반적으로 활성 프로세스가 표준 입력 또는 출력을 계속 수행하여 파일이 삭제된 후에도 프로세스 PID가 계속 존재할 때 발생합니다. 이는 일부 서버에서 특정 파일을 삭제했지만 디스크 공간이 해제되지 않는 이유이기도 합니다.

메시지가 수신되었습니다. 소프트웨어를 통해 Linux 시스템에서 실수로 삭제된 파일을 복구하는 것이 정말 불가능합니까? ### 파일 복구는 두 가지 상황으로 나눌 수 있습니다. 하나는 삭제 후 프로세스에 삭제 정보가 여전히 존재하는 경우이고, 다른 하나는 삭제 후 프로세스를 찾을 수 없고 도구를 통해서만 복원할 수 있는 경우입니다. ### 오늘은 파일이 삭제된 후에도 관련 프로세스가 여전히 존재하는 상황에 대해서만 다루겠습니다. > 이러한 상황은 일반적으로 활성 프로세스가 표준 입력 또는 출력을 계속 수행하여 파일이 삭제된 후에도 프로세스 PID가 여전히 존재하는 경우에 발생합니다. . 이는 일부 서버가 특정 파일을 삭제했지만 디스크 공간이 해제되지 않는 이유이기도 합니다.

사례 시연

파일 만들기

으아악

tail -f打开rumenz.txt파일

사용

목적은 rumenz.txt가 삭제된 후에도 프로세스가 계속 존재하도록 하는 것입니다

으아악

삭제하려면 새 터미널을여세요rumenz.txt

으아악

점유 중인 프로세스 찾기 rumenz.txt

  • lsof를 사용하여 삭제된 파일 프로세스가 아직 존재하는지 확인합니다.
  • 설치되어 있지 않은 경우 yum install lsof 또는 apt-get install lsof
  • 을 실행하세요.
아아아아

进程ID是10222,从上面可以看出,当前文件状态为已删除(deleted)

恢复文件

  • /proc/10222/fd:进程操作的文件描述符目录
> 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제