Linux 中文件压缩方法与tar打包详解

文件压缩

压缩方式有三种:

  • zip
  • gzip
  • bzip

对应的三种解压方式:

  • unzip
  • gunzip
  • bunzip
  1. zip压缩,解压
    zip file.zip file -->将file压缩为file.zip
    unzip file.zip–>将file.zip解压
    使用zip压缩方法,得到压缩文件的后缀名为.zip
[root@xiaoagiao file3]# ls
file
[root@xiaoagiao file3]# zip file.zip file
  adding: file (stored 0%)
[root@xiaoagiao file3]# ls
file  file.zip

[root@xiaoagiao file3]# ls
file.zip
[root@xiaoagiao file3]# unzip file.zip
Archive:  file.zip
 extracting: file
[root@xiaoagiao file3]# ls
file  file.zip
  1. gzip压缩,解压。
    gzip file.gz file–>将file压缩为file.gz
    gunzip file.gz -->将file.gz解压
    使用zip压缩方法,得到压缩文件的后缀名为.gz

  2. bzip2压缩解压。
    bzip2 file.bz2 file–>将file压缩为file.bz2
    bunzip file.bz2 -->将file.bz2解压

文件打包

tar 打包

选项:

-c 建立压缩打包文件
-x 解压
-t 查看压缩包中的内容
-r 向包中追加新的文件
-u 更新包中文件
-A 归档

压缩选项

-z 以 gzip格式压缩
-j 以bz2格式压缩
-J 压缩为后缀为.xz格式文件
-v 显示压缩过程
-o 文件解压后到标准输出
-N[date file] somedir 指定需要打包的目录。打包指定目录中比date时间或者比file时间更新的文件。

必要选项:-f --> 选项的最后一个,后面要接的是压缩文件名。

  • tar -cvf file.tar /tmp - ->将/tmp目录下的所有文件打包命名为file.tar
[root@xiaoagiao tmp]# ls
aa  as    file1  file3  log  
ac  file  file2  fstab  tmp
[root@xiaoagiao tmp]# tar -cvf  file.rar /tmp
//将/tmp目录下的所有文件打包命名为file.tar

[root@xiaoagiao tmp]# ls
aa  as    file1  file3     fstab  tmp
ac  file  file2  file.rar  log   
//生成一个名字为filr.tar的包,不过并没有被压缩。
  • tar -zcvf file.tar.gz /tmp–>将/tmp目录下的所有文件打包并且以gizp格式压缩,生成一个名字为file.tar.gz的压缩包。
[root@xiaoagiao tmp]# ls
aa  as    file1  file3     fstab  tmp
ac  file  file2  file.rar  log   
[root@xiaoagiao tmp]# tar -zcvf file.tar.gz /tmp
//将/tmp目录下的所有文件打包并且以gizp格式压缩,生成一个名字为file.tar.gz的压缩包

[root@xiaoagiao tmp]# ls
aa  file   file3        fstab  
ac  file1  file.rar     log
as  file2  file.tar.gz  tmp
//生成了一个压缩包,file.tar.gz。
  • tar -tf file.tar -->查看file.tar中的内容。
[root@xiaoagiao file3]# ls
aa  file  file1  file2  file.tar

[root@xiaoagiao file3]# tar -tf file.tar
tmp/file3/
tmp/file3/file1
tmp/file3/aa
tmp/file3/file2
tmp/file3/file
tmp/file3/.file/
  • tar -rf file.tar newfile -->向包中,添加新的文件。
[root@xiaoagiao file3]# touch newfile
[root@xiaoagiao file3]# tar -rf file.tar newfile
[root@xiaoagiao file3]# tar -tf file.tar
tmp/file3/
tmp/file3/file1
tmp/file3/aa
tmp/file3/file2
tmp/file3/file
tmp/file3/.file/
newfile
// 将文件newfile添加到包file.tar中。

  • tar -uf file.tar newfile -->文件更新,就是将修改后的新文件。再次放入包中。
  • tar -N 2020/03/12 -zcvf file.tar.gz /tmp -->打包压缩目录/tmp下,时间为2020/03/12 之后的文件。
发布了20 篇原创文章 · 获赞 15 · 访问量 1938

猜你喜欢

转载自blog.csdn.net/wdwangye/article/details/104892035