文本编辑工具Vim、文档的压缩与打包
今天学了第七八章,下面我们开始。
7.1 Vim的3钟常用模式
7.1.1 一般模式
直接用 vim +文件名进行编辑就是进入一般模式
移动光标的参数:
h或向左的方向键 光标向左移动一个字符
l(小写字母l)或者
向右方向的方向键 光标向右移动一个字符
k或者向上的方向键 光标向上移动一个字符
j或者向下的方向键 光标向下移动一个字符
Ctrl+B 文本页面向前翻一页
Ctrl+F 文本页面向后翻一页
数字0或者Shift+6 移动到本行行首
Shift+4 移动到本行行尾
gg 移动到首行
G 移动到尾行
nG(n是任意数字) 移动到第n行
删除、复制、粘贴的参数:
x和X x表示向后删除一个字符,X表示向前删除一个字符
nx 向后删除n个字符
dd 删除/剪切光标所在的那一行
ndd(n为number的缩写) 删除/剪切光标所在行之后的n行
yy 复制光标所在行
p 从光标所在行开始,向下粘贴已经复制或者粘贴的内容
P 从光标所在行开始,向上粘贴已经复制或者粘贴的内容
nyy 从光标所在行开始,向下复制n行
u 还原上一步操作
v 按v后移动光标会选中指定字符,然后可以实现复制、粘
贴等操作
7.1.2 编辑模式
进入编辑模式的参数:
i 在当前字符前插入
I 在光标所在行的行首插入
a 在当前字符后插入
A 在光标所在行的行尾插入
o 在当前行的下一行插入新的一行
O 在当前行的上一行插入新的一行
7.1.3 命令模式
命令模式参数:
/word 在光标之后查找一个字符串word,按n向后继续搜索
?word 在光标之前查找一个字符串word,按n向后继续搜索
:n1,n2s/word1/word2/g 在n1和n2行之间查找word1并替换word2,不g加则之
替换每行的第一个word1
:1,$s/word1/word2/g 将文档中所有的word1替换为word2,不g加则之
替换每行的第一个word1
命令模式的其他功能参数:
:w 保存文本
:q 退出Vim
:w! 强制退出,在root用户下,即使文本只读也可以完成保存
:q! 强制退出,所有改动不生效
:wq 保存并退出
:set nu 显示行号
:set nonu 不显示行号
7.2 Vim实践
直接来实践25道题:
(1)分别向下、向上、向左、向右移动6个字符(6j 6k 6h 6l)
(2)分别向下、向上翻两页(分别按两次Ctrl+F和Ctrl+B)
(3)把光标移动到第49行(49G)
(4)把光标移动到行尾,再移动到行首(Shift+4,Shift+6)
(5)移动到test.txt文件的最后一行(G)
(6)移动到文件的首行(gg)
(7)搜索文件中出现的dnsmasq字符串出现的次数(输入/dnsmasq,然后按n)
(8)把从第1行到第10行出现的dnsmasq替换成dns(:1,10s/dnsmasq/dns/g)
(9)还原上一步操作(u)
(10)把整个文件中所有的etc替换成cte(:1,$s/etc/cte/g)
(11)把光标移动到第25行,删除字符串ly(输入25G后回车,然后按j向右移动光标找到ly,按v选中,然后按x)
(12)还原上一步操作(u)
(13)删除第50行(50G dd)
(14)还原上一步操作(u)
(15)删除37行至42行的所有内容(37G 6dd)
(16)还原上一步操作(u)
(17)复制第48行的内容并将其粘贴到第52行下面(48G yy 52G p)
(18)还原上一步操作(u)
(19)复制第37行至42行的内容并将其粘贴到44行上面(37G 6yy 44G P)
(20)还原上一步操作(u)
(21)把第37行之42行的内容移动到第19行下面(37G 6dd 19G p)
(22)还原上一步操作(u)
(23)把光标移动到首行,把第1行内容改为#!/bin/bash(先按gg,把光标定位到第一行,然后按字符A,进入编辑模式,同时将光标移动到行末尾进行修改操作,完成后按Esc键)
(24)在第一行下面插入新的一行,并输入#Hello!(按o进入编辑模式,同时将光标下移另起一行,输入#Hello!)
(25)保存文档并退出(按Esc ,输入:wq)
8.1 gzip压缩工具
gzip命令的格式为gzip[-d#] filename,其中#为1~9的数字
d:该参数在解压时使用
#:表示压缩等级,1为最差,9为最好,6为默认
举个实例:
gzip后面直接跟文件名,表示在当前目录下压缩该文件,而原文件也会消失。解压该压缩文件的方法如下:
命令gzip -d 后面跟压缩文件表示解压压缩文件。gzip不支持压缩目录,压缩目录时会报错,如下所示:
8.2 bzip2压缩工具
bzip2命令的格式为bzip2[-dz] filename,它只有-z(压缩)和-d(解压缩)两个常用项。压缩级别有1~9,默认级别是9。压缩时,加或不加-z选项都可以压缩文件。示例命令如下
bzip2命令也不可以压缩目录,压缩目录时会报错,如下所示:
8.3 xz压缩工具
xz命令的格式为xz [-dz]filename,和bzip2类似,这里介绍-z 和-d两个参数。
xz命令同样也不可以压缩目录,压缩目录时会报错,如下所示:
8.4 tar打包工具
该命令的格式为tar[-zjxcvfpP] filename tar,它有多个选项:
-z:表示同时用gzip压缩
-j:表示同时用bzip2压缩
-J:表示同时用xz压缩
-x:表示解包或者解压缩
-t:表示查看tar包里的文件
-c:表示建立一个tar包或者压缩文件包
-v:表示可视化
-f:后面跟文件名(即-f filename,表示压缩后的文件名为filename,或者解压文件filename)
-p:表示使用原文件的属性,压缩前什么属性压缩后就什么属性。
-P:表示可以使用绝对路径。
–exclude filename:表示在打包或压缩时,不要将filename文件包括在内
示例如下:
tar命令不仅可以打包目录,也可以打包文件,打包时可不加-v选项,表示不可视化。
8.4.1 打包的同时使用gzip压缩
tar目录非常好用的一个功能就是可以在打包时直接压缩,它支持gzip压缩、bzip2压缩、和xz压缩。使用-z选项,可以压缩成gzip格式的文件,示例如下:
使用-tf选项,可以查看包或者压缩包的文件列表,示例如下:
使用-zxvf选项,可以解压tar.gz格式的压缩包。示例如下:
8.4.2 打包时同时使用bzip2压缩
这个什么类似
8.5 使用zip压缩
zip压缩包在window和Linux中都比较常用,它可以压缩目录和文件,压缩目录时,需要指定目录下的文件。
说明:zip后面先跟目标文件名,即压缩后的自定义压缩包名,然后跟要压缩的文件或目录。