文件管理安装包文件怎么找(文件管理里的安装包是什么意思)

文件管理安装包文件怎么找(文件管理里的安装包是什么意思)本人从事 IT 行业已有十多年 有着丰富的实战经验 总结了大量的学习方法 更是积累了很多的学习资料 很高兴能在这里跟大家交流学习 希望能在这里跟大家共同进步和成长 全套视频学习资料链接 https www bilibili com video BV1G3411B75B share source copy web https www bilibili

大家好,我是讯享网,很高兴认识大家。



本人从事IT行业已有十多年,有着丰富的实战经验,总结了大量的学习方法,更是积累了很多的学习资料,很高兴能在这里跟大家交流学习,希望能在这里跟大家共同进步和成长!

全套视频学习资料链接:

https://www.bilibili.com/video/BV1G3411B75B?share_source=copy_web

 https://www.bilibili.com/video/BV1Y3411x7X4?share_source=copy_web

本节所讲内容:

  4.1  vim的使用

  4.2  实战:恢复ext4文件系统下误删除的文件

  4.3  实战:使用xfs_undelete恢复误删除文件

  4.4  实战:使用xmanager等远程连接工具管理Linux

4.1  vim主要模式介绍

vim命令模式

问:vi和vim是同一个软件包安装的吗?

答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完全兼容vi

查看一个命令,是哪个软件包,安装的:

[root@xuegod63 ~]# rpm -qf /usr/bin/vim

[root@xuegod63 ]# which vim

[root@xuegod63 ]# rpm -qf which vim   #</strong><strong style="font-size:17px;" data-v-2505e99a>反引号,esc按键下的键,反引号中可执行命令</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@</strong><strong style="font-size:17px;" data-v-2505e99a>xuegod63</strong><strong style="font-size:17px;" data-v-2505e99a> ~]# rpm -qf </strong><strong style="font-size:17px;" data-v-2505e99a>$</strong><strong style="font-size:17px;" data-v-2505e99a>(which vi)   #</strong><strong style="font-size:17px;" data-v-2505e99a>$</strong><strong style="font-size:17px;" data-v-2505e99a>(</strong><strong style="font-size:17px;" data-v-2505e99a>可执行命令</strong><strong style="font-size:17px;" data-v-2505e99a>)</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>$</strong><strong style="font-size:17px;" data-v-2505e99a>() </strong><strong style="font-size:17px;" data-v-2505e99a>与` 都可以进行命令替换,命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行

4.1.1  vim编辑器的四种操作模式

1.Vim常用4种模式.

正常模式(Normal mode,俗称命令模式)  ,命令行模式(Command-line mode)

插入模式(Insert mode ,俗称编辑模式), 可视模式(Visual mode,俗称可视模式)

[root@xuegod63 ~]# cp /etc/passwd a.txt

[root@xuegod63 ~]# vim a.txt

首次进入文件          —-正常模式(Normal mode,俗称命令模式)

按下I键,出现 “Insert  —-插入模式(Insert mode ,俗称编辑模式)

按Esc键,再输入冒号:      —-命令行模式(Command-line mode)

例1从编辑模式到命令行模式怎样切换?

编辑模式-&gt;esc-&gt;命令模式-&gt;: -&gt;命令行模式

注意在命令模式下,输入命令无效时,检查下输入法是不是中文输入法,切换为英文输入法

例2字符操作(怎样进入编辑模式?)

进入编辑模式 a i o  A I O

说明:

i 当前字符之前插入 (光标前)

I 行首插入  (行首)

a 当前字符之后插入 (光标后)

A 行尾插入(行尾)

o下一行插入 (另起一行)

O上一行插入(上一行插入)

x 向后删除一个字符 等同于delete

X 向前删除一个字符     

u 撤销一步   每按一次就撤销一次

ctrl+r 恢复,每按一次就恢复一次

r 替换

4.1.2  在正常模式下做的操作:

1、光标定位

hjkl  左下上右

0 和 home键表示切换到行首, \(和end键表示切换到行尾</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>gg 快速定位到文档的首行 ,  G定位到未行</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>3gg 或者 3G  快速定位到第3行</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>/string(字符串)   -----找到或定位你要找的单词或内容然后敲回车,如果相符内容比较多,我们可以通过N、n来进行向上向下查找,并且vim会对查找到的内容进行高亮显示,取消高亮用 :noh </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>/^d  ----尖括号^意思表示以什么开头 ,查找以字母d开头的内容</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>/bash\)   —–\(意思表示以什么结尾,查找以字母bash结尾的内容</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>vim + /etc/passwd</strong><strong style="font-size:17px;" data-v-2505e99a>  打开文件后,光标会自动位于文件的最后一行。 了解一下这个技巧。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>vim +23 /etc/passwd</strong><strong style="font-size:17px;" data-v-2505e99a>  打开文件后,光标会自动位于文件的第23行,方便后期排错。</strong><strong style="font-size:17px;" data-v-2505e99a>如:服务器启动报错,第23,有语法错误。使用vim +23 </strong><strong style="font-size:17px;" data-v-2505e99a>/etc/passwd</strong><strong style="font-size:17px;" data-v-2505e99a>可以快速定位到23行。</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>分享心得:我更喜欢vim打开文件,然后按G,跳到最后。 因这个vim + a.txt  技巧不常用,过一段时间肯定会忘。Linux中有太多的小技巧,大家应该记那些常用的。</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>2、在正常模式对文本进行编辑</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>删除、复制、粘贴、撤销</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>yy复制整行  </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>复制N行: Nyy  ,比如: 2yy ,表示复制2行</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>dd(删除,以行为单位,删除当前光标所在行)</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>删除N行: Ndd  ,比如: 2dd ,表示删除2行</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>p : P粘贴</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>剪切: dd</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>x 删除光标所在位置的字符</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>D 从光标处删除到行尾</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>u  撤销操作 </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>ctrl+r  还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>r 替换,或者说用来修改一个字符</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>总结:vim如何进入其它模式</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>a A  o O  i I 都是可以进行插入,编辑模式</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>: 进入命令行模式</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>ctrl+v 进入可视块模式</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>R 擦除、改写,进入替换模式</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>你进入以上模式后,想要退出 ,按esc</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4.1.3  </strong><strong style="font-size:24px;" data-v-2505e99a>Visual mode</strong><strong style="font-size:24px;" data-v-2505e99a>可视</strong><strong style="font-size:24px;" data-v-2505e99a>块</strong><strong style="font-size:24px;" data-v-2505e99a>模式</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>编程</strong><strong style="font-size:17px;" data-v-2505e99a>或修改服务器配置文件</strong><strong style="font-size:17px;" data-v-2505e99a>的时候</strong><strong style="font-size:17px;" data-v-2505e99a>,</strong><strong style="font-size:17px;" data-v-2505e99a>需要进行</strong><strong style="font-size:17px;" data-v-2505e99a>多行注释</strong><strong style="font-size:17px;" data-v-2505e99a>,会使用Visual模式。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>1、进入Visual模式的批量删除,方法如下:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>删除:再按ctrl+v 进入</strong><strong style="font-size:17px;" data-v-2505e99a>可视块模</strong><strong style="font-size:17px;" data-v-2505e99a>式</strong><strong style="font-size:17px;" data-v-2505e99a>;</strong><strong style="font-size:17px;" data-v-2505e99a>向下或向上移动光标</strong><strong style="font-size:17px;" data-v-2505e99a> ;</strong><strong style="font-size:17px;" data-v-2505e99a>选中</strong><strong style="font-size:17px;" data-v-2505e99a>部分内容</strong><strong style="font-size:17px;" data-v-2505e99a>,然后按d, 就会删除注释符号。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>例:将</strong><strong style="font-size:17px;" data-v-2505e99a>sshd_config</strong><strong style="font-size:17px;" data-v-2505e99a> 文件中17行到20行前面的#号删除</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim /etc/ssh/sshd_config</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>改:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a> 为:</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>2、进入Visual模式的批量修改,方法如下:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>1</strong><strong style="font-size:17px;" data-v-2505e99a>)</strong><strong style="font-size:17px;" data-v-2505e99a>、ctrl+v 进入列编辑模式</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>2)、</strong><strong style="font-size:17px;" data-v-2505e99a>向下或向上移动光标</strong><strong style="font-size:17px;" data-v-2505e99a>,</strong><strong style="font-size:17px;" data-v-2505e99a>把需要注释</strong><strong style="font-size:17px;" data-v-2505e99a>、编辑</strong><strong style="font-size:17px;" data-v-2505e99a>的行的开头</strong><strong style="font-size:17px;" data-v-2505e99a>选中</strong><strong style="font-size:17px;" data-v-2505e99a>起来</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>4)、</strong><strong style="font-size:17px;" data-v-2505e99a>然后按大写的</strong><strong style="font-size:17px;" data-v-2505e99a>I</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>5)、</strong><strong style="font-size:17px;" data-v-2505e99a>再插入注释符</strong><strong style="font-size:17px;" data-v-2505e99a>或者你需要插入的符号</strong><strong style="font-size:17px;" data-v-2505e99a>,比如&amp;#34;</strong><strong style="font-size:17px;" data-v-2505e99a>#</strong><strong style="font-size:17px;" data-v-2505e99a>&amp;#34;</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>6)、</strong><strong style="font-size:17px;" data-v-2505e99a>再按Esc,就会全部注释</strong><strong style="font-size:17px;" data-v-2505e99a>或添加</strong><strong style="font-size:17px;" data-v-2505e99a>了</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>例:在</strong><strong style="font-size:17px;" data-v-2505e99a>sshd_config</strong><strong style="font-size:17px;" data-v-2505e99a> 文件中17行到20行前面加一个#号</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim /etc/ssh/sshd_config</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>改:</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>为:</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4.1.4  命令行模式</strong><strong style="font-size:24px;" data-v-2505e99a>Command-line</strong><strong style="font-size:24px;" data-v-2505e99a>操作技巧</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>1、命令行模式</strong><strong style="font-size:17px;" data-v-2505e99a>Command-line</strong><strong style="font-size:17px;" data-v-2505e99a>操作技巧</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:</strong><strong style="font-size:17px;" data-v-2505e99a>w 保存 save</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:</strong><strong style="font-size:17px;" data-v-2505e99a>w</strong><strong style="font-size:17px;" data-v-2505e99a>!</strong><strong style="font-size:17px;" data-v-2505e99a> </strong><strong style="font-size:17px;" data-v-2505e99a>强制</strong><strong style="font-size:17px;" data-v-2505e99a>保存</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:q </strong><strong style="font-size:17px;" data-v-2505e99a>没有进行任何修改,</strong><strong style="font-size:17px;" data-v-2505e99a>退出 quit</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:q! </strong><strong style="font-size:17px;" data-v-2505e99a>修改了,不保存,</strong><strong style="font-size:17px;" data-v-2505e99a>强制退出</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:wq 保存并退出 </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:</strong><strong style="font-size:17px;" data-v-2505e99a>wq!</strong><strong style="font-size:17px;" data-v-2505e99a> 强制保存并退出</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:x 保存退出</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:e! 复原,恢复到文件打开后,没有进行修改时的状态。 修改了很多,不想保存,想复原,按:e!</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>在正常模式下,按下大写的ZZ,也可以保存并退出</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>例:</strong><strong style="font-size:17px;" data-v-2505e99a> wq!</strong><strong style="font-size:17px;" data-v-2505e99a> 强制保存并退出</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# ll /etc/shadow</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>----------. 1 root root 1179 9月  19 12:57 /etc/shadow</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim /etc/shadow</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>例1:调用外部文件或命令</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>语法:在命令行模式下输入: !</strong><strong style="font-size:17px;" data-v-2505e99a>+</strong><strong style="font-size:17px;" data-v-2505e99a>命令</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>例:在vim编辑文档写要写入MAC地址。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cp /etc/passwd a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:!ifconfig</strong><strong style="font-size:17px;" data-v-2505e99a> </strong><strong style="font-size:17px;" data-v-2505e99a>    #在vim中调用ifconfig命令</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>读取其他文件。(把其他文件中的内容追加到当前文档中)</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:r /etc/hosts</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>2、文本替换</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>格式 :</strong><strong style="font-size:17px;" data-v-2505e99a> </strong><strong style="font-size:17px;" data-v-2505e99a>范围(其中%所有内容)   s分隔符 旧的内容 分隔符 新的内容  (分隔符可以自定义)</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>默认是每一行的第一个符合要求的词   (/g全部)</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:1,3 s/bin/xuegod     #替换第1到3行中出现的第一个bin进行替换为xuegod</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:1,3 s/bin/xuegod/g   #替换第1到3行中查找到所有的bin进行替换为xuegod</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:3 s/xue/aaaaa</strong><strong style="font-size:17px;" data-v-2505e99a>/g        #只把第3行中所有xue替换为aaaaa了</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>修改a.txt ,先在文件中随意插入几个do 和DO 字符</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:% s/</strong><strong style="font-size:17px;" data-v-2505e99a>do</strong><strong style="font-size:17px;" data-v-2505e99a>/</strong><strong style="font-size:17px;" data-v-2505e99a>xuegod</strong><strong style="font-size:17px;" data-v-2505e99a>/g</strong><strong style="font-size:17px;" data-v-2505e99a>     #</strong><strong style="font-size:17px;" data-v-2505e99a>将文本中所有的</strong><strong style="font-size:17px;" data-v-2505e99a>do</strong><strong style="font-size:17px;" data-v-2505e99a>替换成</strong><strong style="font-size:17px;" data-v-2505e99a>xuegod</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:% s/</strong><strong style="font-size:17px;" data-v-2505e99a>do</strong><strong style="font-size:17px;" data-v-2505e99a>/</strong><strong style="font-size:17px;" data-v-2505e99a>xuegod</strong><strong style="font-size:17px;" data-v-2505e99a>/g</strong><strong style="font-size:17px;" data-v-2505e99a>i</strong><strong style="font-size:17px;" data-v-2505e99a> </strong><strong style="font-size:17px;" data-v-2505e99a>    #</strong><strong style="font-size:17px;" data-v-2505e99a>将文本中所有的</strong><strong style="font-size:17px;" data-v-2505e99a>do</strong><strong style="font-size:17px;" data-v-2505e99a>替换成</strong><strong style="font-size:17px;" data-v-2505e99a>xuegod, 并且忽略do的大小写</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:% s</strong><strong style="font-size:17px;" data-v-2505e99a>@xuegod@do@</strong><strong style="font-size:17px;" data-v-2505e99a>g</strong><strong style="font-size:17px;" data-v-2505e99a> </strong><strong style="font-size:17px;" data-v-2505e99a>#</strong><strong style="font-size:17px;" data-v-2505e99a>将文本中所有的</strong><strong style="font-size:17px;" data-v-2505e99a>xuegod</strong><strong style="font-size:17px;" data-v-2505e99a>替换成</strong><strong style="font-size:17px;" data-v-2505e99a>do,替换时,也可以使用@做分隔符</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4.1.5  自定义vim使用环境</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>1、临时设置</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim a.txt</strong><strong style="font-size:17px;" data-v-2505e99a> </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:set nu  设置行号</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:set nonu 取消设置行号</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>:noh   取消高亮显示</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>2、永久设置环境</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>vim /etc/vimrc  #设置后会影响到系统所有的用户</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>~/.vimrc       #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己建一个</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>例1:临时定制vim开启显示行号功能</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# </strong><strong style="font-size:17px;" data-v-2505e99a>echo &amp;#34;</strong><strong style="font-size:17px;" data-v-2505e99a>set nu</strong><strong style="font-size:17px;" data-v-2505e99a>&amp;#34;</strong><strong style="font-size:17px;" data-v-2505e99a> </strong><strong style="font-size:17px;" data-v-2505e99a>&amp;gt; </strong><strong style="font-size:17px;" data-v-2505e99a> /root/</strong><strong style="font-size:17px;" data-v-2505e99a>.</strong><strong style="font-size:17px;" data-v-2505e99a>vimrc</strong><strong style="font-size:17px;" data-v-2505e99a>  </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim  /etc/passwd</strong><strong style="font-size:17px;" data-v-2505e99a>   #发现默认已经有行号了</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>3、vim打开多个文件</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法1:以上下形势,打开两个文档</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim -o /etc/passwd /etc/hosts</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span><strong style="font-size:17px;" data-v-2505e99a>注:输入  :qa 一次退出所有打开的文件</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法2:以左右方式打开两个文档</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim -O /etc/passwd /etc/hosts</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>注:ctrl+ww  在两文档之间进行切换编辑。大写O左右分屏,小写的o上下分屏</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>比较两个文件内容</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cp /etc/passwd mima.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# echo aaa &amp;gt;&amp;gt; mima.txt </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法1:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# diff /etc/passwd mima.txt </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>40a41</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>&amp;gt; aaa</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法2:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vimdiff /etc/passwd mima.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4.1.6  其它编辑器</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>nano编辑器</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>emacs编辑器</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>GHOME编辑器gedit</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>例:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# gedit /etc/passwd</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a> </strong><strong style="font-size:24px;" data-v-2505e99a>4.1.7  实战1:解决上传windows中文文档乱码</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>实验环境:centos8 现在系统默认使用的语言是汉语。(系统中必须安装好中文包)。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>将同目录下“a</strong><strong style="font-size:17px;" data-v-2505e99a>aa</strong><strong style="font-size:17px;" data-v-2505e99a>此文件在windows下打开正常-到linux下vim打开是乱码.txt”上传到Linux服务器上。使用ssh远程连接到Linux上,使用vim打开显示乱码。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>原因:编码的问题</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>通过iconv命令转码   </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>参数:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>-f, --from-code=名称 原始文本编码</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>-t, --to-code=输出编码</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>-o, --output=FILE 输出文件名</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# mkdir test</strong><strong style="font-size:17px;" data-v-2505e99a>  #创建一个测试目录</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cd test/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>将测试的文件上传到Linux服务器上:</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# iconv -f gb2312  -t utf8 aaa此文件在windows下打开正常-到linux下vim打开是乱码.txt  -o abc.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cat </strong><strong style="font-size:17px;" data-v-2505e99a>abc</strong><strong style="font-size:17px;" data-v-2505e99a>.txt </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>#!/bin/bash</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>echo &amp;</strong>#34;学神IT&amp;#<strong style="font-size:17px;" data-v-2505e99a>34;</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4.2  实战:在Centos6/RHEL6上恢复ext4文件系统下误删除的文件</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# rm -</strong><strong style="font-size:17px;" data-v-2505e99a>r</strong><strong style="font-size:17px;" data-v-2505e99a>f /</strong><strong style="font-size:17px;" data-v-2505e99a>    #这个可以执行成功吗?   执行不成功的,</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>rm: 在&amp;</strong>#34;/&amp;#<strong style="font-size:17px;" data-v-2505e99a>34; 进行递归操作十分危险</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>rm: 使用 --no-preserve-root 选项跳过安全模式</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# rm -rf /*</strong><strong style="font-size:17px;" data-v-2505e99a>    #这个可以执行成功。</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>ext4文件系统上删除文件,可以恢复: extundelete ,ext3恢复使用:</strong><strong style="font-size:17px;" data-v-2505e99a>ext3grep</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>windows恢复误删除的文件:  final data v2.0 汉化版  和  </strong><strong style="font-size:17px;" data-v-2505e99a>easyrecovery</strong><strong style="font-size:17px;" data-v-2505e99a>  </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>xfs文件系统上删除文件,暂时没有太好的办法进行完全恢复,需要找专业数据恢复公司</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>扩展:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Linux文件系统由三部分组成:文件名,inode,block</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>windows也由这三部分组成。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>a.txt  </strong><strong style="font-size:17px;" data-v-2505e99a>        </strong><strong style="font-size:17px;" data-v-2505e99a>--&amp;gt;inode </strong><strong style="font-size:17px;" data-v-2505e99a>             -</strong><strong style="font-size:17px;" data-v-2505e99a>-&amp;gt; block</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>文件名       存放文件元数据信息       真正存放数据</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>查看文件文件名:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cp /etc/passwd a.txt </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# ls a.txt </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>查看inode号:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>常识: 每个文件,有一个inode号。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# ls -i a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a> a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>查看inode中的文件属性;  通过stat命令查看inode中包含的内容</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]</strong># stat a.txt   #<strong style="font-size:17px;" data-v-2505e99a>查看inode信息:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# ls -l a.txt </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>-rw-r--r-- 1 root root 1720 Oct 25 10:21 a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>block块:真正存储数据的地方</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>逻辑删除: </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>为什么删除比复制快?</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>误删除文件后,第一件事要做什么???  你不心删除把存了几十年的大片删除了。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>避免误删除的文件内容被覆盖。 如何避免?</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>卸载需要恢复文件的分区</strong><strong style="font-size:17px;" data-v-2505e99a>或以只读的方式挂载</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4.2.2  实战:在ext4文件系统上恢复被误删除的文件</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>下载extundelete</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>http://sourceforge.net/</strong><strong style="font-size:17px;" data-v-2505e99a>    开源软件发布中心</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>准备测试分区:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>先添加一块硬盘</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 /]# fdisk /dev/sd</strong><strong style="font-size:17px;" data-v-2505e99a>b  #创建一个sdb1分区</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>WARNING: DOS-compatible mode is deprecated. It&amp;#39;s strongly recommended to</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>         switch off the mode (command &amp;</strong>#39;c&amp;#<strong style="font-size:17px;" data-v-2505e99a>39;) and change display units to</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>         sectors (command &amp;</strong>#39;u&amp;#<strong style="font-size:17px;" data-v-2505e99a>39;).</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Command (m for help): </strong><strong style="font-size:17px;" data-v-2505e99a>p</strong><strong style="font-size:17px;" data-v-2505e99a>   #查看现有分区表</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Disk /dev/sda: 21.5 GB, bytes</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>255 heads, 63 sectors/track, 2610 cylinders</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Units = cylinders of 16065 * 512 = bytes</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Sector size (logical/physical): 512 bytes / 512 bytes</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>I/O size (minimum/optimal): 512 bytes / 512 bytes</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Disk identifier: 0x000b8b35</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>   Device Boot      Start         End      Blocks   Id  System</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>/dev/sda1   *           1          26         83  Linux</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Partition 1 does not end on cylinder boundary.</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>/dev/sda2              26        1301       83  Linux</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>/dev/sda3            1301        1428        82  Linux swap / Solaris</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Command (m for help): </strong><strong style="font-size:17px;" data-v-2505e99a>n</strong><strong style="font-size:17px;" data-v-2505e99a>   #创建一个新分区</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Command action</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>   e   extended</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>   p   primary partition (1-4)</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>p</strong><strong style="font-size:17px;" data-v-2505e99a>  #创建一个主分区</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Selected partition 4</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>First cylinder (1428-2610, default 1428): </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Using default value 1428</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Last cylinder, +cylinders or +size{K,M,G} (1428-2610, default 2610): </strong><strong style="font-size:17px;" data-v-2505e99a>+1G </strong><strong style="font-size:17px;" data-v-2505e99a> #指定分区大小</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Command (m for help):</strong><strong style="font-size:17px;" data-v-2505e99a> w</strong><strong style="font-size:17px;" data-v-2505e99a>  #保存</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>The partition table has been altered!</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Calling ioctl() to re-read partition table.</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>WARNING: Re-reading the partition table failed with error 16: Device or resource busy.</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>The kernel still uses the old table. The new table will be used at</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>the next reboot or after you run partprobe(8) or kpartx(8)</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Syncing disks.</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]#reboot</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>或</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]</strong># partx -a /dev/sdb  #<strong style="font-size:17px;" data-v-2505e99a>获得新分区表</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>扩展:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>如果在根下删除文件了,想恢复,怎么办? </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法1: 立即断电,然后把磁盘以只读方式,挂载到另一个电脑中进行恢复</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法2:把extundelete在虚拟机上(虚拟机系统要和服务器版本一样),提前安装好后再复制到U盘中,把U盘插入服务器,恢复时,恢复的文件要保存到U盘中,(不要让恢复的数据写到/下,那样会覆盖之前删除的文件)</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>使用新的分区表:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 /]# mkdir /tmp/sd</strong><strong style="font-size:17px;" data-v-2505e99a>b</strong><strong style="font-size:17px;" data-v-2505e99a>1</strong><strong style="font-size:17px;" data-v-2505e99a>     #创建挂载点</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# mkfs</strong><strong style="font-size:17px;" data-v-2505e99a>.ext4</strong><strong style="font-size:17px;" data-v-2505e99a> /dev/sdb1</strong><strong style="font-size:17px;" data-v-2505e99a>    #格式化</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# mount /dev/sdb1 /tmp/sdb1</strong><strong style="font-size:17px;" data-v-2505e99a>   #挂载</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4.2.3  </strong><strong style="font-size:24px;" data-v-2505e99a>准备测试环境</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>复制一些测试文件,然后把这些文件再删除,然后演示恢复:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cp /etc/passwd /tmp/sdb1</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cp /etc/hosts /tmp/sdb1</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# echo aaa &amp;gt; a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# mkdir -p /tmp/sdb1/a/b/c</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cp a.txt /tmp/sdb1/a</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cp a.txt /tmp/sdb1/a/b</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# touch /tmp/sdb1/a/b/kong.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>安装tree命令:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# rpm -ivh /mnt/Packages/tree-1.5.3-2.el6.x86_64.rpm</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# tree /tmp/sdb1</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>/tmp/sdb1/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>├── a</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>│   ├── a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>│   └── b</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>│       ├── a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>│       ├── c  #空目录</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>│       └── kong.txt  #空文件</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>├── hosts</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>├── lost+found</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>└── passwd</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>lost+found</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>使用标准的ext3/ext4档案系统格式才会产生的一个目录,目的在于当档案系统发生错误时, 将一些遗失的片段放置到这个目录下。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>可以删除 </strong><strong style="font-size:17px;" data-v-2505e99a>rm -rf  lost+found</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>可以创建 mk</strong><strong style="font-size:17px;" data-v-2505e99a>lost+found</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>删除文件:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cd /tmp/sdb1/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 sdb1]# ls</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>a  hosts  lost+found  passwd</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 sdb1]# rm -rf a hosts passwd </strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>误删除文件后,第一件事要做什么???</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>如何避免误删除的文件内容被覆盖???</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>卸载需要恢复文件的分区</strong><strong style="font-size:17px;" data-v-2505e99a>:或以只读的方式挂载</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@localhost ~]#</strong><strong style="font-size:17px;" data-v-2505e99a>cd /root</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@localhost ~]# umount /tmp/sdb1</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4.2.4  安装</strong><strong style="font-size:24px;" data-v-2505e99a>extundelet</strong><strong style="font-size:24px;" data-v-2505e99a>  </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>上传</strong><strong style="font-size:17px;" data-v-2505e99a>extundelete</strong><strong style="font-size:17px;" data-v-2505e99a>到linux中:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>从windows上传</strong><strong style="font-size:17px;" data-v-2505e99a>extundelete</strong><strong style="font-size:17px;" data-v-2505e99a>文件到linux,安装xmanager  v5   或者CRT</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# rpm -ivh /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm  </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>安装后,就有了rz命令和sz命令</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>rz : 上传windows中的文件到linux</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>sz</strong><strong style="font-size:17px;" data-v-2505e99a> </strong><strong style="font-size:17px;" data-v-2505e99a>文件名 :下载,将linux中的文件传到windows</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>解压并安装</strong><strong style="font-size:17px;" data-v-2505e99a>extundelet</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@centos63~]#mount /dev/sr0 /mnt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@centos63~]# vim /etc/yum.repos.d/Centos-6.repo</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[CentOS6]</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>name=CentOS-server</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>baseurl=file:///mnt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>enabled=1</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>gpgcheck=0</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63]#</strong><strong style="font-size:17px;" data-v-2505e99a> yum </strong><strong style="font-size:17px;" data-v-2505e99a>-</strong><strong style="font-size:17px;" data-v-2505e99a>y</strong><strong style="font-size:17px;" data-v-2505e99a> </strong><strong style="font-size:17px;" data-v-2505e99a>install </strong><strong style="font-size:17px;" data-v-2505e99a>e2fsprogs-devel gcc gcc-c++ gcc-g77</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 extundelete-0.2.4]# tar xf extundelete-0.2.4.tar.bz2 </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cd extundelete-0.2.4</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 extundelete-0.2.4]# https://www.bilibili.com/read/configure </strong><strong style="font-size:17px;" data-v-2505e99a>  #检查系统安装环境</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 extundelete-0.2.4]# make</strong><strong style="font-size:17px;" data-v-2505e99a>  -j </strong><strong style="font-size:17px;" data-v-2505e99a> </strong><strong style="font-size:17px;" data-v-2505e99a>4  #编译,把源代码编译成可执行的二进制文件。 </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>-j 4 </strong><strong style="font-size:17px;" data-v-2505e99a>  使用4进程同时编译,提升编译速度 或 使用4核CPU同时编译。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 extundelete-0.2.4]# make install</strong><strong style="font-size:17px;" data-v-2505e99a>  #安装</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>install 和cp 有什么区别? </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>install 复制时可以指定权限  cp不可以</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>例:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# install -m 777 /bin/find /opt/find</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# ll /opt/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4.2.5  恢复数据</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法1:通过inode结点恢复</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法二:通过文件名恢复</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法三:恢复某个目录,如目录a下的所有文件:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法四:恢复所有的文件</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# umount /tmp/sdb1/ </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# mkdir test</strong><strong style="font-size:17px;" data-v-2505e99a>  #创建一个目录使用于存放恢复的数据</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cd test/</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法1:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>通过inode结点查看被删除的文件名字:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# extundelete /dev/sdb1 --inode 2</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>.                                                2</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>lost+found                                        11</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>passwd                                            12             Deleted</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>hosts                                             13             Deleted</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>a                                                 7313           Deleted</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>扩展:ext4文件系统的分区根目录的inode值为2,xfs分区根目录的inode值为64</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# ls -id /</strong><strong style="font-size:17px;" data-v-2505e99a>   #xfs文件系统</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>64</strong><strong style="font-size:17px;" data-v-2505e99a> /</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# mount /dev/sdb1 /tmp/sdb1/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# ls -id /tmp/sdb1/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>2</strong><strong style="font-size:17px;" data-v-2505e99a> /tmp/sdb1/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# umount /tmp/sdb1/</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法1:</strong><strong style="font-size:17px;" data-v-2505e99a>通过inode结点恢复</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# extundelete /dev/sdb1 --restore-</strong><strong style="font-size:17px;" data-v-2505e99a>inode</strong><strong style="font-size:17px;" data-v-2505e99a> 12</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>NOTICE: Extended attributes are not restored.</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Loading filesystem metadata ... 9 groups loaded.</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Loading journal descriptors ... 63 descriptors loaded.</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# ls </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>RECOVERED_FILES</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# diff /etc/passwd RECOVERED_FILES/file.12</strong><strong style="font-size:17px;" data-v-2505e99a>  </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>#没有任何输出,说明一样</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法二,通过文件名恢复</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# extundelete /dev/sdb1 --restore-</strong><strong style="font-size:17px;" data-v-2505e99a>file </strong><strong style="font-size:17px;" data-v-2505e99a>hosts</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# diff /etc/passwd RECOVERED_FILES/hosts</strong><strong style="font-size:17px;" data-v-2505e99a>  </strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>#没有任何输出,说明一样</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法三:</strong><strong style="font-size:17px;" data-v-2505e99a>恢复某个目录</strong><strong style="font-size:17px;" data-v-2505e99a>,如目录a下的所有文件:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# extundelete /dev/sdb1 --restore-</strong><strong style="font-size:17px;" data-v-2505e99a>directory a</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# tree RECOVERED_FILES/a/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>RECOVERED_FILES/a/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>├── a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>└── b</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>下面是原来的目录结构:</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# tree /root/sdb1-back/a/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>/root/sdb1-back/a/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>└── b</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>    ├── a.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>    ├── </strong><strong style="font-size:17px;" data-v-2505e99a>c</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>    </strong><strong style="font-size:17px;" data-v-2505e99a>└── </strong><strong style="font-size:17px;" data-v-2505e99a>kong.txt</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>方法四:</strong><strong style="font-size:17px;" data-v-2505e99a>恢复所有的文件</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@centos6 test]# rm -rf RECOVERED_FILES/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 test]# extundelete /dev/sdb1 --restore-</strong><strong style="font-size:17px;" data-v-2505e99a>all</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@centos6 test]# tree RECOVERED_FILES/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>删除前后的数据:</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>eextundelet在恢复文件的时候能不能自动创建空文件和目录</strong><strong style="font-size:17px;" data-v-2505e99a>?</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span><strong style="font-size:17px;" data-v-2505e99a>答:</strong><strong style="font-size:17px;" data-v-2505e99a>不能。</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:24px;" data-v-2505e99a>4</strong><strong style="font-size:24px;" data-v-2505e99a>.3  </strong><strong style="font-size:24px;" data-v-2505e99a>使用x</strong><strong style="font-size:24px;" data-v-2505e99a>fs_undelete</strong><strong style="font-size:24px;" data-v-2505e99a>恢复误删除文件</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>XFS文件系统的取消删除工具——</strong><strong style="font-size:17px;" data-v-2505e99a>xfs_undelete</strong><strong style="font-size:17px;" data-v-2505e99a>。</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>xfs</strong><strong style="font-size:17px;" data-v-2505e99a>_</strong><strong style="font-size:17px;" data-v-2505e99a>undelete尝试恢复xfs文件系统中标记为已删除的所有文件。</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>恢复的文件存储在子目录中的另一个文件系统中,默认情况下,相当于当前目录xfs</strong><strong style="font-size:17px;" data-v-2505e99a>_</strong><strong style="font-size:17px;" data-v-2505e99a> undelete。文件名无法恢复,它被作为删除时间、inode编号和猜测的文件扩展名。</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>环境需求</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>先添加一块硬盘,后面会用到</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>xfs_undelete是一个小的Tcl脚本,因此需要一个Tcl解释器。它使用了Tcl-8.6的一些特性,所以至少需要这个版本,tclib包用于解析命令行。</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>下载t</strong><strong style="font-size:17px;" data-v-2505e99a>cl8.6</strong><strong style="font-size:17px;" data-v-2505e99a>,t</strong><strong style="font-size:17px;" data-v-2505e99a>cllib</strong><strong style="font-size:17px;" data-v-2505e99a>和x</strong><strong style="font-size:17px;" data-v-2505e99a>fs_undelete</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>Tcl download | SourceForge.net</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>https://core.tcl-lang.org/tcllib/technote/cd3a11cde64a19fcd</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>https://github.com/ianka/xfs_undelete</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>上传软件包到ce</strong><strong style="font-size:17px;" data-v-2505e99a>ntos7</strong><strong style="font-size:17px;" data-v-2505e99a>系统</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>安装t</strong><strong style="font-size:17px;" data-v-2505e99a>cl</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# tar xvf tcl8.6.11-src.tar.gz</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cd tcl8.6.11/unix/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]#https://www.bilibili.com/read/configure</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# echo \)?

[root@xuegod63 ~]# make -j 4 &amp;&amp; make install

[root@xuegod63 ~]# echo \(?</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>时间很长</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>使t</strong><strong style="font-size:17px;" data-v-2505e99a>clsh</strong><strong style="font-size:17px;" data-v-2505e99a>全局生效加入p</strong><strong style="font-size:17px;" data-v-2505e99a>ath</strong><strong style="font-size:17px;" data-v-2505e99a>变量</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# mv </strong><strong style="font-size:17px;" data-v-2505e99a>/</strong><strong style="font-size:17px;" data-v-2505e99a>root/tcl8.6.11 /root/tcl</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# vim /etc/profile</strong><strong style="font-size:17px;" data-v-2505e99a>  # 在文件最后追加以下内容,永久生效</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>export PATH=/root/tcl/unix/:\)PATH

[root@xuegod63 ~]# source  /etc/profile   #重新加载配置文件,使用配置生效

[root@xuegod63 ~]# echo \(PATH</strong></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><span style="font-size:17px;" data-v-2505e99a> </span></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>安装t</strong><strong style="font-size:17px;" data-v-2505e99a>cl</strong><strong style="font-size:17px;" data-v-2505e99a>lib</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# tar xf tcllib-1.20.tar.gz</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 ~]# cd tcllib-1.20/</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 tcllib-1.20]# https://www.bilibili.com/read/configure</strong></p><p data-v-2505e99a data-v-5b474d2a><strong style="font-size:17px;" data-v-2505e99a>[root@xuegod63 tcllib-1.20]# echo \)?

[root@xuegod63 tcllib-1.20]# make -j 4 &amp;&amp; make install

[root@xuegod63 tcllib-1.20]# echo $?

安装xfs_undelete

[root@xuegod63 tcllib-1.20]# cd

[root@xuegod63 ~]# unzip xfs_undelete-master.zip

[root@xuegod63 ~]# cd xfs_undelete-master/

[root@xuegod63 xfs_undelete-master]# https://www.bilibili.com/read/xfs_undelete -h    #查看帮助信息

挂载点创建一些测试文件,文件里要有内容,然后删除几个

[root@xuegod63 xfs_undelete-master]# cd


讯享网

[root@xuegod63 ~]# gdisk /dev/sdb

[root@xuegod63 ~]# mkfs.xfs /dev/sdb1

[root@xuegod63 ~]# mkdir /testsdb1

[root@xuegod63 ~]# mount /dev/sdb1 /testsdb1

[root@xuegod63 ~]# mkdir /testsdb1/kong

[root@xuegod63 ~]# touch /testsdb1/kong.txt

[root@xuegod63 ~]# cp /etc/passwd /testsdb1/

[root@xuegod63 ~]# cp /etc/passwd /testsdb1/kong

[root@xuegod63 ~]# echo &#34;hello world&#34; &gt; /testsdb1/hello.txt

[root@xuegod63 ~]# ls  /testsdb1

[root@xuegod63 ~]# rm -rf /testsdb1/*

[root@xuegod63 testsdb1]# cd

[root@xuegod63 ~]# umount /testsdb1

[root@xuegod63 ~]# cd xfs_undelete-master/

[root@xuegod63 xfs_undelete-master]# https://www.bilibili.com/read/xfs_undelete /dev/sdb1

[root@xuegod63 xfs_undelete-master]# cd xfs_undeleted/

[root@xuegod63 xfs_undeleted]# ls

[root@xuegod63 xfs_undeleted]# head 2021-06-08-11-02_68.txt

hello world

直接执行脚本首先会以只读的方式重新挂载,然后恢复,恢复的不是原文件名,但是内容是一样的。

注意需要进入目录才能看到

注意:不会恢复目录和空文件

也可以恢复数据到指定的目录

[root@xuegod63 xfs_undeleted]# cd ..

[root@xuegod63 xfs_undelete-master]# https://www.bilibili.com/read/xfs_undelete  -o /opt /dev/sdb1

4.4  实战:使用xmanager等远程连接工具管理Linux

4.4.1  Linux下常用远程连接工具介绍

4.4.2  xmanager 使用方法

安装以后打开

1、xshell使用方法

例1:连接一台新的服务器

例2:调整xshell字体大小

例3:调整rz和sz命令的默认路径

例4:解决Xshell中小键盘无法打出数字的问题

例5:解决Xshell不能使用退格、删除键的问题

2、xftp使用方法

例1:上传一个文件夹到Linux服务器上

3、xstart使用方法

方法1:使用xshell直接运行图形界面的程序

例1:[root@xuegod63 ~]# gnome-terminal

例2:[root@xuegod63 ~]# firefox &amp;

方法2:使用xstart调用桌面

注:使用MK给的xmanger5安装后,后期运行,提示更新到新版本, 你不要更新,更新,有可能序列号就不能使用了。

https://www.netsarang.com/zh/free-for-home-school/

也可以下载官方免费版

更多学习资料以及视频资料请移步至公众号【学神来啦】

小讯
上一篇 2025-05-10 09:05
下一篇 2025-05-16 14:46

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/189847.html