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

news/2024/7/6 3:06:26 标签: gzip, zip, vim

文章目录

  • 一、测试文件的准备工作-dd命令
    • 1、dd命令概念
    • 2、dd命令详解
  • 二、使用压缩和解压缩工具
    • 1、压缩和解压文件-zip>gzip和gunzip
    • 2、压缩和解压文件-bzip2和bunzip2
    • 3、压缩和解压文件或目录-zip命令
  • 三、使用tar归档和释放工具
    • 1、命令用途
    • 2、基本格式
    • 3、常用命令选项
    • 4、常用搭配
    • 5、解压还原归档
    • 5、sz命令和rz命令
  • 四、使用vi文本编辑器
    • 1、文本编辑器的作用
    • 2、常用的文本编辑器
    • 3、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文件

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

zip>gzipgunzip_21">1、压缩和解压文件-zip>gzip和gunzip

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

zip2bunzip2_61">2、压缩和解压文件-bzip2和bunzip2

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

zip_86">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:zip>gzip进行压缩
-j:bzip2进行压缩

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

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

实例

zip>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 :
zip>gzip -d a.tar.gz 解压缩
tar -xvf a.tar 还原归档
  • 文件解压归档的方式:
tar -zcf [目录文件.tar.gz] 源文件

实例

tar -zcf wuhuidong1.tar.gz wuhuidong1 :归档wuhuidong1以zip>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操作系统的默认文本编辑器
  • vimvim是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选项

在这里插入图片描述


http://www.niftyadmin.cn/n/1115349.html

相关文章

centos7最小化安装以后

1、最小化安装centos 7.4确认系统版本cat /etc/redhat-release 确认系统内核信息uname -aLinux localhost 3.10.0-862.2.3.el7.x86_64 #1 SMP Wed May 9 18:05:47 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux 2、配置网卡随机启动[rootcentos7 ~]# vim /etc/sysconfig/network-sc…

mysql数据类型之用 TINYINT(1) 还是 ENUM( 'true' , 'false')?

在以往的经验中,如果遇到需要抉择是否用mysql的enum数据类型时,我基本不用思考的就会放弃 ENUM()并用tinyint取而代之,原因就是我以前接触的哪些场景,均适合用tinyint,也即在第一次选择了tinyint后就再也没认真研究关注…

缠论中枢的判断以及应用(完整版)

我不是股神,更不是什么救世主! 我也没有那菩萨心肠去救苦救难,解救广大散户与水深火热之中不是我的职责所在! 救了他们,谁来救我呢? 他们不亏钱,我又去赚谁的钱呢? 看到的是缘分&…

linux基本命令(二)-ls、alias、du、mkdir、touch、ln、cp、rm、mv、which、find

文章目录一、 列表显示目录内容-ls1、基本格式:2、常用参数二、设置别名-alias1、基本格式2、使用方法3、更改别名写到文件里的方法三、统计目录及文件空间占用情况-du1、基本格式2、常用参数四、创建目录-mkdir1、基本格式2、常用选项五、创建空文件-touch1、基本格…

【tyvj1305】最大子序和

Description 输入一个长度为n的整数序列,从中找出一段不超过M的连续子序列,使得整个序列的和最大。例如 1,-3,5,1,-2,3当m4时,S51-237当m2或m3时,S516Input 第一行两个数n,m第二行有n个数,要求在…

Flink安装、高可用性

Flink JobManager HA模式部署(基于Standalone) SCP 命令 SSH免密码登录,搭建Flink standalone集群 https://blog.csdn.net/jiecxy/article/details/52357059 Flink入门之Standalone模式集群伪分布式搭建 https://blog.csdn.net/Dax1n/article…

this的几种使用场景

首先,this要在执行时才能确认值,定义时无法确认.而在es6的箭头函数中,this则是在定义时所在的对象 this对象有四种使用的场景: 第一种情况: 全局下this 由于全局下的变量是window的属性,函数是window的方法 所以 栗子: function fn1 (){ return this } console.log(fn1()) /…

Zabbix发现、自动注册和web监控

一、网络发现网络发现是zabbix最具特色的功能之一,它能能够根据用户事先定义的规则自动添加监控主机或服务等,Zabbix的网络发现功能可以基于:IP ranges、Availability of external services(FTP、SSH、WEB、POP3、IMAP、TCP、etc)、Informati…