我们继续接着上篇和大家说说Linux中对目录和文件管理所使用的命令的操作:
此处需要用到的软件有安装好CentOS 7的VMware虚拟机和已经连接过CentOS 7的Xshell远程控制终端。
我们打开VMware中的CentOS 7登录到root账户,我们打开终端之后先安装一下httpd的服务,因为此次实验中我们需要用到其中的配置文件,具体命令如下:yum install httpd

  • 此时我们敲回车进入此文件之后发现里面的内容有很多,此处一共有353行,一个屏幕无法同时承载这么多行,此时如果我们使用:cat /etc/httpd/conf/httpd.conf这条查看命令,此时我们只能看到尾部的内容,因为此时我们处在图形化界面的终端,所以可以友好的让我们使用鼠标的滚轮可以上下滚动界面查看内容
  • 但是现实环境中我们有可能不会遇上这种图形化界面的环境,而是init 3的字符界面终端,此时我们输入账户:root,密码:123123,在输:cat /etc/httpd/conf/httpd.conf进入到刚刚我们看到的配置文件中,此时我们是无法使用鼠标的滚轮实现上下翻页的功能的:
  • 此时如果读取的文件中内容过多,不能同时承载太多行,字符界面终端进行处理时,只能看到末尾的内容,这时我们就可以使用到more这条命令来进行处理了。
    输入:more /etc/httpd/conf/httpd.conf,这时进入的是一种阅览的模式,它会从头开始显示,然后在行末显示出此段位于文章篇幅的%多少的位置:

    接下来我们还可以如下操作:
  • 按回车逐行翻滚动
  • 按空格向下翻一屏(随着页数的翻动篇幅位置的百分比也会跟着变化
  • 按b向上翻页
    我们一直空格翻页到94%的位置,再次按空格,本来应该下面还有一页的,但是此时自动退出了, 得到如下界面:

    接下来我们还可以如下操作:
  • 按page up和page down上下翻页
  • 按b上页
  • 按空格下一页
  • 按/可以查找,例如:server,它会把所有带这个单词的都给列出来
  • 按n会针对查找到的词进行逐个向下匹配
  • 按N会针对查找到的词进行逐个向上匹配
  • 按空格(一直按),到最末页他不会直接退出,会在末行显示END提示结束,此时我们按b是可以进行回看的
  • 按q退出此模式

接下来的headtail命令是按行进行查询的,一般我们在需要查看账户账号信息的时候需要用到,接下来我们进行试验(提前将Xshell与centos 7连接好),进入Xshell的界面:
查询账户文件的话输入:vim /etc/passwd,得到如下图:

结论:直接用gzip或bzip2格式创建压缩包时,一旦创建压缩包之后,源文件就会消失

解压的操作如下:
第一步:输入:gzip -d http01.txt.gz敲回车,这时候解压缩完成
第二步:输入:ls敲回车,这个时候我们可以看到httpd01.txt.gz格式的压缩包从目录中消失,此时http01.txt的文件已经被解压出来,过程结果如下图:

总结:直接用gzip -d/9或bzip2 -d/9格式解压缩包时,一旦文件被解压出来之后,压缩包就会消失

那么我们用什么样的方法才能像微软一样,使源文件不消失呢?
此时我们就要用到归档命令,tar命令
例如此时我们要把目录下刚刚的httpd01.txt换成gzip格式:
第一步:输入:tar czvf httpd.tar.gz httpd*.txt,此时就将目录下的httpd开头的txt文件一起打到了压缩包里

第二步:输入:ls,可以看到三个源文件没有消失,而且压缩包创建成功,过程和结果如下图:

我们再对此压缩包进行解压到data目录下
第一步:输入:tar zxvf httpd.tar.gz -C /data/敲回车,此时三个txt文件被解压到了data目录下
第二步:输入ls /data/敲回车,此时我们就可以看到三个文件在目录中,过程和结果如下图:

那么如果创建bzip2的压缩包步并解压缩到data目录中的操作骤如下:

接下来就是最重要的vi编辑器:

我们接着之前的实验文档进行操作,
输入:vim httpd01.txt,此时我们敲回车进入的是文本的命令模式:

此时我们怎么在命令模式下进入输入模式呢?
我们以光标所在点的英文字母“S”为参考点
1.输入:a,末行显示插入,此时进入插入模式,输入内容abc,内容插入在S之后
按Esc退出到命令模式
2.光标回到“S”输入“i”,此时进入插入模式,输入内容abc,内容插入在S之前
按Esc退出到命令模式
3.光标回到“S”输入“o”,此时进入插入模式,输入内容abc,内容插入在S的下一行
按Esc退出到命令模式
4.光标回到“S”输入“O”,此时进入插入模式,输入内容abc,内容插入在S的上一行
按Esc退出到命令模式
此时我们将光标移动到英文字母“R”处作为参考点:

  • 跳转到行首:按数字0或Home按键
  • 跳转到行尾:按符号$或者按End按键
  • 跳转到最后一行:按大写G
  • 跳转到第54行:按54G
  • 跳转到第103行:按103G
  • 跳转到屏幕的中间行:按大写M
    复制、粘贴、删除的操作如下:
  • 光标在第一行所在位置,想删除单个字符:按x或者Delete
  • 删除整行:按dd
  • 删除1-3行:按3dd
  • 删除到行首:按d^
  • 删除到行尾:按d$
  • 删除单词:按dw
  • 复制一行:按yy,再粘贴,按:p
  • 复制三行:按3yy,找到位置再粘贴,按:p
  • 上下两行对调位置:ddp(dd是剪切,p粘贴在下一行)
    文件内容查找和撤销编辑及保存退出的操作如下:
    回到刚才的界面,查找文件中的Directory这个单词,
    输入:/Directory就是自上而下查找出文本中有这个单词的地方,此时再按n就是向下寻找,按N就是向上寻找
    输入:?Directory就是自下而上的查找, 按N就是向上寻找
    如果我们使用dd,对其中的行进行了删除,此时我们想恢复就是不保存退出,按U就是恢复所有操作,或者输入::q!
    如果此时我们想保存退出,在末行模式的情况下输入::wq,或者在命令模式按ZZ就可以保存退出了
    替换行间内容:按Shift+r,此时我们输入192.168.10.10它会替换原来的内容,当我们按Dtlete的时候它又会恢复成原来的内容,如下图所示:

    这时我们得到两个新的文件,进入编辑:
  • 输入:vim test02.txt进入到编辑,如果中途想切换到test02
  • 输入::号进入末行模式,再接着e test02.txt敲回车就进入了tst02中
  • 此时我们在test01中,我们想把test02中的内容复制到test01里:
  • 输入::号进入末行模式,再接着r test02.txt敲回车就把test02中的文字复制到了tst01中

接下来我们还是使用之前test01.txt,此处进行文件替换的操作:
首先进入文档中编辑其中一行内容为this this this is test01,并且粘贴到下面所有行
此时我想修改光标所在行第一个单词“this”改为“the”,输入::s .this/the/
此时我想修改光标所在行剩余两个单词“this”改为“the”,输入::s .this/the/g
只替换9-15行的所有单词“this”改为“the”,输入::9,15 s .this/the/g

以上就是所有Linux中的目录和文件管理的基本操作实验,谢谢大家!