您的位置:首页 > 运维架构 > Shell

Linux_shell——第6章 B计划

2015-09-06 10:30 483 查看

第6章 B计划

6.1 简介

6.2 用
tar
归档
(tape archive)

(1)用tar对文件进行归档
$tar -cf output.tar [source]

(2)列出归档文件的信息
$tar -tf archive.tar

(3)向归档文件中添加文件
$tar -rf original.tar new_file

(4)从归档文件中提取文件或文件夹
$tar -xf archive.tar

$tar -xf archive.tar -C 指定提取的目录

$tar -xf archive.tar filename...   #提取特定的文件

(5)拼接两个归档文件
$tar -Af file1.tar file2.tar #得到file1.tar

(6)通过检查时间戳更新文档内容
$tar -uf archive.tar file  #file被加入了

(7)比较归档文件与文件系统中的内容
$tar -df archive.tar

(8)从归档文件中删除内容
$tar -f archive.tar --delete file...

(9)排除文件(--exclude)
$tar -cf archive.tar * --exclude "**.txt"

------------------------------------------------------------------

压缩选项

格式
file.tar.gz-----------------  -z
file.tar.bz2----------------  -j
file.tar.lzma--------------- --lzma

(1)自动(-a, --auto-compress)
$tar acf archive.tar.gz file...


6.3 用
cpio
归档

过滤器, 保留文件所有属性


(1)

(2)列出cpio归档文件的内容
$cpio -it < archive.cpio

(3)从cpio归档文件中提取文件
$cpio -id < archive.cpio

(4)-o指定了输出


6.4 使用gzip压缩数据

gzip/gunzip/zcat

(1)使用gzip压缩文件
$gzip file

(2)gunzip解压缩文件
$gunzip file.gz

(3)列出压缩文件的信息
$gzip -l file.gz

(4)gzip作为过滤器
$cat file | gzip -c > file.gz
-c 用来指定输出到标准输出
--------------------------------------------------

1、压缩归档文件
创建:
$tar -czvvf archive.tar.gz file...
或
$tar -cavvf archive.tar.gz file...
提取:
$tar -xavvf archive.tar.gz -C extract_directoy

2.zcat————无需解压缩,直接读取gzip文件

3.指定压缩率(1-9)
1-----------------------9(压缩率从低到高)

example:
$gzip -5 file

4.使用bzip2
$bzip2 file
$bunzip2 file.bz2
$tar -xjvf archive.tar.bz2

5.使用lzma
$lzma file
$unlzma file.lzma
$tar -cvvf --lzma archive.tar.lzma file... 或 $tar -cavvf archive.tar.lzma file...
$tar -xvvf --lzma archive.tar.lzma -C extract_directoy 或 tar -xavvf archive.tar.lzma -C extract_directoy


6.5 用
zip
归档和压缩

(1)zip压缩文件
$zip archive.zip source

(2)zip压缩目录
$zip -r archive.zip fold...

(3)从zip中提取内容
$unzip file.zip
-------------------------------------------------------------------------------------------------------
(1)更新压缩内容
$zip file.zip -u new_file

(2)从压缩文件中删除内容
$zip -d archive.zip file

(3)列出压缩文件中的内容
$unzip -l archive.zip


6.6 更快速的归档工具pbzip2

(1)压缩单个文件
$pbzip2 file.tar

(2)tar配合pbzip2压缩多个文件或目录
$tar -cf file.tar.bz2 --use-compress-prog=pbzip2 dir_to_compress/

(3)从pbzip2格式的文件中提取
<1>tar.bz2文件
$pbzip2 -dc file.tar.bz2 | tar x

<2>pbzip2压缩过的文件
$pbzip2 -d file.tar.bz2


6.7 创建压缩文件系统
(squashfs)

需要采用超高的文件压缩率,有希望在无需解压的情况下读取少量文件,用环回文件的方式挂载


(1)创建一个squashfs文件
$squashfs source compressedfs.squashfs

(2)挂载squashfs文件
#mkdir /mnt/squash
#mount -o loop compressedfs.squash /mnt/squash


6.8 使用
rsync
备份文件系统快照

rsync对不同位置的文件和目录进行同步,利用差异算法和压缩技术,支持网络传输


(1)将源目录复制到目的端
$rsync -av source destination
-a archive
-v vbose

(2)压缩数据选项-z


6.9 用
Git
进行基于版本控制的备份

6.10 用
fsarchiver
创建全盘镜像

`fsarchiver`将整个文件系统中的内容保存成一个压缩的归档文件。


(1)创建文件系统/分区的备份
$fsarchiver savefs backup.fsa /dev/sd.....

(2)从备份文档中恢复分区
$fsarchiver restfs backup.fsa id=0,dest=/dev/sd1,id=1,dest=/dev/sd2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: