学习笔记
Linux 系统常见的压缩命令
常见的压缩文件扩展名:
- *. Z: compress 程序压缩的档案;
- *.bz2: bzip2 程序压缩的档案;
- *.gz: gzip 程序压缩的档案;
- *.tar: tar 程序打包的数据,并没有压缩过;
- *.tar.gz: tar 程序打包的档案,其中并且经过 gzip 的压缩
compress
[root@linux ~]# compress [-dcr] 文件或目录
参数:
-d :用来解压缩的参数
-r :可以连同目录下的文件也同时给予压缩呢!
-c :将压缩数据输出成为 standard output (输出到屏幕)
gzip、zcat
[root@linux ~]# gzip [-cdt#] 文件名
[root@linux ~]# zcat 文件名.gz
参数:
-c :将压缩的数据输出到屏幕上,可透过数据流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩文件的一致性~看看档案有无错误;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6 ~
bzip2、bzcat
[root@linux ~]# bzip2 [-cdz] 文件名
[root@linux ~]# bzcat 文件名.bz2
参数:
-c :将压缩的过程产生的数据输出到屏幕上!
-d :解压缩的参数
-z :压缩的参数
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
tar
[root@linux ~]# tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的档案!
特别注意,在使用参数时, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在后台执行过程!
-f :使用文件名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据用户而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
tarfile通过tar打包未压缩的文件
dd
在上一章中,制作 swap 文件时,使用过dd命令。不过,这个命令可不只是用来制作一个文件,最大作用是用于“备份”。dd可以读取设备的内容,然后将整个设备备份
[root@linux ~]# dd if="input_file" of="output_file" bs="block_size" \
count="number"
参数:
if :就是 input file(输入文件)啰~也可以是设备喔!
of :就是 output file (输出文件)喔~也可以是设备;
bs :规划的一个 block 的大小,如果没有设定时,预设是 512 bytes
count:多少个 bs 的意思。
1.备份分区表:
dd if=/dev/设备 of=/mbr.bak bs=512 count=1
2.备份分区:
dd if=/dev/设备 of=/file 此时 dd = ghost
cpio
通过数据流重导向的方法,将文件进行输出/输入的一种方式。
[root@linux ~]# cpio -covB > [file|device] <==备份
[root@linux ~]# cpio -icduv < [file|device] <==还原
参数:
-o :将数据 copy 输出到文件或设备上
-i :将数据从文件或设备 copy 到系统当中
-t :查看 cpio 建立的文件或设备的内容
-c :一种较新的 portable format(可移植格式) 方式储存
-v :让储存的过程中文件名可以在屏幕上显示
-B :让默认的 Blocks 可以增加至 5120 bytes ,默认是 512 bytes !
这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)
-d :自动建立目录!由于 cpio 的内容可能不是在同一个目录内,
如此的话在还原的过程会有问题! 这个时候加上 -d 的话,
就可以自动的将需要的目录建立起来了!
-u :自动的将较新的文件覆盖较旧的文件!