压缩和解压缩

压缩和解压缩

compresss/uncompress/zcat

	compress [-dfvcVr] [-b maxbits] [file ...]
		-d:  解压缩,相当于uncompress
		-c:  结果输出至标准输出, 不删除原文件
		-v:  显示详情
	uncompress 解压缩
	zcat :不解压缩的前提下查看文本文件内容
		zcat file.Z >file
	compresss压缩生成的是 .Z 文件

gzip/gunzip/zcat

	gzip [OPTION]... FILE ...
		-d:  解压缩,相当于gunzip
		-c:  将压缩或解压缩的结果输出至标准输出
		-# :1-9 ,指定压缩比,值越大压缩比越大
	gunzip解压缩
	zcat :不解压缩的前提下查看文本文件内容
		zcat file.Z >file
	gzip压缩生成的是 .gz 文件
	实例:
		gzip -c messages >messages.gz
		gzip -c -d messages.gz > messages
		zcat messages.gz > messages

bzip2/bunzip2/bzcat

	bzip2 [OPTION]... FILE …
		-k: keep,  保留原文件
		-d :解压缩= bunzip
		-# :1-9 ,压缩比,默认为6
	bunzip解压缩
	bzcat :不解压缩的前提下查看文本文件内容
	bzip2压缩生成 的是.bz2 文件

xz/unxz/xzcat

	xz [OPTION]... FILE ...
		-k: keep,  保留 原文件
		-d :解压缩=unxz
		-# :1-9 ,压缩比,默认为6
	unxz解压缩
	xzcat:  不显式解压缩的前提下查看 文本文件内容
	xz压缩生成的是 .xz 文件

zip/unzip

	zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
			zipfile可以随便命名,以.zip为后缀
			-r   recurse(递归) into directories 
	unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
		-p  extract(提取) files to pipe, no messages
	打包压缩:zip
		zip –r /testdir/sysconfig /etc/sysconfig/
	解包解压缩:unzip
		unzip sysconfig.zip
		cat /var/log/messages | zip messages 
		unzip -p message > message
	zip打包压缩生成的是 .zip 文件

tar

	tar [OPTION...] [压缩文件] [文件]
		-c  	建立一个压缩档案的参数指令(create 的意思)
		-x 	 解开一个压缩档案的参数指令
		-t  	查看 tarfile 里面的档案
		-z  	采用 gzip 压缩
		-j  	采用 bzip2 压缩
		-v  	显示压缩过程
		-f  	使用档名,请留意,在 f 之后要立即接档名喔,不要再加参数
		-p  	使用原档案的原来属性(属性不会依据使用者而变)
		-P  	可以使用绝对路径来压缩
		-r	追加文件到压缩文件包
		-T	指定输入文件
		-X	指定要排除的文件
		压缩文件	后缀带有.tar
		文件	被压缩的文件
		压缩:
			tar -zcvf :	以 .tar.gz 或 .tgz 来结尾
			tar -jcvf :	以.tar.bz2来结尾
			tar -Jcvf:	以.tar.xz来结尾
		解压缩:
			tar -(z)xvf :	解压以.tar.gz 或 .tgz 来结尾的
			tar -(j)xvf :	解压以.tar.bz2来结尾的
			tar -(J)xvf:	解压以.tar.xz来结尾的
	示例
		(1)  创建归档
			tar -c -f  /PATH/TO/SOMEFILE.tar   FILE...
		(2) 追加文件至归档:  注:不支持对压缩文件追加
			tar -r -f  /PATH/TO/SOMEFILE.tar   FILE...
		(3)  查看归档文件中的文件列表
			tar -t -f  /PATH/TO/SOMEFILE.tar
		(4)  展开归档
			tar -x -f  /PATH/TO/SOMEFILE.tar
			tar -x -f  /PATH/TO/SOMEFILE.tar   -C  /PATH/
		(5)  结合压缩工具实现:归档并压缩
			-z: gzip, ______.gz
			-j: bzip2, ———.tar.bz2
			-J: xz____.xz
		(6)-T 选项指定输入文件, -X 选项指定包含要排除的文件列表
			tar -zcvf mybackup.tgz  -T /root/includefilelist  -X /root/excludefilelist

split

	split - split a file into pieces,切分
		split [OPTION]... [INPUT [PREFIX]]
			-a, --suffix-length=N   	使用长度为N的后缀(default 2)
			--additional-suffix=SUFFIX  	添加一个附加的后缀suffix给文件名use ramdom replicated server selection
			-b, --bytes=SIZE        	分割每份SIZE bytes,可以使用单位
			-C, --line-bytes=SIZE   	在每个输出文件中放置最多大小的行字节
			-d, --numeric-suffixes[=FROM]  	使用数字类后缀取代字符型,FROM changes the start value (default 0)
			-e, --elide-empty-files  	配合-n,不产生空的输出文件
			--filter=COMMAND    	写人到shell命令,文件名是$FILE
			-l, --lines=NUMBER      	设置每个文件NUMBER行
			-n, --number=CHUNKS     	产生CHUNKS输出文件
			-u, --unbuffered        	配合-n r /...,立即复制输入到输出
			--verbose          	在每个输出文件产生前打印诊断信息
			INPUT	大的文件
			PREFIX	小文件的前缀名
	合并
		用split来分割,用cat和重定向>来合并,名字可以随便取,注意原来是什么格式最好合并后也是什么格式
	示例
		split -b 1M mybackup.tgz    mybackup-parts
		cat mybackup-parts* > mybackup.tar.gz

cpio

	cpio - copy files to and from archives
	cpio [OPTION...] [destination-directory]
	示例:
		# Copy files named in name-list to the archive
			cpio -o < name-list [> archive]
		# Extract files from the archive
			cpio -i [< archive]
		# Copy files named in name-list to destination-directory
			cpio -p destination-directory < name-list
	采用copy-out模式,cpio复制文件到一个文档中。
		cpio命令是通过重定向的方式将文件进行打包备份和还原恢复的工具,它可以解压以“.cpio” 或者“.tar” 结尾的文件。
		cpio [ 选项] >  文档名
		cpio [ 选项] < 文档名
			选项
				-o  	将文件拷贝打包成文件或者将文件输出到设备上
				-i 	解包,将打包文件解压或将设备上的备份还原到系统
				-t 	预览,查看文件内容或者输出到设备上的文件内容
				-v  	显示打包过程中的文件名称。
				-d 	解包生成目录,在cpio 还原时,自动的建立目录
				-p	采用copy-pass模式
			例:
				将etc目录备份:
						find ./etc -print |cpio -ov >etc.cpio
						ls /etc |cpio -ov > etc.cpio
				内容预览
						cpio –tv < etc.cpio
				要解包文件
						cpio –idv < etc.cpio
						cpio -idv 文件名 < etc.cpio :只解开指定的文件名
原文地址:https://www.cnblogs.com/shenxm/p/8377819.html