A. 怎樣還原linux目錄下的文件
在linux中我們刪除文件可以直接使用rm命令來刪除哦,小編今天給大家介紹介紹在linux 刪除文件和目錄及誤刪除之後文件恢復方法,有需要了解的同學可參考。
前面你已經學習了使用 touch 命令來創建文件,以及使用 mkdir 命令來創建目錄 tigger。
現在,你需要學習如何刪除文件和目錄。 使用 rm 命令來刪除文件和目錄是一個直截了當的過程。詳情請參閱 rm 的說明書頁。刪除文件和目錄的選項包括:
» -i — 互動。提示你確認刪除。這個選項可以幫助你避免誤刪文件。
» -f — 強制。代替互動模式,不提示地刪除文件。除非你知道自己在干什麼,使用這個選項通常不是明智之舉。
» -v — 詳細。顯示文件的刪除進度。
» -r — 遞歸。將會刪除某個目錄及其中所有的文件和子目錄。
要使用 rm 命令來刪除文件 piglet.txt,鍵入:
rm piglet.txt
警告
一旦文件或目錄使用 rm 命令刪除後,它就一去不復返了。
使用 -i(互動)選項會再給你一次機會來決定你是否真的想刪除該文件。
rm -i piglet.txt
rm: 是否刪除一般文件『piglet.txt』?
你還可以使用通配符「*」來刪除文件,不過,你必須謹慎而為,因為它很容易刪除你並不想刪除的文件。
要使用通配符來刪除文件,可以鍵入:
rm pig*
上面的命令會刪除目錄中所有起首為 pig 字母的文件。
你還可以使用 rm 命令來刪除多個文件。 例如:
rm piglet.txt sneakers.txt
你可以使用 rmdir 來刪除目錄( 如:rmdir foo),但是目錄必須是空目錄。要使用 rm 來刪除目錄,你必須指定 -r 選項。
譬如,如果你想遞歸地刪除目錄 tigger,你可以鍵入:
rm -r tigger
如果你想組合選項,例如強制一種遞歸的刪除,你可以鍵入:
rm -rf tigger
另一個比使用 rm 更安全的刪除目錄的命令是 rmdir 命令。這個命令不允許你使用遞歸刪除,因此不能刪除包含文件的目錄。
警告
rm 命令可以刪除你的整個文件系統!如果你登錄為根用戶,然後鍵入這個簡單命令: rm -rf /,你的麻煩就大了;這個命令會遞歸地刪除你的系統上的一切。
閱讀 rmdir 的說明書頁( man rmdir)來獲取關於這個命令的詳細信息
Linux 文件誤刪除恢復操作
一、用運SecureCRT遠程對操作系統上,查看一下當前系統版本號,及文件系統格式
二、為方便本次實驗,我們新創建一文件。
三、執行刪除操作,
四、運用,系統自還工具debugfs來修復
五、打開,剛剛被刪除文件所在的分區
六、用ls 加-d參數顯示剛剛刪除文件所在的目錄
七、顯示有<>尖括弧的就是我們要找的文件Inode 號 執行logmp –I <393289>
八,執行完命令後,顯示了一屏信息,我們需要的是下面這一行,並且要記住,後面的值
九,退出debugfs
十,執行如下命令
十一,以上結果表示恢復成功我們看下/tmp目錄下到底有沒有
十二,tmp目錄下有我們顯示一下,
linux下刪除亂碼文件
根據inode 來修改或刪除linux 下亂碼的文件
1. 創建測試文件:
touch 1?.txt
2. 查詢inode :
[oracle@test]$ ll -i
total 14694452
17956913 -rw-r--r-- 1 oracle oinstall 0 Jan 18 20:24 1?.txt
3. 修改測試文件名:
find . -inum 17956913 -exec mv {} file.txt ;
4. 檢查修改結果
[oracle@test]$ ll
total 14694452
....
-rw-r--r-- 1 oracle oinstall 0 Jan 18 20:24 file.txt
記錄:刪除亂碼的文件可使用 find . -inum 17956913 -exec rm {} ;
B. LINUX文件夾被修改了,能否還原
不能。修改了原來的名稱就沒有了
C. linux不小心刪除文件後怎麼恢復
文件被誤刪了之後,先停止其他文件的相關操作,以免影響到恢復工作,然後判斷文件的刪除方式是普通刪除還是永久刪除,如果是普通刪除的話可以打開回收站進行文件的恢復,如果是永久刪除的話,那麼可以藉助到專業的數據恢復軟體來進行恢復文件的工作,具體如下:
步驟一;在該電腦的常用瀏覽器上搜索【強力數據恢復軟體】,找到安裝包進行下載,再完成相關的安裝操作,之後點擊【立即體驗】按鈕運行軟體。(下載和安裝路徑不要和誤刪文件所在分區重合)
步驟二:軟體一共有三種的恢復選項:快速掃描、深度掃描、分區恢復,每種選項都可以幫助用戶更為精確的對誤刪的文件進行相關的恢復操作,這里根據實際情況以及選項的描述選擇【深度掃描】即可。
步驟三:之後界面顯示有讀取到的電腦分區信息,在其中找到誤刪文件所在的分區勾選上,之後點擊【開始掃描】按鈕,用戶就對分區進行數據的掃描工作了,耐心等待完成即可。(如果知曉誤刪文件格式,可點擊【文件設置】按鈕自定義掃描文件格式後再開始掃描工作)
步驟四:掃描結束之後,在界面左側找到刪除文件對應的格式點擊,右側就顯示有具體的文件信息了,在其中找到被刪除文件勾選上,之後點擊【下一步】按鈕。(雙擊可放大文件,更好的確定是否為需要的文件)
步驟五:點擊【瀏覽】按鈕選擇好恢復文件的存儲位置後,點擊【恢復】按鈕來進行不小心文件恢復工作的最後一步工作,恢復完成之後彈出提示框,點擊【確定】按鈕即可查看到恢復後的誤刪文件了。
D. linux系統如何用命令恢復硬碟數據
formost 是一個基於文件頭和尾部信息以及文件的內建數據結構恢復文件的命令行工具。這個過程通常叫做數據挖掘(data carvubg)。formost 可以分析由 dd、Safeback、Encase 等生成的鏡像文件,也可以直接分析驅動器。文件頭和尾可以通過配置文件設置,也可以通過命令行開關使用 formost 內建的文件類型。formost 最初是由美國空軍特別調查室(Air Force Office of Special Investigations)和信息系統安全研究中心(The Center for Information Systems Security Studies and Research)開發的,現在使用 GPL 許可。Foremost 支持恢復如下格式:avi, bmp, dll, doc, exe, gif, htm, jar, jpg, mbd, mov, mpg, pdf, png, ppt, rar, rif, sdw, sx, sxc, sxi, sxw, vis, wav, wmv, xls, zip。 針對 Linux 下的 ext 文件系統來說,常用的 Linux 文件刪除恢復工具有 debugfs、ext3grep、extundelete 等。extundelete 是一個開源的數據恢復工具,支持 ext3、ext4 文件系統
E. 在linux系統下用rm命令誤刪了一個文件,怎樣才能恢復這個文件
1、先要進行重啟ubuntu,隨即長按shirft進入grub菜單,這時候注意的是再進行選擇recovery mode,按"e"鍵進入編輯頁面,如下圖所示。
F. 如何在Linux系統中恢復誤刪除的文件
1. 添加硬碟,創建分區,關機後添加,在硬體那裡新增一個dfisk分區1-6是分出一個測試區
2. #fdisk /dev/sdb # 創建一個sdb1分區
3. #partx -a /dev/sda #獲取新分區表
4. #mkdir /tmp/sdb #創建sdb文件夾
5. #mkfs.ext4 /dev/sdb1 #格式化
6. #mount /dev/sdb1 /tmpsdb #掛載新的分區
7. #umount /tmp/sdb #卸載
8. 解壓工具extundelete 可以在http://sourceforge.net下載
9. 解壓#tar jxvf 包名
#yum install gcc-c++
#cd /mnt/packages
#yum install *2fs*
10. 編譯安裝
#make –j
#make install
11. 創建空目錄 mkdir test存放恢復的文件
恢復的四個方法,前提卸載光碟機了
1. 通過inode結點恢復 #extundelete /dev/sdb1 - -restore-inode inode號
2. 通過文件名恢復 #extundelete/dev/sdb1 - -restore-file 文件名
3. 恢復某個目錄 #extundelete/dev/sdb1 - -restore-directory 目錄名
4. 恢復所有文件 #extundelete/dev/sdb1 - -restore-all
無法恢復空文件和空目錄
G. linux文件許可權誤修改之後如何恢復
linux有三個修改許可權的命令 , xxx-xxx-xxx 讀許可權4 寫許可權2 執行許可權1
例如777表示可讀可寫可執行, 前三個為主用戶的許可權 ,中間三個為用戶組的許可權,後三個為其他用戶的許可權
chmod修改文件讀寫執行許可權 chmod三位數(777)文件或目錄名
chown 修改主用戶許可權chown用戶名文件或目錄名
chgrp修改用戶組許可權 chgrp 用戶組名 文件或目錄名
H. 如何恢復被刪除的LINUX文件
作為一個多用戶、多任務的操作系統,Linux下的文件一旦被刪除,是難以恢復的。盡管刪除命令只是在文件節點中作刪除標記,並不真正清除文件內容,但是其他用戶和一些有寫盤動作的進程會很快覆蓋這些數據。不過,對於家庭單機使用的Linux,或者誤刪文件後及時補救,還是可以恢復的。
1、Ext2文件系統結構的簡單介紹
在Linux所用的Ext2文件系統中,文件是以塊為單位存儲的,默認情況下每個塊的大小是1K,不同的塊以塊號區分。每個文件還有一個節點,節點中包含有文件所有者,讀寫許可權,文件類型等信息。對於一個小於12個塊的文件,在節點中直接存儲文件數據塊的塊號。如果文件大於12個塊,那麼節點在12個塊號之後存儲一個間接塊的塊號,在這個間接塊號所對應的塊中,存儲有256個文件數據塊的塊號(Ext2fs中每個塊號佔用4位元組,這樣一個塊中所能存儲的塊號就是1024/4=256)。如果有更大的文件,那麼還會在節點中出現二級間接塊和三級間接塊。
2、恢復被誤刪文件的方法
大多數Linux發行版都提供一個debugfs工具,可以用來對Ext2文件系統進行編輯操作。不過在使用這個工具之前,還有一些工作要做。
首先以只讀方式重新掛載被誤刪的文件所在分區。使用如下命令:(假設文件在/usr分區)
mount –r –n –o remount /usr -r表示只讀方式掛載;-n表示不寫入/etc/mtab,如果是恢復/etc上的文件,就加上這個參數。如果系統說xxx partion busy,可以用fuser命令查看一下是哪些進程使用這個分區上的文件:
fuser –v –m /usr
如果沒有什麼重要的進程,用以下命令停掉它們:
fuser -k –v –m /usr
然後就可以重新掛載這些文件系統了。
如果是把所有的文件統一安裝在一個大的/分區當中,可以在boot提示符下用linux single進入單用戶模式,盡量減少系統進程向硬碟寫入數據的機會,要不幹脆把硬碟掛在別的機器上。另外,恢復出來的數據不要寫到/上面,避免破壞那些有用的數據。如果機器上有dos/windows,可以寫到這些分區上面:
mount –r –n /dev/hda1 /mnt/had
然後就可以執行debugfs:(假設Linux在 /dev/hda5)
#debugfs /dev/hda5
就會出現debugfs提示符debugfs:
使用lsdel命令可以列出很多被刪除的文件的信息:
debugfs:lsdel
debugfs: 2692 deleted inodes found.
Inode Owner Mode Size Blocks Time deleted
164821 0 100600 8192 1/ 1 Sun May 13 19:22:46 2001
…………………………………………………………………………………
36137 0 100644 4 1/ 1 Tue Apr 24 10:11:15 2001
196829 0 100644 149500 38/ 38 Mon May 27 13:52:04 2001
debugfs:
列出的文件有很多(這里找到2692個),第一欄位是文件節點號,第二欄位是文件所有者,第三欄位是讀寫許可權,接下來是文件大小,佔用塊數,刪除時間。然後就可以根據文件大小和刪除日期判斷那些是我們需要的。比如我們要恢復節點是196829的文件:
可以先看看文件數據狀態:
debugfs:stat <196829>
Inode: 196829 Type: regular Mode: 0644 Flags: 0x0 Version: 1
User: 0 Group: 0 Size: 149500
File ACL: 0 Directory ACL: 0
Links: 0 Blockcount: 38
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x31a9a574 -- Mon May 27 13:52:04 2001
atime: 0x31a21dd1 -- Tue May 21 20:47:29 2001
mtime: 0x313bf4d7 -- Tue Mar 5 08:01:27 2001
dtime: 0x31a9a574 -- Mon May 27 13:52:04 2001
BLOCKS:
594810 594811 594814 594815 594816 594817 ………………………………….
TOTAL: 38
然後就可以用mp指令恢復文件:
debugfs:mp <196829> /mnt/hda/01.sav
這樣就把文件恢復出來了。退出debugfs:
debugfs:quit
另一種方法是手工編輯inode:
debugfs:mi <196829>
Mode [0100644]
User ID [0]
Group ID [0]
Size [149500]
Creation time [0x31a9a574]
Modification time [0x31a9a574]
Access time [0x31a21dd1]
Deletion time [0x31a9a574] 0
Link count [0] 1
Block count [38]
File flags [0x0]
Reserved1 [0]
File acl [0]
Directory acl [0]
Fragment address [0]
Fragment number [0]
Fragment size [0]
Direct Block #0 [594810]
…………………………….
Triple Indirect Block [0]
使用mi指令後每次顯示一行信息以供編輯,其它行可以直接按回車表示確認,把deletion time改成0(未刪除),Link count改成1。改好後退出debugfs:
debugfs:quit
然後用fsck檢查/dev/hda5
fsck /dev/hda5
程序會說找到丟失的數據塊,放在lost+found裡面。這個目錄里的文件就是我們要的東東。
I. 在linux中用vi編輯的時候,用「u"命令撤銷過一些操作,再恢復原來的操作用什麼命令
用的命令是:ctrl + R
三種模式間的相互轉換
vi編輯器的啟動與退出
直接進入編輯環境
$vi
進入編輯環境並打開(新建)文件
$vimyfile
退出vi編輯環境
輸入末行命令放棄對文件的修改,並退出編輯器
:q!
文件保存與另存為
保存文件
保存對vi編輯器中已打開文件的修改
:w
另存為文件
將vi編輯器中的內容另存為指定文件名
:wmyfile
退出vi編輯器的多種方法
未修改退出
沒有對vi編輯器中打開的文件進行修改,或已對修改進行了保存,直接退出vi編輯器
:q
保存並退出
對vi編輯器中的文件進行保存並退出vi編輯器
:wq
不保存退出
放棄對文件內容的修改,並退出vi編輯器
:q!
游標的移動和翻頁操作
操作類型游標操作鍵功能
游標移動h向左移動游標
l向右移動游標
k向上移動游標
j向下移動游標
翻頁Ctrl+f向前翻整頁
Ctrl+b向後翻整頁
Ctrl+u向前翻半頁
Ctrl+d向後翻半頁
行內快速跳轉
操作鍵功能
^將游標快速跳轉到本行的行首字元
$將游標快速跳轉到本行的行尾字元
w將游標快速跳轉到當前游標所在位置的後一個單詞的首字母
b將游標快速跳轉到當前游標所在位置的前一個單詞的首字母
e將游標快速跳轉到當前游標所在位置的後一個單詞的尾字母
文件內行間快速跳轉
命令功能
:setnu在編輯器中顯示行號
:setnonu取消編輯器中的行號顯示
1G跳轉到文件的首行
G跳轉到文件的末尾行
#G跳轉到文件中的第#行
進入輸入模式
命令功能
i在當前游標處進入插入狀態
a在當前游標後進入插入狀態
A將游標移動到當前行的行末,並進入插入狀態
o在當前行的下面插入新行,游標移動到新行的行首,進入插入狀態
O在當前行的上面插入新行,游標移動到新行的行首,進入插入狀態
cw刪除當前游標到所在單詞尾部的字元,並進入插入狀態
c$刪除當前游標到行尾的字元,並進入插入狀態
c^命令刪除當前游標之前(不包括游標上的字元)到行首的字元,並進入插入狀態
輸入模式的編輯鍵操作
按鍵功能
方向鍵進行上下左右方向的游標移動
Home快速定位游標到行首
End快速定位游標到行尾
PageUp進行文本的向上翻頁
PageDown進行文本的向下翻頁
Backspace刪除游標左側的字元
Del刪除游標位置的字元
刪除操作
命令功能
x刪除游標處的單個字元
dd刪除游標所在行
dw刪除當前字元到單詞尾(包括空格)的所有字元
de刪除當前字元到單詞尾(不包括單詞尾部的空格)的所有字元
d$刪除當前字元到行尾的所有字元
d^刪除當前字元到行首的所有字元
J刪除游標所在行行尾的換行符,相當於合並當前行和下一行的內容
撤消操作
命令功能
u取消最近一次的操作,並恢復操作結果
可以多次使用u命令恢復已進行的多步操作
U取消對當前行進行的所有操作
Ctrl+r對使用u命令撤銷的操作進行恢復
復制與粘貼操作
命令功能
yy復制當前行整行的內容到vi緩沖區
yw復制當前游標到單詞尾字元的內容到vi緩沖區
y$復制當前游標到行尾的內容到vi緩沖區
y^復制當前游標到行首的內容到vi緩沖區
p讀取vi緩沖區中的內容,並粘貼到游標當前的位置(不覆蓋文件已有的內容)
字元串查找操作
命令功能
/word從上而下在文件中查找字元串「word」
?word從下而上在文件中查找字元串「word」
n定位下一個匹配的被查找字元串
N定位上一個匹配的被查找字元串
字元串替換操作
命令功能
:s/old/new將當前行中查找到的第一個字元「old」串替換為「new」
:s/old/new/g將當前行中查找到的所有字元串「old」替換為「new」
:#,#s/old/new/g在行號「#,#」范圍內替換所有的字元串「old」為「new」
:%s/old/new/g在整個文件范圍內替換所有的字元串「old」為「new」
:s/old/new/c在替換命令末尾加入c命令,將對每個替換動作提示用戶進行確認
vi編輯器的在線幫助
使用vi在線幫助需安裝的軟體包
vim-common-6.3.035-3.i386.rpm
vim-enhanced-6.3.035-3.i386.rpm
軟體包在RHEL5的第2張安裝光碟
使用vi在線幫助的兩種方法
在vi編輯器中按「F1」鍵
輸入help末行命令