在Linux 中如何從程序相關的檔案描述中恢復資料

2022-08-02 00:39:10 字數 1447 閱讀 3379

在linux中誤刪除了某個檔案,但是 ps-ef|grep 檔名 發現某個程序還在使用該檔案,那麼可以通

過以下方式恢復檔案。

例如:建立乙個簡單檔案/tmp/test.txt, 隨便向裡面寫點內容

兩個client模擬,client1 負責開啟檔案less /tmp/test.txt(模擬占用執行緒)

client2 負責恢復檔案,恢復步驟(均在client2上執行)

1. 檢視/tp/test.txt被占用的程序id

[root@host tmp]# ps -ef|grep test.txt

root     31631 31539  0 09:35 pts/0    00:00:00 less test.txt

root     31649 31579  0 09:36 pts/1    00:00:00 grep test.txt

2. cd /proc/31631/fd 資料夾中

3. 執行ll命令

[root@host fd]# ll

total 0

lrwx------ 1 root root 64 dec  3 09:36 0 -> /dev/pts/0

lrwx------ 1 root root 64 dec  3 09:36 1 -> /dev/pts/0

lrwx------ 1 root root 64 dec  3 09:36 2 -> /dev/pts/0

lr-x------ 1 root root 64 dec  3 09:36 3 -> /dev/tty

lr-x------ 1 root root 64 dec  3 09:36 4 -> /tmp/test.txt (deleted)

4. 發現了4是軟連線到 /tmp/test.txt 檔案中的

cat 4 即可找到刪除的檔案內容

以下是/proc目錄中程序n的資訊

/proc/n/cmdline 程序啟動命令

/proc/n/cwd 鏈結到程序當前工作目錄

/proc/n/environ 程序環境變數列表

/proc/n/exe 鏈結到程序的執行命令檔案

/proc/n/fd 包含程序相關的所有的檔案描述符

/proc/n/maps 與程序相關的記憶體對映資訊

/proc/n/mem 指代程序持有的記憶體,不可讀

/proc/n/root 鏈結到程序的根目錄

/proc/n/stat 程序的狀態

/proc/n/statm 程序使用的記憶體的狀態

/proc/n/status 程序狀態資訊,比stat/statm更具可讀性

/proc/self 鏈結到當前正在執行的程序

Linux 從程序相關的檔案描述中恢復資料

在linux中誤刪除了某個檔案,但是 ps ef grep 檔名 發現某個程序還在使用該檔案,那麼可以通 過以下方式恢復檔案。例如 建立乙個簡單檔案 tmp test.txt,隨便向裡面寫點內容 兩個client模擬,client1 負責開啟檔案less tmp test.txt 模擬占用執行緒 c...

Linux 從程序相關的檔案描述中恢復資料

在linux中誤刪除了某個檔案,但是 ps ef grep 檔名 發現某個程序還在使用該檔案,那麼可以通 過以下方式恢復檔案。例如 建立乙個簡單檔案 tmp test.txt,隨便向裡面寫點內容 兩個client模擬,client1 負責開啟檔案less tmp test.txt 模擬占用執行緒 c...

linux程序相關的命令

linux程序相關的命令 關於ps命令 ps aux或者ps ef列出記憶體中的所有程序 查詢個名稱的程序,例如要查詢vim ps aux grep vim grep v grep 第二個grep是為了去掉結果中的grep vim程序 v表示篩選不存在匹配串的內容 關於程序訊號 signal kil...