其他分享
首页 > 其他分享> > day23文件压缩

day23文件压缩

作者:互联网

目录


day23文件压缩


压缩包格式

windows
.zip
.tar
.tar.gz
.gz
------------
.rar
.7z
.bz
.bz2
.xz


为什么要使用压缩

文件或目录太大,需要压缩传输
以后学的服务安装包都需要解压

压缩格式以及命令

格式 Linux命令
.zip zip
.gz gzip
.tar tar
.tar.gz tar、gzip

压缩命令-gzip

# 安装gzip命令
✓ 16:58:35 root@localhost.localdomain,10.0.0.167:~ # yum install -y gzip

# gzip命令的使用
gzip  普通文件名
-r :递归压缩

# 特性
1.压缩文件后,源文件不存在
2.只能压缩文件,不能压缩目录
3.压缩后,压缩包位置在源文件的目录下
4.压缩后可以直接查看文件位置zcat
5.一个压缩包里面,只会有一个文件
6.解压后,压缩包没了,只剩源文件

# 解压命令
gzip -d 压缩包名

压缩命令-zip

# 安装zip或unzip命令
yum install -y zip
yum install -y unzip

# .zip命令
zip命令   压缩包名           文件
# zip     yasuo     ./1.txt anaconda-ks.cfg file1

# 压缩并指定位置
✓ 17:14:04 root@localhost.localdomain,10.0.0.167:~ # zip /srv/yasuo. 1.txt anaconda-ks.cfg file1

# 特性
1.压缩文件后,源文件存在
2.可以指定压缩后保存的路径
3.可以压缩目录,也可以压缩文件,也可以指定多个文件一起压缩
4.压缩目录需要加选项,如果不加,压缩后,只有一个空目录,没有里面的文件
5.解压后,压缩包不会消失,如果同一目录下出现同名文件则会询问是否要覆盖

# 选项 
-r:递归压缩,包括目录下的所有文件
17:19:48 root@localhost.localdomain,10.0.0.167:~ # mkdir hjx
✓ 17:26:27 root@localhost.localdomain,10.0.0.167:~ # touch ./hjx/hjx1
17:27:56 root@localhost.localdomain,10.0.0.167:~ # zip -r hjx.zip hjx/
  adding: hjx/ (stored 0%)
  adding: hjx/hjx1 (stored 0%)
  
# 解压命令
unzip  压缩包名
 17:29:24 root@localhost.localdomain,10.0.0.167:~ # unzip hjx.zip 
Archive:  hjx.zip
replace hjx/hjx1? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
 extracting: hjx/hjx1   
 
 -l:查看压缩包里面都有哪些文件
 17:34:38 root@localhost.localdomain,10.0.0.167:~ # unzip -l hjx.zip 
Archive:  hjx.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  04-18-2022 17:26   hjx/
        0  04-18-2022 17:26   hjx/hjx1
---------                     -------
        0                     2 files

-d:指定解压路径
17:38:17 root@localhost.localdomain,10.0.0.167:~ # unzip ./hjx.zip -d /srv
Archive:  ./hjx.zip
   creating: /srv/hjx/
 extracting: /srv/hjx/hjx1 

压缩命令-tar

tar命令本身是归档

# 选项:
c:归档
f:指定包名
z:使用gzip把归档文件压缩
v:显示压缩/解压的过程
x:解压归档文件
C:指定解压的位置(路径)
t:查看压缩包里的文件都有哪些
j:使用bzip2压缩文件
J:压缩成.xz的包
X:排除指定的文件
--exclude:排除指定文件

# zcf举例                                           命令  选项   压缩名      文件名   
 18:02:03 root@localhost.localdomain,10.0.0.167:~ # tar zcf    tmp2.tar.gz  /tmp
 
 1)先归档18:02:03 root@localhost.localdomain,10.0.0.167:~ # tar cf tmp2.tar /tmp
 2)再使用18:02:03 root@localhost.localdomain,10.0.0.167:~ #gzip tmp2.tar
 
 # X举例
 ✓ 18:11:49 root@localhost.localdomain,10.0.0.167:~ # tar zcf /srv/paichu1.txt -X hjx.txt ./

# --exclude举例
root@localhost.localdomain:~ # tar zcf paichu2 --exclude=hjx1 --exclude=hjx2 /tmp

# 特性
1.压缩文件后,源文件存在
2.目录和文件都可以压缩 
3.压缩后,压缩包的位置可以指定任意目录
[root@localhost ~]# tar zcf /usr/local/zls.tar.gz /etc /opt /tmp
4.可以查看压缩包里有哪些文件,但是查看不了文件内容
[root@localhost ~]# tar tf /usr/local/zls.tar.gz
5.一个压缩包中,可以有多个文件或目录 
6.解压后,压缩包还在,源文件也可以随意指定路径 -C 
7.使用zcf压缩,zxf解压 
  使用jcf压缩,jxf解压
  使用Jcf压缩,Jxf解压
  
  万能解压命令:xf
  
# 注意:
1.tar命令在解压开文件时,如果有文件名冲突,则不会询问,直接覆盖
2.tar命令,在打包时,会自动删除绝对路径的"/"
3.以后打包,尽量使用相对路径,cd到需要打包目录或文件的上级目录
[root@localhost ~]# cd /
[root@localhost /]# tar zcf /usr/local/src/opt.tgz opt/

思维导图

标签:文件,tar,zip,压缩,hjx,day23,root,localhost
来源: https://www.cnblogs.com/hjx1218/p/16161113.html