Linux下的tar压缩解压缩命令详解

tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 

tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar -xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压


解压jdk到指定文件夹:

tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java


[java]  view plain  copy
  1. root@ubuntu:~# tar --help  
  2. 用法: tar [选项...] [FILE]...  
  3. GNU 'tar' saves many files together into a single tape or disk archive, and can  
  4. restore individual files from the archive.  
  5.   
  6. Examples:  
  7.   tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.  
  8.   tar -tvf archive.tar         # List all files in archive.tar verbosely.  
  9.   tar -xf archive.tar          # Extract all files from archive.tar.  
  10.   
  11.  主操作模式:  
  12.   
  13.   -A, --catenate, --concatenate   追加 tar 文件至归档  
  14.   -c, --create               创建一个新归档  
  15.   -d, --diff, --compare      找出归档和文件系统的差异  
  16.       --delete               从归档(非磁带!)中删除  
  17.   -r, --append               追加文件至归档结尾  
  18.   -t, --list                 列出归档内容  
  19.       --test-label           测试归档卷标并退出  
  20.   -u, --update               仅追加比归档中副本更新的文件  
  21.   -x, --extract, --get       从归档中解出文件  
  22.   
  23.  操作修饰符:  
  24.   
  25.       --check-device         当创建增量归档时检查设备号(默认)  
  26.   -g, --listed-incremental=FILE   处理新式的 GNU 格式的增量备份  
  27.   -G, --incremental          处理老式的 GNU 格式的增量备份  
  28.       --ignore-failed-read  
  29.                              当遇上不可读文件时不要以非零值退出  
  30.       --level=NUMBER         所创建的增量列表归档的输出级别  
  31.   -n, --seek                 归档可检索  
  32.       --no-check-device      当创建增量归档时不要检查设备号  
  33.       --no-seek              归档不可检索  
  34.       --occurrence[=NUMBER]  仅处理归档中每个文件的第 NUMBER  
  35.                              个事件;仅当与以下子命令 --delete,  
  36.                              --diff, --extract 或是 --list  
  37.                              中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过  
  38.                              -T 选项指定的;NUMBER 值默认为 1  
  39.       --sparse-version=MAJOR[.MINOR]  
  40.                              设置所用的离散格式版本(隐含  
  41.                              --sparse)  
  42.   -S, --sparse               高效处理离散文件  
  43.   
  44.  重写控制:  
  45.   
  46.   -k, --keep-old-files       don't replace existing files when extracting,  
  47.                              treat them as errors  
  48.       --keep-directory-symlink   preserve existing symlinks to directories when  
  49.                              extracting  
  50.       --keep-newer-files  
  51.                              不要替换比归档中副本更新的已存在的文件  
  52.       --no-overwrite-dir     保留已存在目录的元数据  
  53.       --one-top-level[=DIR]  create a subdirectory to avoid having loose files  
  54.                              extracted  
  55.       --overwrite            解压时重写存在的文件  
  56.       --overwrite-dir        解压时重写已存在目录的元数据(默认)  
  57.   
  58.       --recursive-unlink     解压目录之前先清除目录层次  
  59.       --remove-files         在添加文件至归档后删除它们  
  60.       --skip-old-files       don't replace existing files when extracting,  
  61.                              silently skip over them  
  62.   -U, --unlink-first         在解压要重写的文件之前先删除它们  
  63.   -W, --verify               在写入以后尝试校验归档  
  64.   
  65.  选择输出流:  
  66.   
  67.       --ignore-command-error 忽略子进程的退出代码  
  68.       --no-ignore-command-error  
  69.                              将子进程的非零退出代码认为发生错误  
  70.   -O, --to-stdout            解压文件至标准输出  
  71.       --to-command=COMMAND  
  72.                              将解压的文件通过管道传送至另一个程序  
  73.   
  74.  操作文件属性:  
  75.   
  76.       --atime-preserve[=METHOD]  
  77.                              在输出的文件上保留访问时间,要么通过在读取(默认  
  78.                              METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间  
  79.       --clamp-mtime          only set time when the file is more recent than  
  80.                              what was given with --mtime  
  81.       --delay-directory-restore  
  82.                              直到解压结束才设置修改时间和所解目录的权限  
  83.       --group=名称         强制将 NAME  
  84.                              作为所添加的文件的组所有者  
  85.       --mode=CHANGES         强制将所添加的文件(符号)更改为权限  
  86.                              CHANGES  
  87.       --mtime=DATE-OR-FILE   从 DATE-OR-FILE 中为添加的文件设置  
  88.                              mtime  
  89.   -m, --touch                不要解压文件的修改时间  
  90.       --no-delay-directory-restore  
  91.                              取消 --delay-directory-restore 选项的效果  
  92.       --no-same-owner  
  93.                              将文件解压为您所有(普通用户默认此项)  
  94.       --no-same-permissions  
  95.                              从归档中解压权限时使用用户的掩码位(默认为普通用户服务)  
  96.       --numeric-owner        总是以数字代表用户/组的名称  
  97.       --owner=名称         强制将 NAME  
  98.                              作为所添加的文件的所有者  
  99.   -p, --preserve-permissions, --same-permissions  
  100.                              解压文件权限信息(默认只为超级用户服务)  
  101.       --preserve             与 -p 和 -s 一样  
  102.       --same-owner  
  103.                              尝试解压时保持所有者关系一致(超级用户默认此项)  
  104.   -s, --preserve-order, --same-order  
  105.                              member arguments are listed in the same order as  
  106.                              the files in the archive  
  107.       --sort=ORDER           directory sorting order: none (default), name or  
  108.                              inode  
  109.   
  110.  Handling of extended file attributes:  
  111.   
  112.       --acls                 Enable the POSIX ACLs support  
  113.       --no-acls              Disable the POSIX ACLs support  
  114.       --no-selinux           Disable the SELinux context support  
  115.       --no-xattrs            Disable extended attributes support  
  116.       --selinux              Enable the SELinux context support  
  117.       --xattrs               Enable extended attributes support  
  118.       --xattrs-exclude=MASK  specify the exclude pattern for xattr keys  
  119.       --xattrs-include=MASK  specify the include pattern for xattr keys  
  120.   
  121.  设备选择和切换:  
  122.   
  123.   -f, --file=ARCHIVE         使用归档文件或 ARCHIVE 设备  
  124.       --force-local  
  125.                              即使归档文件存在副本还是把它认为是本地归档  
  126.   -F, --info-script=名称, --new-volume-script=名称  
  127.                              在每卷磁带最后运行脚本(隐含 -M)  
  128.   -L, --tape-length=NUMBER   写入 NUMBER × 1024 字节后更换磁带  
  129.   -M, --multi-volume         创建/列出/解压多卷归档文件  
  130.       --rmt-command=COMMAND  使用指定的 rmt COMMAND 代替 rmt  
  131.       --rsh-command=COMMAND  使用远程 COMMAND 代替 rsh  
  132.       --volno-file=FILE      使用/更新 FILE 中的卷数  
  133.   
  134.  设备分块:  
  135.   
  136.   -b, --blocking-factor=BLOCKS   每个记录 BLOCKS x 512 字节  
  137.   -B, --read-full-records    读取时重新分块(只对 4.2BSD 管道有效)  
  138.   -i, --ignore-zeros         忽略归档中的零字节块(即文件结尾)  
  139.       --record-size=NUMBER   每个记录的字节数 NUMBER,乘以 512  
  140.   
  141.  选择归档格式:  
  142.   
  143.   -H, --format=FORMAT        创建指定格式的归档  
  144.   
  145.  FORMAT 是以下格式中的一种:  
  146.   
  147.     gnu                      GNU tar 1.13.x 格式  
  148.     oldgnu                   GNU 格式 as per tar <= 1.12  
  149.     pax                      POSIX 1003.1-2001 (pax) 格式  
  150.     posix                    等同于 pax  
  151.     ustar                    POSIX 1003.1-1988 (ustar) 格式  
  152.     v7                       old V7 tar 格式  
  153.   
  154.       --old-archive, --portability  
  155.                              等同于 --format=v7  
  156.       --pax-option=关键字[[:]=值][,关键字[[:]=值]]...  
  157.                              控制 pax 关键字  
  158.       --posix                等同于 --format=posix  
  159.   -V, --label=TEXT           创建带有卷名 TEXT  
  160.                              的归档;在列出/解压时,使用 TEXT  
  161.                              作为卷名的模式串  
  162.   
  163.  压缩选项:  
  164.   
  165.   -a, --auto-compress        使用归档后缀名来决定压缩程序  
  166.   -I, --use-compress-program=PROG  
  167.                              通过 PROG 过滤(必须是能接受 -d  
  168.                              选项的程序)  
  169.   -j, --bzip2                通过 bzip2 过滤归档  
  170.   -J, --xz                   通过 xz 过滤归档  
  171.       --lzip                 通过 lzip 过滤归档  
  172.       --lzma                 通过 xz 过滤归档  
  173.       --lzop                 通过 xz 过滤归档  
  174.       --no-auto-compress     不使用归档后缀名来决定压缩程序  
  175.   -z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档  
  176.   -Z, --compress, --uncompress   通过 compress 过滤归档  
  177.   
  178.  本地文件选择:  
  179.   
  180.       --add-file=FILE        添加指定的 FILE 至归档(如果名字以 -  
  181.                              开始会很有用的)  
  182.       --backup[=CONTROL]     在删除前备份,选择 CONTROL 版本  
  183.   -C, --directory=DIR        改变至目录 DIR  
  184.       --exclude=PATTERN      排除以 PATTERN 指定的文件  
  185.       --exclude-backups      排除备份和锁文件  
  186.       --exclude-caches       除标识文件本身外,排除包含  
  187.                              CACHEDIR.TAG 的目录中的内容  
  188.       --exclude-caches-all   排除包含 CACHEDIR.TAG 的目录  
  189.       --exclude-caches-under 排除包含 CACHEDIR.TAG  
  190.                              的目录中所有内容  
  191.       --exclude-ignore=FILE  read exclude patterns for each directory from  
  192.                              FILE, if it exists  
  193.       --exclude-ignore-recursive=FILE  
  194.                              read exclude patterns for each directory and its  
  195.                              subdirectories from FILE, if it exists  
  196.       --exclude-tag=FILE     除 FILE 自身外,排除包含 FILE  
  197.                              的目录中的内容  
  198.       --exclude-tag-all=FILE 排除包含 FILE 的目录  
  199.       --exclude-tag-under=FILE   排除包含 FILE 的目录中的所有内容  
  200.       --exclude-vcs          排除版本控制系统目录  
  201.       --exclude-vcs-ignores  read exclude patterns from the VCS ignore files  
  202.   -h, --dereference  
  203.                              跟踪符号链接;将它们所指向的文件归档并输出  
  204.       --hard-dereference  
  205.                              跟踪硬链接;将它们所指向的文件归档并输出  
  206.   -K, --starting-file=MEMBER-NAME  
  207.                              begin at member MEMBER-NAME when reading the  
  208.                              archive  
  209.       --newer-mtime=DATE     当只有数据改变时比较数据和时间  
  210.       --no-null              禁用上一次的效果 --null 选项  
  211.       --no-recursion         避免目录中的自动降级  
  212.       --no-unquote           do not unquote input file or member names  
  213.       --null                 -T 读取以空终止的名字,-C 禁用  
  214.   -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE  
  215.                              只保存比 DATE-OR-FILE 更新的文件  
  216.       --one-file-system      创建归档时保存在本地文件系统中  
  217.   -P, --absolute-names       don't strip leading '/'s from file names  
  218.       --recursion            目录递归(默认)  
  219.       --suffix=STRING        在删除前备份,除非被环境变量  
  220.                              SIMPLE_BACKUP_SUFFIX  
  221.                              覆盖,否则覆盖常用后缀(‘’)  
  222.   -T, --files-from=FILE      从 FILE  
  223.                              中获取文件名来解压或创建文件  
  224.       --unquote              unquote input file or member names (default)  
  225.   -X, --exclude-from=FILE    排除 FILE 中列出的模式串  
  226.   
  227.  文件名变换:  
  228.   
  229.       --strip-components=NUMBER   解压时从文件名中清除 NUMBER  
  230.                              个引导部分  
  231.       --transform=EXPRESSION, --xform=EXPRESSION  
  232.                              使用 sed 代替 EXPRESSION  
  233.                              来进行文件名变换  
  234.   
  235.  文件名匹配选项(同时影响排除和包括模式串):  
  236.   
  237.       --anchored             模式串匹配文件名头部  
  238.       --ignore-case          忽略大小写  
  239.       --no-anchored          patterns match after any '/' (default for  
  240.                              exclusion)  
  241.       --no-ignore-case       匹配大小写(默认)  
  242.       --no-wildcards         逐字匹配字符串  
  243.       --no-wildcards-match-slash   wildcards do not match '/'  
  244.       --wildcards            使用通配符(默认对 exclusion )  
  245.       --wildcards-match-slash   wildcards match '/' (default for exclusion)  
  246.   
  247.  提示性输出:  
  248.   
  249.       --checkpoint[=NUMBER]  每隔 NUMBER  
  250.                              个记录显示进度信息(默认为 10 个)  
  251.       --checkpoint-action=ACTION   在每个检查点上执行 ACTION  
  252.       --full-time            按文件原本时间格式打印  
  253.       --index-file=FILE      将详细输出发送至 FILE  
  254.   -l, --check-links  
  255.                              只要不是所有链接都被输出就打印信息  
  256.       --no-quote-chars=STRING   禁用来自 STRING 的字符引用  
  257.       --quote-chars=STRING   来自 STRING 的额外的引用字符  
  258.       --quoting-style=STYLE  设置名称引用风格;有效的 STYLE  
  259.                              值请参阅以下说明  
  260.   -R, --block-number         每个信息都显示归档内的块数  
  261.       --show-defaults        显示 tar 默认选项  
  262.       --show-omitted-dirs  
  263.                              列表或解压时,列出每个不匹配查找标准的目录  
  264.       --show-snapshot-field-ranges  
  265.                              show valid ranges for snapshot-file fields  
  266.       --show-transformed-names, --show-stored-names  
  267.                              显示变换后的文件名或归档名  
  268.       --totals[=SIGNAL]      处理归档后打印出总字节数;当此  
  269.                              SIGNAL 被触发时带参数 -  
  270.                              打印总字节数;允许的信号为:  
  271.                              SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和  
  272.                              SIGUSR2;同时也接受不带 SIG  
  273.                              前缀的信号名称  
  274.       --utc                  以 UTC 格式打印文件修改时间  
  275.   -v, --verbose              详细地列出处理的文件  
  276.       --warning=KEYWORD      警告控制:  
  277.   -w, --interactive, --confirmation  
  278.                              每次操作都要求确认  
  279.   
  280.  兼容性选项:  
  281.   
  282.   -o                         创建归档时,相当于  
  283.                              --old-archive;展开归档时,相当于  
  284.                              --no-same-owner  
  285.   
  286.  其它选项:  
  287.   
  288.   -?, --help                 显示此帮助列表  
  289.       --restrict             禁用某些潜在的有危险的选项  
  290.       --usage                显示简短的用法说明  
  291.       --version              打印程序版本  
  292.   
  293. 长选项和相应短选项具有相同的强制参数或可选参数。  
  294.   
  295. The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.  
  296. The version control may be set with --backup or VERSION_CONTROL, values are:  
  297.   
  298.   none, off       never make backups  
  299.   t, numbered     make numbered backups  
  300.   nil, existing   numbered if numbered backups exist, simple otherwise  
  301.   never, simple   always make simple backups  
  302.   
  303. --quoting-style 选项的有效参数为:  
  304.   
  305.   literal  
  306.   shell  
  307.   shell-always  
  308.   c  
  309.   c-maybe  
  310.   escape  
  311.   locale  
  312.   clocale  
  313.   
  314. 此 tar 默认为:  
  315. --format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/lib/tar/rmt  
  316. --rsh-command=/usr/bin/rsh  
  317.   
  318. 将错误报告发送到 <bug-tar@gnu.org>。  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值