Linux基本命令(四)目录与文件操作--压缩gzip和bzip2、tar归档、vi编辑器


一、测试文件的准备工作-dd命令

1、dd命令概念

在程序测试中,有些需要大量小文件或者大文件块,环境一时没有,这时候就可以用dd命令快速生成想要的文件场景指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

2、dd命令详解

实例:创建一个1000M大小的文件块

dd if=/dev/zero of=./wuhuidong bs=10M count=100
  • if :指定输入文件,如果不指定则从标准输入读取。实例/dev/zero是linux的伪文件,它可以创建不断的null流
  • of :指定输出文件,若不指定则输出到标准输出。实例目标文件名为,wuhuidong
  • bs :每次读写的字节数,单位为K、M、G。没有另外标注ibs,obs则说明两个参数值都使用bs配置值。 实例是bs 1G。说明每次读写都是1G
  • count :读取的文件块数。 实例是10次

实例的解释就是:从 /dev/zero中读取数据到 wuhuidong中,每次读取的大小是10M,总共读取10次。 最后生成1000M的wuhuidong文件

二、使用压缩和解压缩工具

1、压缩和解压文件-gzip和gunzip

  • gzip命令
    • 命令用途:压缩文件 , 不能压缩目录 , 压缩不保留原文件
    • 基本格式:gzip[选项] [文件名…]
    • 压缩格式:后缀名为“.gz”
    • 命令选项:
gzip [文件名] [文件名]:对多个文件进行压缩的时候,文件名中间空格
-c 源文件名 > 压缩文件名:压缩文件,保留源文件
-d [文件名.gz]:解压压缩文件
-9:压缩比例最大 压缩速度最慢 
-1 使用一级别压缩 压缩比例最少 压缩速度最快 //  默认1-9 不加级别默认是6级别
  • 实例1
gzip /opt/kk/lf:压缩 /opt/kk/lf下的文件
  • 实例2
    将/home 下的hello.txt压缩成gz
cd /home
gzip hello.txt
  • gunzip命令
    • 命令用途:解压缩文件,解压缩后压缩包会消失
    • 基本格式:gunzip [选项] [文件名.gz…]
    • 命令选项
-c [文件名.gz]:解压压缩文件保留源文件
  • 实例1
gunzip -c wuhuidong.gz:解压压缩文件wuhuidong并且保留源文件
  • 实例2
    将/home 下的hello.txt.gz解压缩
 cd /home
gunzip hello.txt.gz

2、压缩和解压文件-bzip2和bunzip2

  • bzip2命令
    • 命令用途:压缩文件,不能压缩目录
    • 基本格式:bzip2 [选项] [文件]
    • 压缩格式:后缀名为:.bz2
    • 命令选项
-k [文件名]:压缩文件保留源文件
-d [文件名]:解压缩文件
  • 实例
bzip2 -k wuhuidong:保留wuhuidong源文件并进行压缩
bzip2 -d wuhuidong.bz2:解压压缩文件wuhuidong.bz2
  • bunzip2命令
    • 命令用途:解压缩文件
    • 基本格式:bunzip2 [选项] [文件名.bz2]
    • 命令选项
-k [文件名]:解压缩保留源文件

3、压缩和解压文件或目录-zip命令

  • zip命令
    • 命令用途:将指定文件或者目录压缩成zip包
    • 基本格式:zip [压缩文件] [源文件]
    • 命令选项
-r 递归压缩
-v:显示执行过程
  • 实例1
zip test11.zip test11:压缩文件test11
  • 实例2
    将/home 下的所有文件压缩成mypkg.zip
cd /home
zip mypkg.zip -r /home 
  • unzip命令
    • 命令用途:将指定的zip包解压缩
    • 基本格式:unzip [选项][压缩文件]
    • 压缩格式:后缀名为.zip
    • 命令选项
-d 指定解压缩文件存放路径
  • 实例
    将mypkg.zip解压缩到/opt/tmp 目录下
cd /home
unzip mypkg.zip -d    /opt/tmp

三、使用tar归档和释放工具

1、命令用途

用于归档压缩文件,一般和压缩命令一起使用;打包后的文件是.tar.gz或者.tar.bz2.

2、基本格式

tar [选项]... 归档文件名 源文件或目录
tar [选项]... 归档文件名 [-c 目标目录]

3、常用命令选项

-c:创建一个新的打包文件 
-v:显示详情:将压缩、解压缩过程中处理的文件名输出到屏幕
-f:指定一个文件名,此选项放在最后
-x:还原归档;解打包或解压缩的功能

-z:gzip进行压缩
-j:bzip2进行压缩

-C:后面接要解压缩的特定目录
-t:只查看压缩文件的内容
-p:保留档案的原本权限和属性,主要是备份重要文件的时候使用
-P(大写):是否保留根目录/,一般不用

在tar命令里面,选项的“-”可以不加

实例

gzip a.tar:目录a归档并压缩
tar -cvf wuhuodong.tar wuhuidong 建立一个归档wuhuidong.tar,并显示刘春;保留源文件
tar -xvf wuhuidong.tar :还原归档
tar -xvf liuchun.tar -C /tmp:把liuchun.tar归档到tep文件下

4、常用搭配

  • 归档:-czvf
  • 还原:-xzvf

5、解压还原归档

  • 目录解压归档方式:需要先解压再归档;
    实例
    解压归档目录a.tar.gz :
gzip -d a.tar.gz 解压缩
tar -xvf a.tar 还原归档
  • 文件解压归档的方式:
tar -zcf [目录文件.tar.gz] 源文件

实例

tar -zcf wuhuidong1.tar.gz wuhuidong1 :归档wuhuidong1以gzip的方式压缩
  • 压缩归档为当前时间文件
tar zcvf e`date +%Y%m%d-%H%M%S`.tar.gz e:对文件e压缩归档为当前时间

在这里插入图片描述

5、sz命令和rz命令

  • 借助XShell,使用linux命令sz,可以很方便地将服务器上的文件下载到本地;使用rz命令,则是把本地文件上传到服务器。
  • sz:将选定的文件发送(send)到本地机器
    实例
    文件从shell传出到桌面:sz test.tar.gz
    在这里插入图片描述
  • rz:服务器接收(received)来自客户端的文件
    直接输入‘rz’,运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
    在这里插入图片描述

四、使用vi文本编辑器

1、文本编辑器的作用

  • 创建或修改文本文件
  • 维护Linux系统中的各种配置文件

2、常用的文本编辑器

  • vi:类UNIX操作系统的默认文本编辑器
  • vim:vim是vi文本编辑器(一般简称为vi编辑器)的增强版本

3、vi编辑器的工作模式

在这里插入图片描述

  • 命令模式–输入模式:i、o…
  • 输入模式–命令模式:Esc键
  • 命令模式–末行模式:冒号
  • 末行模式–命令模式:两次Esc键

*需注意一点:
改系统和服务的配置文件,首先复制备份文件

cp -p .bashrc .bashec.bak

- 命令模式:进入编辑前,刚进入的界面

跳转:
end键或者$键:跳转到行尾
0或者^或者home键:跳转到行首
数字+enter:就是光标向下跳几行
gg:光标跳到首行
G:光标跳到最后一行
#G:跳到第#行
替换:
r:替换光标所在处单个字符,按一下r再按一下需要替换的字符即可
复制:
yy:复制一行
数字+yy:复制几行,比如4yy,复制4
粘贴
p:在光标下一行粘贴
P:在光标上一行粘贴
删除
dd:删除/剪切当前行
数字+dd:从光标当前行向下删除/剪切;3dd:从光标当前往下删除3行
若要撤销删除,p就可恢复,因为dd也是剪切的意思
17,19dd:17行开始删除19行
x或Del:删除光标所在的字符
dw:删除光标所在的单词
#dd:删除从光标所在行开始的#行内容
d^:删除当前光标之前到行首的所有字符
d$:删除当前光标到行尾的所有字符
撤回
u:撤销刚才操作的命令
U:复原前一个动作
退出:
ZZ:如果文件没有做修改直接退出,做了修改则保存退出
  • 输入模式:开始编辑文字
a:在光标之后插入
i:在光标之前插入
o:在光标下一行插入
O:在光标的上一行插入
I:跳到行首插入
A:跳到行尾插入
esc:回到命令模式
  • 末行模式:保存、退出、搜索、替换等操作时的模式;”:“代表进入此模式
显示行号
set nu :显示行号
set nonu:取消显示行号
set nu!:取消显示行号
删除
:1,$d:删除所有行
:%d:删除所有行
17,19d:删除1719
查找
:/n:查询内容有n的内容,光标会跳到下一个包含n的单词上面;
n:往下翻
N:往上翻  
:?n:查询内容有n的内容,光标会跳到上一个包含n的单词上面
:nohl:取消高亮,因为搜索会高亮
保存文件及退出vi编辑器:
:w:保存
:w /root/newfile:另存为其他文件,文件可以是不存在的
:wq或:x:保存退出
:q!:不保存退出
:q:未修改退出
:wq!:保存文件并退出
打开新文件或读入其他文件内容:
:r /etc/hosts:在当前文件中读入其他文件内容
:e /root/xx:打开新的文件进行编辑;  打开新文件之前要保存源文件
文件的内容替换
:s /liuchun/home:光标所在行第一个liuchun替换成home
:s /liuchun/home/g:光标所在行所有的liuchun替换成home
:%s /liuchun/home/g:加“g”,代表所有内容;所有内容liuchun都替换成home
:1,10s/f/m/g:从1行到10行f 全替换成m
:10,$/f/m/g:10行到最后一行f 全替换成m
:1,10s/f/m/gc:从1行到十行f 替换成m;加“c”会提示是否都替换;按y或n确认是否替换,每个g都会提问;如果想要全部一次性替换用a选项

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值