覆蓋就相當於永久性刪除。呵呵, 兄弟想開點阿!!!
② linuxrm-rf刪除的文件怎麼恢復
第一種 誤刪文件進程還在
這種方法就比較簡單,能還原的文件限制也比較多。如果被刪除的文件的進程還是存在,即能找到進程PID。通過命令 lsof | grep (deletefile) 查找到進程id。然後就是進入進程目錄 cd /proc/PID/fd 。然後可以通過 ll 命令查看具體文件信息,將有軟連接到被刪除文件的文件復制就可還原了。
第二種 使用extundelete之類基於inode的工具
針對 Linux 下的 ext 文件系統來說,常用的 Linux 文件刪除恢復工具有 debugfs、ext3grep、extundelete 等。extundelete 是一個開源的數據恢復工具,支持 ext3、ext4 文件系統,其官方站點位於http://extundelete.sourceforce.net/,目前最新穩定版本為 0.2.0。
這個工具和還有一些其他類似的恢復工具,都是基於inode,還原文件的,也就是說,需要被刪除文件的inode還在,沒有被覆蓋,即在文件刪除之後,沒有讀寫輸入。所以第一件事就是掛起文件所在分區。但是這個操作有個問題就是,如果系統只有一個掛載盤,而且還是線上服務的話,掛起是不現實的。並且就算讀寫不多,但是系統本身沒有安裝這些恢復工具,在你安裝編譯這些恢復工具時的讀寫,也很可能把刪除的文件inode覆蓋了。
但是如果,系統擁有多個掛載盤,且被刪除文件分區所在的文件盤掛起並不印象,你還是可以嘗試這個方法的。或者系統本身就有安裝這個工具,距離文件刪除不是很久,也可以試一下,也許inode還在呢。
具體使用方法這里就不說了,網上很多教程,隨便搜一下都是。
第三種 testdisk工具
testdisk 是分區表恢復、raid 恢復、分區恢復的開源免費工具(testdisk 支持如下文件系統: FAT12/FAT16/FAT32/NTFS/ext2/ext3/ext4)。testdisk 支持的功能: 修復分區表, 恢復已刪除分區,用 FAT32 備份表恢復啟動扇區,重建 FAT12/FAT16/FAT32 啟動扇區,修復 FAT 表,重建 NTFS 啟動扇區,用備份表恢復 NTFS 啟動扇區,用 mft 鏡像表(mft mirror)修復 mft 表,查找 ext2/ext3 備份的 superblock,從 FAT,NTFS 及 ext2 文件系統恢復刪除文件,從已刪除的 FAT,NTFS 及 ext2/ext3 分區復制文件。
所以,這個工具是不基於inode的,即時文件後,沒有掛起分區,讀寫操作一直在進行,或者過去很久了,都是可以有機會恢復文件的。
但也不是百分百能成功,舉個栗子,被刪除的是 /usr/local/mytest 這個文件夾。然後你這個文件夾下部分文件的備份,為了及時先恢復部分線上業務,然後你mkdir /usr/local/mytest 然後將部分備份復制了進去。那麼testdisk也無法拯救恢復了。還有就是testdisk恢復文件時,還需要注意看一下文件大小。如果文件大小顯示為0,那麼就算選擇恢復這個文件,也是會得到一個0kb的文件。
所以這個適用於,一些inode已經被覆蓋,但是文件物理存儲塊還未被覆蓋的文件,可以嘗試一下這個方法,也許可以找回部分丟失文件。
在使用rm -rf這個命令時一定要小心再小心,不然造成的後果是很嚴重的,因此提醒大家再使用這個命令時一定要保持頭腦清醒。
③ 怎樣在linux中覆蓋文件夾以及文件夾里的文件
1、這么就用不會提示了:# \cp -rf
2、 原因:
# vi ~/.bashrc
如果你看到如下內容,以下命令都會用別名執行了,就是說自動加了 -i 參數:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
為了讓復制和移動大量文件去覆蓋目標時,不會產生一個個的提示,命令應該這樣寫
# \cp -rf /data/xxx* /home/xxx
注意 cp 命令前加了 \ ,意思是不讓它用~/.bashrc里的別名運行,即 -i 參數
3、補充cp該命令的各選項含義如下
- a 該選項通常在拷貝目錄時使用。它保留鏈接、文件屬性,並遞歸地拷貝目錄,其作用等於dpR選項的組合。
- d 拷貝時保留鏈接。
- f 刪除已經存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是互動式拷貝。
- p 此時cp除復制源文件的內容外,還將把其修改時間和訪問許可權也復制到新文件中。
- r 若給出的源文件是一目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。
- l 不作拷貝,只是鏈接文件。
4、需要說明的是,為防止用戶在不經意的情況下用cp命令破壞另一個文件,如用戶指定的目標文件名是一個已存在的文件名,用cp命令拷貝文件後,這個文件就會被新拷貝的源文件覆蓋,因此,建議用戶在使用cp命令拷貝文件時,最好使用i選項。
④ 如何恢復被刪除的LINUX文件
Linux ext2文件系統下恢復誤刪的文件
一、文件誤刪
注意兩點
(1)lsdel列出已被刪除的文件的節點信息;stat顯示某個節點所對應的文件信息;mp表示恢復作用
(2)如果被刪除的文件很多,那麼通過lsdel可看出文件的時間,然後自己判斷進行恢復
⑤ linux怎樣將文件覆蓋到另一個文件
linux實用命令之如何移動文件夾及文件下所有文件 格式:mv [選項(option)] 源文件或目錄 目標文件或目錄使用命令:mv webdata /bin/usr/可以延伸一下:mv /usr/lib/* /zone 是將 /usr/lib/下所有的東西移到/zone/中。 mv /usr/lib/*.txt /zone 是將lib下以txt結尾的所有文件移到/zone中。 其他類型,以此類推。具體說明如下:1.作用 mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令等同於DOS系統下的ren和move命令的組合。它的使用許可權是所有用戶。 2.格式 mv [options] 源文件或目錄 目標文件或目錄 3.[options]主要參數(幾個重要的參數) -i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答」y」或」n」,這樣可以避免誤覆蓋文件。 -f:禁止交互操作。mv操作要覆蓋某個已有的目標文件時不給任何指示,指定此參數後i參數將不再起作用。- r 指示mv將參數中列出的全部目錄和子目錄均遞歸地移動。 4.第二個參數 當第二個參數類型是文件時,mv命令完成文件重命名,它將所給的源文件或目錄重命名為給定的目標文件名。 當第二個參數是已存在的目錄名稱時,
⑥ linux編譯不小心 覆蓋了源文件怎麼辦(linux高手進)
只能是恢復硬碟了:
只是不知道這個和用rm清除的數據情況是否一致,應該可以試試:
linux ext3 ext4文件系統下 恢復 rm -rf 誤刪除文件:http://qyiyunso.blog.163.com/blog/static/350776862010826115537113/
我的測試:
gcc sayHello.cc -o sayHello.cc
/tmp/ccmJYL0I.o: In function `main':
sayHello.cc:(.text+0x14): undefined reference to `std::cout'
sayHello.cc:(.text+0x19): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccmJYL0I.o: In function `__static_initialization_and_destruction_0(int, int)':
sayHello.cc:(.text+0x41): undefined reference to `std::ios_base::Init::Init()'
sayHello.cc:(.text+0x46): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccmJYL0I.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status