Linux基础——tar打包工具

    xiaoxiao2021-03-25  83

    tar可以把目录打包成一个文件,好处是把所有文件整合成一个大文件整体,方便拷贝或者移动。可以打包目录。 但是不压缩,即文件大小不会改变,之前是多大,打包后的文件会略小一点,考虑到并不是每个文件都占满了块。如果是打包非空目录,则打包后的文件,会略微大一点,因为tar本身需要一些文件(类比1T的移动硬盘,实际上的大小不到1T,需要一些空间来写移动硬盘本身的数据)。 语法:tar [-参数] filename 常用:#tar -cvf 压缩后文件名 需要压缩的文件1 需要压缩的文件2 -z 同时用gzip压缩 -j 同时用bzip2压缩 -x 解包或者解压缩 -t 查看tar包里面的文件 -c 建立一个tar包或者压缩文件包 -C 指定解压后的目录 -v 可视化 -f 压缩时跟“-f 文件名”,表示压缩后的文件名为“filename”,解压时跟“-f filename”,表示解压filename。 如果是多个参数组合的情况下带有“-f”,把“-f”放到最后。 --exclude filename 打包或压缩时,排除filename文件。 -p(小写) 使用原文件属性,压缩前什么属性,压缩后还什么属性 -P(大写) 可以使用绝对路径 tar打包后,原文件不会消失,依旧存在。 #tar -cvf test.tar --exclude 5.txt test 【压缩除test5之外的所有文件及目录】 #tar -cvf test1.tar --exclude 3 1/2 【压缩除目录3之外的所有文件及目录】【 若要过滤多个文件或目录,需要每个文件前面添加 --exclude ,方便起见可使用双引号 --exclude "*dir" --exlude "*.txt" --exclude "*"】 [root@Sleop tmp]# tree 1 1 ├── 1.txt └── 2 ├── 2a.txt ├── 2b.txt ├── 2.txt └── 3 【上述命令中,需要排除的选项,无需使用绝对路径,只需输入文件名即可】 ├── 3.txt └── 4 └── 5 └── 6 #tar -cvf test2.tar 1 1.txt install.log.syslog 【文件名后面跟多个文件,可以一次性打包很多文件及目录, 并没有 压缩】 #tar -xvf test2.tar 【解 后,如果文件名重复,会直接覆盖】 #tar -C /tmp/1 -xvf test.tar 【指定解包到/tmp/1目录下】 #tar -xvf test.tar -C /tmp/1 【指定解包到/tmp/1目录下】
    转载请注明原文地址: https://ju.6miu.com/read-17317.html

    最新回复(0)