700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 压缩解压缩工具(gzip/gunzip bzip2/bunzip2 zip/unzip xz)和打包命令(tar)

压缩解压缩工具(gzip/gunzip bzip2/bunzip2 zip/unzip xz)和打包命令(tar)

时间:2022-07-10 08:23:52

相关推荐

压缩解压缩工具(gzip/gunzip bzip2/bunzip2 zip/unzip xz)和打包命令(tar)

压缩、解压、打包命令

gzip、gunzip命令1.用途/注意:2.命令的使用格式:3.gzip和gunzip实例: bzip2、bunzip2命令1.用途、注意:2.命令使用:3.bzip2和bunzip2实例: zip、unzip命令1.用途、注意:2.命令的使用格式:3.zip、unzip实例: xz命令:1.用途、注意:2.使用格式:3.xz命令使用实例: tar命令:1.用途、注意:2.命令格式:3.tar命令实例:

-----windos可以解压所有linux系统的文件压缩包,但linux不一定能够全部解压windos的------

打包和压缩:

打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip

bzip2命令)。linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩。

gzip、gunzip命令

1.用途/注意:

gizp命令用来压缩文件,文件格式为*.gz;该命令只能压缩文件,而不能压缩目录,压缩文件会在源文件的文件名后自动添加".gz"。gunzip命令实际上功能和"gzip -d"一样。gzip和gunzip命令不论是压缩还是解压缩文件后,都不保留原文件。

2.命令的使用格式:

注意:gunzip=gzip -d(可以看/sur/bin/gunzip文件)

#gzip [OPTION]… [FILE]…

[OPTION]:

-f或–force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。

-d:解开压缩文件。

-r或–recursive 递归处理(压缩/解压缩),将指定目录下的所有文件及子目录下的文件…都单独压缩为.gz格式。

-h:在线帮助;

-l或–list:列出压缩文件的相关信息。

-L或–license:显示版本与授权信息。

-n或–no-name 压缩文件时,不保存原来的文件名称及时间戳记。

-N或–name 压缩文件时,保存原来的文件名称及时间戳记。

-t或–test 测试压缩文件是否正确无误。

-v或–verbose 显示指令执行过程。

-V或–version 显示版本信息。

#gunzip [OPTION]… [FILE]…

[OPTION]:

-f或–force:强行解开压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。

-r或–recursive 递归处理,将指定目录下的所有文件及子目录下的文件…一并处理。

-h:在线帮助;

-l或–list:列出压缩文件的相关信息。

-L或–license:显示版本与授权信息。

-n或–no-name 解压缩文件时,不保存原来的文件名称及时间戳记。

-N或–name 解压缩文件时,保存原来的文件名称及时间戳记。

-t或–test 测试压缩文件是否正确无误。

-v或–verbose 显示指令执行过程。

-V或–version 显示版本信息。

查看gzip格式的压缩文件内容:

#zcat a.txt.gz

3.gzip和gunzip实例:

压缩文件a.txt[root@centos7 test]#lsa.txt[root@centos7 test]#gzip a.txt [root@centos7 test]#lsa.txt.gz压缩目录testdir目录下的所有子文件[root@centos7 test]#tree.└── testdir├── adir│ └── a1.txt├── bdir├── f1.txt└── f2.txt3 directories, 3 files[root@centos7 test]#gzip -r /root/test/testdir[root@centos7 test]#tree.└── testdir├── adir│ └── a1.txt.gz├── bdir├── f1.txt.gz└── f2.txt.gz3 directories, 3 files解压缩testdir目录下的所有被压缩的以.gz结尾的压缩文件。[root@centos7 test]#gunzip -r testdir //或gizp -dr testdir[root@centos7 test]#tree.└── testdir├── adir│ └── a1.txt├── bdir├── f1.txt└── f2.txt3 directories, 3 files

bzip2、bunzip2命令

1.用途、注意:

bzip2、bunzip2命令是压缩/解压缩的.bz2文件格式包。只能压缩/解压文件,不能支持目录。bzip2命令是gzip的升级版,都是压缩文件。且非常适合压缩一些大型文件。bzip2、bunzip2命令默认情况下都是压缩/解压缩后删除原始文件。要保留源文件需要加-k参数。bunzip2实际上是bzip2的符号连接,执行bunzip2与bzip2 -d的效果相同

2.命令使用:

#bzip2 [options] FILENAME

[options]:

-f或–force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,命令会执行失败,默认不会覆盖现有文件。若要覆盖,请使用此参数。

-k或–keep:bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。

-t或–test:测试.bz2压缩文件的完整性。

-v或–verbose:压缩或解压缩文件时,显示详细的信息。

-压缩等级(-1~-9):在压缩时将块长度设为 100 k、200 k … 900 k,一般来说等级9的压缩比最大,默认是等级9。对解压缩没有影响。

-d:强制解压缩==bunzip2

#bunzip2 [options] FILENAME.bz2

-f或–force:解压缩时,若输出文件与现有文件同名,命令会执行失败,默认不会覆盖现有文件。若要覆盖,请使用此参数。

-k或–keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数。

-s或–small:降低程序执行时,内存的使用量。

-v或–verbose:解压缩文件时,显示详细的信息。

-L,–license,-V或–version:显示版本信息。

3.bzip2和bunzip2实例:

将f1.txt文件压缩为.bz2格式,同时保留原文件。[root@centos7 testdir]#lsadir bdir f1.txt[root@centos7 testdir]#bzip2 -k f1.txt [root@centos7 testdir]#lsadir bdir f1.txt f1.txt.bz2将f1.txt.bz2文件解压缩,同时覆盖掉原有文件,且保留压缩文件[root@centos7 testdir]#cat f1.txtwad[root@centos7 testdir]#bunzip2 -fk f1.txt.bz2 //等同于#bzip2 -dfk f1.txt.bz2[root@centos7 testdir]#lsadir bdir f1.txt f1.txt.bz2 f2.txt f3.txt[root@centos7 testdir]#cat f1.txtawdada将等大小文件f2.txt和文件f3.txt安装等级1和9,分别压缩,且保留原文件。[root@centos7 testdir]#ll -htotal 246Mdrwxr-xr-x 2 root root 52 Mar 29 17:41 adirdrwxr-xr-x 2 root root 6 Mar 29 17:01 bdir-rw-r--r-- 1 root root 123M Mar 30 14:58 f2.txt-rw-r--r-- 1 root root 123M Mar 30 14:54 f3.txt[root@centos7 testdir]#bzip2 -1k f2.txt [root@centos7 testdir]#bzip2 -9k f3.txt [root@centos7 testdir]#ll -htotal 246Mdrwxr-xr-x 2 root root 52 Mar 29 17:41 adirdrwxr-xr-x 2 root root 6 Mar 29 17:01 bdir-rw-r--r-- 1 root root 123M Mar 30 14:58 f2.txt-rw-r--r-- 1 root root 820 Mar 30 14:58 f2.txt.bz2-rw-r--r-- 1 root root 123M Mar 30 14:54 f3.txt-rw-r--r-- 1 root root 114 Mar 30 14:54 f3.txt.bz2[root@centos7 testdir]#file f2.txt.bz2 f2.txt.bz2: bzip2 compressed data, block size = 100k[root@centos7 testdir]#file f3.txt.bz2 f3.txt.bz2: bzip2 compressed data, block size = 900k

zip、unzip命令

1.用途、注意:

zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。unzip为.zip压缩文件的解压缩程序。该命令可以压缩或解压缩.zip的目录以及文件。.zip压缩文件在linux和windwos中是通用的。默认情况下压缩/解压缩后会保留原文件;压缩目录需加 -r。

2.命令的使用格式:

zip命令格式:#zip [-options] [-b path] [-t yyyy-mm-dd] [-n suffixes] [zipfile list] [-xi list]

[options]:

-r 递归处理,将指定目录下的所有文件和子目录一并处理。

-q 不显示指令执行过程。

-m 把原文件移到压缩文件中并删除原文件。(即将原文件压缩后,并将原文件加入到压缩文件中,同时删除原始文件。)

-d 从压缩文件内删除指定的文件。

-h 在线帮助。

-L 显示版权信息。

-T 检查压缩文件内的每个文件是否正确无误。

-v 显示指令执行过程或显示版本信息。

-z 替压缩文件加上注释(只加参数即可,注释在命令回车后添加)。

unzip命令格式:#unzip [-Z] [-options]] file[.zip] [list] [-x xlist] [-d exdir]

[options]

-l 显示压缩文件内所包含的文件。

-v 执行是时显示详细的信息。

-z 仅显示压缩文件的备注文字。

3.zip、unzip实例:

压缩f1.txt文件[root@centos7 testdir]#lsadir bdir f1.txt f2.txt[root@centos7 testdir]#zip f1.txt.zip f1.txt adding: f1.txt (stored 0%)[root@centos7 testdir]#lsadir bdir f1.txt f1.txt.zip f2.txt解压缩f1.txt.zip文件[root@centos7 adir]#lsa1.txt f1.txt.zip[root@centos7 adir]#unzip f1.txt.zip Archive: f1.txt.zipextracting: f1.txt [root@centos7 adir]#lsa1.txt f1.txt f1.txt.zip将目录testdir2压缩为testdir2.gz[root@centos7 data]#lstestdir testdir2[root@centos7 data]#zip -r testdir2.zip testdir2adding: testdir2/ (stored 0%)adding: testdir2/w/ (stored 0%)adding: testdir2/adwa (stored 0%)[root@centos7 data]#lstestdir testdir2 testdir2.zip[root@centos7 data]#unzip -l testdir2.zip Archive: testdir2.zipLengthDate Time Name--------- ---------- ----- ----0 03-29- 18:21 testdir2/0 03-29- 18:21 testdir2/w/0 03-29- 18:21 testdir2/adwa--------- -------0 3 files压缩f1.txt,并添加注释"this is a file"[root@centos7 testdir]#zip -z f1.txt.zip f1.txt adding: f1.txt (stored 0%)enter new zip file comment (end with .):this is a file[root@centos7 testdir]#rm -rf f1.txt[root@centos7 testdir]#lsadir bdir f1.txt.zip[root@centos7 testdir]#unzip -z f1.txt.zip Archive: f1.txt.zipthis is a file

xz命令:

1.用途、注意:

xz命令用来压缩/解压缩.xz格式的文件。xz在压缩/解压时,默认情况下是不保留原文件的。

2.使用格式:

#xz [OPTION]… [FILE]…

[option]:

-z:强制压缩

-d:强制解压缩

-t:测试压缩文件的完整性

-l:列出关于.xz文件的消息

-k:压缩/解压缩时保留不删除原文件。

-f:在压缩/解压缩时,强制覆盖同名文件。

-等级:(-0~-9),默认是等级6, 且在使用等级7-9之前,压缩/解压缩的内存使用量已被考虑在内。

-v:压缩/解压缩时显示过程信息

-q:静默模式

-Tnum,最多使用num个线程,默认值是1。

3.xz命令使用实例:

将f2.txt文件压缩为.xz格式,并查看该压缩包的信息。[root@centos7 testdir]#lsadir bdir f2.txt f3.txt[root@centos7 testdir]#xz f2.txt [root@centos7 testdir]#lsadir bdir f2.txt.xz f3.txt[root@centos7 testdir]#file f2.txt.xz f2.txt.xz: XZ compressed data[root@centos7 testdir]#xz -l f2.txt.xz Strms Blocks Compressed Uncompressed Ratio Check Filename1 118.4 KiB 122.6 MiB 0.000 CRC64 f2.txt.xz解压缩f2.txt.xz文件,显示解压缩过程,并保留压缩包。[root@centos7 testdir]#lsadir bdir f2.txt.xz f3.txt[root@centos7 testdir]#xz -dkv f2.txt.xz [root@centos7 testdir]#lsadir bdir f2.txt f2.txt.xz f3.txt

tar命令:

1.用途、注意:

tar命令先将文件或目录打包成.tar格式的包,然后用压缩程序(gzip,bzip2等命令)压缩成.tar.gz,.tar.bz2等格式的压缩包。tar本身不具有压缩功能,但用来压缩和解压文件,它是可以是通过调用其他程序的压缩功能实现的。tar命令默认情况下打包/压缩/解压缩后,源文件保留。如果打包当前目录下所有文件,tar是不打包隐藏文件的,直接打包本目录,就打包隐藏文件了。

2.命令格式:

#tar [option…] [File]…

【option:】

-c:创建压缩文件。

-x:解压缩文件。

-f:目标文件名,即压缩包名(注意:f参数要放到参数最后,后跟压缩包名,压缩包名字是随便起的,但一般按照格式来,便于辨认)。

-z:使用gzip压缩或解压,生成/解压缩.tar.gz格式的文件。

-j:使用bzip2格式压缩或解压,生成/解压缩.tar.bz2格式的文件。

-J:使用xz格式压缩或解压,生成/解压缩.tar.xz格式的文件。

-Z:将打包后的文件用compress压缩,格式为.tar.Z。

-t:查看压缩包内有哪些文件,需要与-f参数一起使用。

-v:显示压缩或解压缩的过程。

-C:指定解压缩后的文件所在的目录

-p:压缩/解压缩时保留原来的权限。

-N “yyyy/mm/dd”:在文件夹中,比某个日期新的文件才备份(同时目录下的子目录会自动打包备份,不看子目录日期,因为子目录内可能存有所需日期的文件)。

-T:打包指定文件中包含的文件(绝对路径)。

“- - exclude 文件”:创建压缩文件时,排除指定的文件或目录。

-A:新增tar打包文件到已存在的打包文件内。

-r:新增文件到已经打包的文件内。

-u:只附加比打包文件中新的文件。

“- - delete 文件”:删除tar包中的某文件。

使用–delete、-u、-r、-A的时候,后面跟的备份文件都必须为未压缩的,若备份文件已经压缩,需要使用gunzip先解压,操作完后再gzip;也就是说,不能对tar.gz、tar.bz2等文件直接操作的;

3.tar命令实例:

运用tar命令将adir目录打包,打包后名称为adir.tar[root@centos7 data]#lsadir testdir testdir2 testdir2.zip[root@centos7 data]#tar -cf adir.tar adir [root@centos7 data]#lsadir adir.tar testdir testdir2 testdir2.zip将adir目录打包后压缩为.gz格式的压缩包。[root@centos7 data]#lsadir testdir testdir2 testdir2.zip[root@centos7 data]#tar -czvf adir.tar.gz adir/adir/adir/a1.txtadir/f1.txt.zipadir/f1.txtadir/taradir/b1.txt[root@centos7 data]#lsadir adir.tar.gz testdir testdir2 testdir2.zip查看adir.tar.gz压缩包内的文件[root@centos7 data]#tar -tf adir.tar.gz adir/adir/a1.txtadir/f1.txt.zipadir/f1.txtadir/taradir/b1.txt向testdit.tar包中新增文件test.txt[root@centos7 test]#lstestdir testdir1 testdir.tar test.txt[root@centos7 test]#tar -r test.txt -f testdir.tar [root@centos7 test]#tar -tf testdir.tar testdir/testdir/adir/testdir/adir/a1.txttestdir/adir/f1.txt.ziptestdir/adir/f1.txttest.txt将book.txt.tar包添加到testdir.tar包中[root@centos7 test]#lsbook.txt book.txt.tar testdir testdir.tar[root@centos7 test]#tar -A book.txt.tar -f testdir.tar [root@centos7 test]#tar -tf testdir.tar //tar包添加进来后,会恢复成相应文件和目录testdir/testdir/adir1/testdir/adir2/testdir/a.txttestdir/book2.txtbook1.txt删除testdt.tar包中的book2.txt文件[root@centos7 test]#tar --delete testdir/book2.txt -f testdir.tar [root@centos7 test]#tar -tf testdir.tar testdir/testdir/adir1/testdir/adir2/testdir/a.txtbook1.txt删除file.tar包中的.a22.sh隐藏文件。[root@centos7 test]#tar -tf file.tar testdir2/testdir2/dir1/testdir2/dir2/testdir2/.a22.shtestdir2/-.[root@centos7 test]#tar --delete testdir2/.a22.sh -f file.tar [root@centos7 test]#tar -tf file.tar testdir2/testdir2/dir1/testdir2/dir2/testdir2/-.备份压缩/root/test/testdir目录下比4月2日新的文件。[root@centos7 testdir]#lltotal 0drwxr-xr-x 2 root root 20 Apr 4 10:54 adir1drwxr-xr-x 2 root root 6 Mar 30 17:00 adir2-rw-r--r-- 1 root root 0 Mar 30 17:00 a.txt-rw-r--r-- 1 root root 0 Mar 30 17:10 b.txt-rw-r--r-- 1 root root 0 Apr 4 10:49 new.sh[root@centos7 testdir]#ll adir1/total 0-rw-r--r-- 1 root root 0 Apr 4 10:54 qq.txt[root@centos7 testdir]#cd ..[root@centos7 test]#tar -N '/04/03' -czvf testdir.tar.gz testdirtar: Option --after-date: Treating date `/04/03' as -04-03 00:00:00testdir/testdir/adir1/testdir/adir1/qq.txttestdir/adir2/tar: testdir/a.txt: file is unchanged; not dumpedtar: testdir/b.txt: file is unchanged; not dumpedtestdir/new.sh[root@centos7 test]#tar -tf testdir.tar.gz testdir/testdir/adir1/testdir/adir1/qq.txttestdir/adir2/testdir/new.sh将/home和/data目录的所有东西都打包压缩成.gz格式,除/home/bash目录;[root@centos7 home]#tar -zcvf myfile.tar.gz /home/* /data --exclude /home/bash查找/root/test/testdir目录下以.sh和.txt结尾的文件,并打包压缩成file.tar.gz方法一:[root@centos7 test]#find testdir/ -name "*.txt" -o -name "*.sh" >list.txt[root@centos7 test]#cat list.txt testdir/adir1/qq.txttestdir/a.txttestdir/b.txttestdir/new.sh[root@centos7 test]#tar -zcvf file.tar.gz -T /root/test/list.txt testdir/adir1/qq.txttestdir/a.txttestdir/b.txttestdir/new.sh方法二:[root@centos7 test]#find testdir/ -name "*.txt" -o -name "*.sh" testdir/adir1/qq.txttestdir/a.txttestdir/b.txttestdir/new.sh[root@centos7 test]#find testdir/ -name "*.txt" -o -name "*.sh" |tar -czvf file.tar.gz -T -testdir/adir1/qq.txttestdir/a.txttestdir/b.txttestdir/new.sh[root@centos7 test]#tar -tf file.tar.gz testdir/adir1/qq.txttestdir/a.txttestdir/b.txttestdir/new.sh打包/root/test/testdir2目录下的所有文件(包括隐藏文件),除去testdir2/a.txt文件(注意:如adir或adir/都指该目录,adir/*指该目录下的所有文件但不包括隐藏文件)方法一:直接打包目录(推荐直接打包目录,会包含隐藏文件和命名不规范的文件)[root@centos7 testdir2]#ls -a-. . .. .a22.sh a.txt dir1 dir2[root@centos7 test]#tar -cvf file.tar testdir2 --exclude testdir2/a.txt testdir2/testdir2/dir1/testdir2/dir2/testdir2/.a22.shtestdir2/-.[root@centos7 test]#lsfile.tar testdir testdir2 testdir.tar.gz[root@centos7 test]#tar -tf file.tar testdir2/testdir2/dir1/testdir2/dir2/testdir2/.a22.shtestdir2/-.方法二:将隐藏文件再独自加入到tar包中。[root@centos7 test]#tar -tf file.tar testdir2/testdir2/dir1/testdir2/dir2/testdir2/-.[root@centos7 test]#lsfile.tar testdir testdir2 testdir.tar[root@centos7 test]#tar -r testdir2/.a22.sh -f file.tar [root@centos7 test]#tar -tf file.tar testdir2/testdir2/dir1/testdir2/dir2/testdir2/-.testdir2/.a22.sh

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。