1、linux系统常见的压缩命令
*.tar:tar程序打包的文件,并没有压缩过;
*.tar.gz:tar程序打包的文件,并且经过gzip的压缩;
*.tgz:
*.gz:gzip程序压缩的文件;
*.Z:compress程序压缩的文件;
*.bz2:bzip2程序压缩的文件;
2、compress
[root@linux~]# compress [-dcr] 文件或目录
参数:
-d:用来解压缩的参数;
-r:可以连同目录下的文件同时压缩;
-c:将压缩数据输出为标准输出(输出到屏幕)
例1:将/etc/man.config估值到/tmp,并加以压缩
[root@linux~]# cd /tmp
[root@linux~]# cp /etc/man.config
[root@linux~]# compress man.config //压缩之后,原文见被压缩文件取代
[root@linux~]# ls -l
例2:解压文件
[root@linux~]# compress -d man.config
例3:将man.config压缩成另外一个文件来备份
[root@linux~]# compress -c man.config > man.config.back.Z
[root@linux~]# ll man.config.*
3、gzip、zcat
[root@linux~]# gzip [-cdt#] 文件名
[root@linux~]# zcat 文件名.gz //此命令是用来读取压缩文件的内容
参数:
-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理;
-d:解压缩的参数;
-t:可以用来检验一个压缩文件的一致性,看文件有无错误;
-#:压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认为-6;
4、bzip2、bzcat
[root@linux~]# bzip2 [-cdz] 文件名
[root@linux~]# bzcat 文件名.bz2
参数:
-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理;
-d:解压缩的参数;
-z:压缩的参数;
-#:压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好,默认为-6;
5、tar
[root@linux~]# tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c:建立压缩文件的参数命令;
-x:解压缩文件的参数命令;
-t:查看tarfile里的文件;
-z:是否同时具有gzip的属性?即是否需要用gzip压缩;
-j:是否需要同时具有bzip2属性?即是否需要用bzip2压缩;
-v:压缩的过程中显示文件。这个常用,但不建议用在后台执行过程;
-f:使用文件名,请注意,在f之后要立即接文件名,不要再加参数,例如:
tar -zcvfP tfile sfile //error
tar -zcvPf tfile sfile //ok
-p:使用原文见的原来属性;
-P:比后面接的日期(YYYY/mm/dd)还要新的才会被打包进新建的文件中;
--exclude FILE:在压缩过程中,不要将FILE打包。
例1:将整个/etc目录下的文件全部打包成为/tmp/etc.tar
[root@linux~]# tar -cvf /tmp/etc.tar /etc //仅打包不压缩
[root@linux~]# tar -zcvf /tmp/etc.tar /etc //打包后以gzip压缩
[root@linux~]# tar -jcvf /tmp/etc.tar /etc //打包后以bzip2压缩
例2:查看上述/tmp/etc.tar.gz文件内有哪些文件?
[root@linux~]# tar -ztvf /tmp/etc.tar.gz
例3:将/tmp/etc.tar.gz文件解压缩到/usr/local/src中
[root@linux~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
6、dd
[root@linux~]# dd if="input_file" of="output_file" bs="block_size" count="number"
参数:
if:是输入文件,也可以是设备;
of:是输出文件,也可以是设备;
bs:规划的一个块的大小,如果没有设置时,默认是512字节;
count:多少个bs的意思。
例1:将/etc/passwd备份到/tmp/passwd.back中
[root@linux~]# dd if=/etc/passwd of=/tmp/passwd.back
例2:备份/dev/hda的MBR
[root@linux~]# dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1
注:tar可以用来备份关键数据,dd可以用来备份整个分区或整个磁盘。
7、cpio
[root@linux~]# cpio -covB > [file|device] //备份
[root@linux~]# cpio -icduv < [file|device] //还原
参数:
-o:将数据复制输出到文件或设备;
-i:将数据从文件或设备复制到系统中;
-t:查看cpio建立的文件或设备的内容
-c:一种较新的可移植格式的存储;
-v:让存储过程中文件名称可以在屏幕上显示;
-B:让默认的块可以增减5120字节,默认是512字节;
-d:自动建立目录,由于cpio的内容可能不再同一目录,这样还原过程中可能会出现问题, 加上-d之后,就可以自动建立需要的目录
-u:自动将较新的文件覆盖较旧的文件。
例1:将所有系统上的数据都写入到磁带机
[root@linux~]# find / -print | cpio -covB > /dev/st0
例2:检查磁带机上有什么文件
[root@linux~]# cpio -icdvt < /dev/st0 //在屏幕上显示磁带机中文件名
[root@linux~]# cpio -icdvt < /dev/st0 > /tmp/content //将所有文件名记录到/tmp/content中
例3:将磁带上的数据还原回来
[root@linux~]# cpio -icduv < /dev/st0
例4:将/etc中得所有文件都备份到/root/etc.cpio中
[root@linux~]# find /etc -type f | cpio -o > /root/etc.cpio
浙公网安备 33010602011771号