Linux_shell——第6章 B计划

第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

你可能感兴趣的:(linux,shell)