溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中怎么利用lsof 恢復(fù)已刪除的文件

發(fā)布時間:2021-06-22 15:26:23 來源:億速云 閱讀:220 作者:Leah 欄目:大數(shù)據(jù)

本篇文章為大家展示了Linux中怎么利用lsof 恢復(fù)已刪除的文件,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

  1. 新建文件:

    /> cd /tmp
    tmp> ls -lR / > /tmp/myfile
    tmp> ls -l myfile
    -rw-r--r-- 1 fred ftp 11567585 Nov 23 08:44 myfile
    tmp> stat myfile
    File: `myfile'Size: 11567585Blocks: 22640IO Block: 4096 regular fileDevice: 900h/2304dInode: 48871Links: 1Access: (0644/-rw-r--r--)Uid: ( 1900/fred)Gid: (50/ftp)Access: 2006-11-23 08:44:32.000000000 +0000Modify: 2006-11-23 08:44:26.000000000 +0000 Change: 2006-11-23 08:44:26.000000000 +0000

  2. 執(zhí)行某些命令保持文件被打開:

    scum 97 tmp> less myfile &
    [1] + Suspended (tty output) less myfile

  3. "突然" 刪除文件:

    tmp> rm myfile
    tmp> ls -l myfile
    ls: myfile: No such file or directory

  4. 使用 lsof 查看打開文件描述符的進程:

    tmp> lsof | grep myfile
    less11230fred4rREG9,0 1156758548871 /tmp/myfile (deleted)

第二列就是打開文件的進程PID,第四列就是進程打開文件描述符

  1. 在 /proc 下定位打開的文件描述符
    tmp> ls -l /proc/11230/fd/4
    lr-x------ 1 fred ftp 64 Nov 23 08:49 /proc/11230/fd/4 -> /tmp/myfile (deleted)

  2. 這個時候文件就可以被復(fù)制回原來的位置:

    tmp> cp /proc/11230/fd/4 myfile
    tmp> ls -l myfile
    -rw-r--r-- 1 fred ftp 11567585 Nov 23 08:54 myfile
    tmp> stat myfile
    File: `myfile'Size: 11567585Blocks: 22640IO Block: 4096 regular fileDevice: 900h/2304dInode: 48878Links: 1Access: (0644/-rw-r--r--)Uid: ( 1900/fred)Gid: (50/ftp)Access: 2006-11-23 08:54:28.000000000 +0000Modify: 2006-11-23 08:54:28.000000000 +0000 Change: 2006-11-23 08:54:28.000000000 +0000

注意:


復(fù)制回來的文件和進程打開的文件inode不一樣,這個意味著復(fù)制出來之后程序?qū)υ瓉砦募男薷牟粫换謴?fù)


上述內(nèi)容就是Linux中怎么利用lsof 恢復(fù)已刪除的文件,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI