打开安装目录是什么意思(打开安装目录怎么看哪个是安装包)

打开安装目录是什么意思(打开安装目录怎么看哪个是安装包)本人从事 IT 行业已有十多年 有着丰富的实战经验 总结了大量的学习方法 更是积累了很多的学习资料 很高兴能在这里跟大家交流学习 希望能在这里跟大家共同进步和成长 全套视频学习资料链接 本节所讲内容 4 1 vim 的使用 4 2 实战 恢复 ext4 文件系统下误删除的文件 4 3 实战 使用 x fs undelete 恢复误删除文件 4 4 实战

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



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

全套视频学习资料链接:

 

本节所讲内容:

  4.1  vim的使用

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

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

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

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>反引号,esc按键下的键,反引号中可执行命令</strong></strong></p><p><strong><strong>[root@</strong><strong>xuegod63</strong><strong> ~]# rpm -qf </strong><strong>$</strong><strong>(which vi)   #</strong><strong>$</strong><strong>(</strong><strong>可执行命令</strong><strong>)</strong></strong></p><p><strong><strong>$</strong><strong>() </strong><strong>与` 都可以进行命令替换,命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行

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 替换

1、光标定位

hjkl  左下上右

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

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

[root@xuegod63 ~]# echo \(?</strong></p><p><strong>时间很长</strong></p><p><br></p><p><strong><strong>使t</strong><strong>clsh</strong><strong>全局生效加入p</strong><strong>ath</strong><strong>变量</strong></strong></p><p><strong><strong>[root@xuegod63 ~]# mv </strong><strong>/</strong><strong>root/tcl8.6.11 /root/tcl</strong></strong></p><p><strong><strong>[root@xuegod63 ~]# vim /etc/profile</strong><strong>  # 在文件最后追加以下内容,永久生效</strong></strong></p><p><strong>export PATH=/root/tcl/unix/:\)PATH

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

[root@xuegod63 ~]# echo \(PATH</strong></p><p><br></p><p><br></p><p><strong><strong>安装t</strong><strong>cl</strong><strong>lib</strong></strong></p><p><strong>[root@xuegod63 ~]# tar xf tcllib-1.20.tar.gz</strong></p><p><strong>[root@xuegod63 ~]# cd tcllib-1.20/</strong></p><p><strong>[root@xuegod63 tcllib-1.20]# https://www.bilibili.com/read/cv/configure</strong></p><p><strong>[root@xuegod63 tcllib-1.20]# echo \)?

[root@xuegod63 tcllib-1.20]# make -j 4 && 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/cv/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 “hello world” &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/cv/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/cv/xfs_undelete  -o /opt /dev/sdb1

安装以后打开

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 &

方法2:使用xstart调用桌面

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

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

也可以下载官方免费版

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

小讯
上一篇 2025-05-29 09:28
下一篇 2025-04-24 07:44

相关推荐

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