1 tar

1.2 tar介绍

  tar命令是linux系统中对文件和目录解压缩命令。tar命令可以用于对后缀名为.tar,tar.gz等常用文件。

1.3 tar参数

系统中通过tar --help查看:

 Main operation mode:-A, --catenate, --concatenate   append tar files to an archive-c, --create               create a new archive-d, --diff, --compare      find differences between archive and file system--delete               delete from the archive (not on mag tapes!)-r, --append               append files to the end of an archive-t, --list                 list the contents of an archive--test-label           test the archive volume label and exit-u, --update               only append files newer than copy in archive-x, --extract, --get       extract files from an archiveOperation modifiers:--check-device         check device numbers when creating incrementalarchives (default)-g, --listed-incremental=FILE   handle new GNU-format incremental backup-G, --incremental          handle old GNU-format incremental backup--ignore-failed-read   do not exit with nonzero on unreadable files--level=NUMBER         dump level for created listed-incremental archive-n, --seek                 archive is seekable--no-check-device      do not check device numbers when creatingincremental archives--no-seek              archive is not seekable--occurrence[=NUMBER]  process only the NUMBERth occurrence of each filein the archive; this option is valid only inconjunction with one of the subcommands --delete,--diff, --extract or --list and when a list offiles is given either on the command line or viathe -T option; NUMBER defaults to 1--sparse-version=MAJOR[.MINOR]set version of the sparse format to use (implies--sparse)-S, --sparse               handle sparse files efficientlyOverwrite control:-k, --keep-old-files       don't replace existing files when extracting,treat them as errors--keep-newer-files     don't replace existing files that are newer thantheir archive copies--no-overwrite-dir     preserve metadata of existing directories--overwrite            overwrite existing files when extracting--overwrite-dir        overwrite metadata of existing directories whenextracting (default)--recursive-unlink     empty hierarchies prior to extracting directory--remove-files         remove files after adding them to the archive--skip-old-files       don't replace existing files when extracting,silently skip over them-U, --unlink-first         remove each file prior to extracting over it-W, --verify               attempt to verify the archive after writing itSelect output stream:--ignore-command-error ignore exit codes of children--no-ignore-command-error   treat non-zero exit codes of children aserror-O, --to-stdout            extract files to standard output--to-command=COMMAND   pipe extracted files to another programHandling of file attributes:--atime-preserve[=METHOD]   preserve access times on dumped files, eitherby restoring the times after reading(METHOD='replace'; default) or by not setting thetimes in the first place (METHOD='system')--delay-directory-restore   delay setting modification times andpermissions of extracted directories until the endof extraction--group=NAME           force NAME as group for added files--mode=CHANGES         force (symbolic) mode CHANGES for added files--mtime=DATE-OR-FILE   set mtime for added files from DATE-OR-FILE-m, --touch                don't extract file modified time--no-delay-directory-restorecancel the effect of --delay-directory-restoreoption--no-same-owner        extract files as yourself (default for ordinaryusers)--no-same-permissions  apply the user's umask when extracting permissionsfrom the archive (default for ordinary users)--numeric-owner        always use numbers for user/group names--owner=NAME           force NAME as owner for added files-p, --preserve-permissions, --same-permissionsextract information about file permissions(default for superuser)--preserve             same as both -p and -s--same-owner           try extracting files with the same ownership asexists in the archive (default for superuser)-s, --preserve-order, --same-ordersort names to extract to match archiveHandling of extended file attributes:--acls                 Enable the POSIX ACLs support--no-acls              Disable the POSIX ACLs support--no-selinux           Disable the SELinux context support--no-xattrs            Disable extended attributes support--selinux              Enable the SELinux context support--xattrs               Enable extended attributes support--xattrs-exclude=MASK  specify the exclude pattern for xattr keys--xattrs-include=MASK  specify the include pattern for xattr keysDevice selection and switching:-f, --file=ARCHIVE         use archive file or device ARCHIVE--force-local          archive file is local even if it has a colon-F, --info-script=NAME, --new-volume-script=NAMErun script at end of each tape (implies -M)-L, --tape-length=NUMBER   change tape after writing NUMBER x 1024 bytes-M, --multi-volume         create/list/extract multi-volume archive--rmt-command=COMMAND  use given rmt COMMAND instead of rmt--rsh-command=COMMAND  use remote COMMAND instead of rsh--volno-file=FILE      use/update the volume number in FILEDevice blocking:-b, --blocking-factor=BLOCKS   BLOCKS x 512 bytes per record-B, --read-full-records    reblock as we read (for 4.2BSD pipes)-i, --ignore-zeros         ignore zeroed blocks in archive (means EOF)--record-size=NUMBER   NUMBER of bytes per record, multiple of 512Archive format selection:-H, --format=FORMAT        create archive of the given formatFORMAT is one of the following:gnu                      GNU tar 1.13.x formatoldgnu                   GNU format as per tar <= 1.12pax                      POSIX 1003.1-2001 (pax) formatposix                    same as paxustar                    POSIX 1003.1-1988 (ustar) formatv7                       old V7 tar format--old-archive, --portabilitysame as --format=v7--pax-option=keyword[[:]=value][,keyword[[:]=value]]...control pax keywords--posix                same as --format=posix-V, --label=TEXT           create archive with volume name TEXT; atlist/extract time, use TEXT as a globbing patternfor volume nameCompression options:-a, --auto-compress        use archive suffix to determine the compressionprogram-I, --use-compress-program=PROGfilter through PROG (must accept -d)-j, --bzip2                filter the archive through bzip2-J, --xz                   filter the archive through xz--lzip                 filter the archive through lzip--lzma                 filter the archive through lzma--lzop--no-auto-compress     do not use archive suffix to determine thecompression program-z, --gzip, --gunzip, --ungzip   filter the archive through gzip-Z, --compress, --uncompress   filter the archive through compressLocal file selection:--add-file=FILE        add given FILE to the archive (useful if its namestarts with a dash)--backup[=CONTROL]     backup before removal, choose version CONTROL-C, --directory=DIR        change to directory DIR--exclude=PATTERN      exclude files, given as a PATTERN--exclude-backups      exclude backup and lock files--exclude-caches       exclude contents of directories containingCACHEDIR.TAG, except for the tag file itself--exclude-caches-all   exclude directories containing CACHEDIR.TAG--exclude-caches-under exclude everything under directories containingCACHEDIR.TAG--exclude-tag=FILE     exclude contents of directories containing FILE,except for FILE itself--exclude-tag-all=FILE exclude directories containing FILE--exclude-tag-under=FILE   exclude everything under directoriescontaining FILE--exclude-vcs          exclude version control system directories-h, --dereference          follow symlinks; archive and dump the files theypoint to--hard-dereference     follow hard links; archive and dump the files theyrefer to-K, --starting-file=MEMBER-NAMEbegin at member MEMBER-NAME in the archive--newer-mtime=DATE     compare date and time when data changed only--no-null              disable the effect of the previous --null option--no-recursion         avoid descending automatically in directories--no-unquote           do not unquote filenames read with -T--null                 -T reads null-terminated names, disable -C-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILEonly store files newer than DATE-OR-FILE--one-file-system      stay in local file system when creating archive-P, --absolute-names       don't strip leading `/'s from file names--recursion            recurse into directories (default)--suffix=STRING        backup before removal, override usual suffix ('~'unless overridden by environment variableSIMPLE_BACKUP_SUFFIX)-T, --files-from=FILE      get names to extract or create from FILE--unquote              unquote filenames read with -T (default)-X, --exclude-from=FILE    exclude patterns listed in FILEFile name transformations:--strip-components=NUMBER   strip NUMBER leading components from filenames on extraction--transform=EXPRESSION, --xform=EXPRESSIONuse sed replace EXPRESSION to transform filenamesFile name matching options (affect both exclude and include patterns):--anchored             patterns match file name start--ignore-case          ignore case--no-anchored          patterns match after any `/' (default forexclusion)--no-ignore-case       case sensitive matching (default)--no-wildcards         verbatim string matching--no-wildcards-match-slash   wildcards do not match `/'--wildcards            use wildcards (default)--wildcards-match-slash   wildcards match `/' (default for exclusion)Informative output:--checkpoint[=NUMBER]  display progress messages every NUMBERth record(default 10)--checkpoint-action=ACTION   execute ACTION on each checkpoint--full-time            print file time to its full resolution--index-file=FILE      send verbose output to FILE-l, --check-links          print a message if not all links are dumped--no-quote-chars=STRING   disable quoting for characters from STRING--quote-chars=STRING   additionally quote characters from STRING--quoting-style=STYLE  set name quoting style; see below for valid STYLEvalues-R, --block-number         show block number within archive with each message--show-defaults        show tar defaults--show-omitted-dirs    when listing or extracting, list each directorythat does not match search criteria--show-transformed-names, --show-stored-namesshow file or archive names after transformation--totals[=SIGNAL]      print total bytes after processing the archive;with an argument - print total bytes when thisSIGNAL is delivered; Allowed signals are: SIGHUP,SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the nameswithout SIG prefix are also accepted--utc                  print file modification times in UTC-v, --verbose              verbosely list files processed--warning=KEYWORD      warning control-w, --interactive, --confirmationask for confirmation for every actionCompatibility options:-o                         when creating, same as --old-archive; whenextracting, same as --no-same-ownerOther options:-?, --help                 give this help list--restrict             disable use of some potentially harmful options--usage                give a short usage message--version              print program version

挑选常用的参数说明:

  • -c:创建新的压缩文件
  • -x :从压缩的文件中解压文件
  • -v :显示解压缩操作的过程
  • -f :指定压缩文件
  • -z :支持gzip解压文件
  • -C :切换到指定目录
  • -r:添加文件至已压缩文件
  • -u: 添加改变了和现有的文件到已经存在的压缩文件
  • -t :显示压缩文件的内容目录结构等
  • -j :支持bzip2解压文件
  • -k :解压时不覆盖当前目录下原有文件
  • –delete:删除压缩包内的文件

1.4 tar压缩

1.4.1 压缩tar包
使用-c参数
多个文件压缩:
tar -cvf t.tar t1.txt t2.txt
目录压缩:
tar -cvf dir.tar dir1/
匹配压缩:
tar -cvf t.tar *.txt

1.4.2 压缩tar.gz包
使用-z参数
压缩为gizp
tar -zcvf t.tar.gz t1.txt t2.txt

1.4.3 压缩gar.bz2包
使用-j参数
压缩为bzip2
tar -jcvf t.tar.bz2 t1.txt t2.txt

1.4.4 查看压缩包内容
使用-t参数
tar -tvf t.tar

1.4.5 向压缩包添加/更新文件
使用-r参数
tar -rf t.tar newfile

1.4.6 删除压缩包内的文件
如t.tar内包含了t1.txt和其他文件,需删除t1.txt文件,使用--delete参数,需要注意删除文件的目录是全路径。
tar -f t.tar --delete /t/t1.txt

1.4.7 压缩时删除源文件
慎用,如果删除源文件较多时,可以使用这个命令。
tar -zcvf t.tar.gz t1.txt --remove-files

1.5 tar解压

1.5.1 直接解压到当前目录
使用-x参数
tar -xvf t.tar

1.5.2 解压到指定目录
使用-C参数
tar -xvf t.tar -C dir

1.5.3 解压包中的某些文件
tar -xvf t.tar t/t1.txt -C dir1
如上,将t.tar压缩包中的t1.txt解压至dir1目录。

1.5.4 解压不覆盖原有文件
使用-k参数
tar -xvkf t.tar

1.5.5 去除目录结构
使用--strip-components,如去掉一层目录
tar -xvf t.tar.gz --strip-components=1

2 zip/unzip

2.1 zip/unzip介绍

  zip和unzip命令主要用于处理zip包,但是我们也可以用unzip去解压jar包。

2.2 zip/unzip参数

zip参数

zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]The default action is to add or replace zipfile entries from list, whichcan include the special name - to compress standard input.If zipfile and list are omitted, zip compresses stdin to stdout.-f   freshen: only changed files  -u   update: only changed or new files-d   delete entries in zipfile    -m   move into zipfile (delete OS files)-r   recurse into directories     -j   junk (don't record) directory names-0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)-1   compress faster              -9   compress better-q   quiet operation              -v   verbose operation/print version info-c   add one-line comments        -z   add zipfile comment-@   read names from stdin        -o   make zipfile as old as latest entry-x   exclude the following names  -i   include only the following names-F   fix zipfile (-FF try harder) -D   do not add directory entries-A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)-T   test zipfile integrity       -X   eXclude eXtra file attributes-y   store symbolic links as the link instead of the referenced file-e   encrypt                      -n   don't compress these suffixes-h2  show more help

常用:

  • -f 与"-u"参数类似,更新/创建文件;
  • -d 删除压缩文件内指定的文件;
  • -r 递归处理指定目录及子目录;
  • -j 只压缩该目录下的所有文件,不带目录名。
  • -u 更换较新的文件到压缩文件内。
  • -v 显示指令执行过程或显示版本信息。
  • -y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。

unzip参数

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]Default action is to extract files in list, except those in xlist, to exdir;file[.zip] may be a wildcard.  -Z => ZipInfo mode ("unzip -Z" for usage).-p  extract files to pipe, no messages     -l  list files (short format)-f  freshen existing files, create none    -t  test compressed archive data-u  update files, create if necessary      -z  display archive comment only-v  list verbosely/show version info       -T  timestamp archive to latest-x  exclude files that follow (in xlist)   -d  extract files into exdir
modifiers:-n  never overwrite existing files         -q  quiet mode (-qq => quieter)-o  overwrite files WITHOUT prompting      -a  auto-convert any text files-j  junk paths (do not make directories)   -aa treat ALL files as text-U  use escapes for all non-ASCII Unicode  -UU ignore any Unicode fields-C  match filenames case-insensitively     -L  make (some) names lowercase-X  restore UID/GID info                   -V  retain VMS version numbers-K  keep setuid/setgid/tacky permissions   -M  pipe through "more" pager-O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives-I CHARSET  specify a character encoding for UNIX and other archivesSee "unzip -hh" or unzip.txt for more help.  Examples:unzip data1 -x joe   => extract all files except joe from zipfile data1.zipunzip -p foo | more  => send contents of foo.zip via pipe into program moreunzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer

常用参数说明:

  • -l 显示压缩包内文件
  • -j 只保存文件名称及其内容,而不存放任何目录名称。
  • -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该
  • -v 显示指令执行过程或显示版本信息。
  • -d 指定解压目录,目录不存在会创建

2.1 压缩 zip

2.1.1 压缩目录
使用-r参数
zip -r t.zip dir/

2.1.2 压缩目录下的文件,不带目录名
使用-j参数
zip -rj t.zip dir/

2.1.3 删除压缩包内的指定文件
使用-d参数,如删除t.zip中的t1.txt文件:
zip -d t.zip t1.txt

2.2 解压 unzip

2.2.1 查看解压包的文件信息
使用-l参数
unzip -l t.zip

2.2.2 查看解压包内的文件详细信息
使用-v参数
unzip -v t.zip

2.2.3 解压压缩包到当前目录
使用-o参数
unzip -o t.zip

2.2.4 解压压缩包到指定目录
使用-d参数
unzip -o t.zip -d test/

2.2.5 解压压缩包内的指定文件
unzip -o t.zip "t2.txt" -d t2_dir

2.2.6 解压jar包
unzip -o service-1.jar -d service_dir

示例

[test@linux01 t1]$ touch t2.txt
[test@linux01 t1]$ touch  t3.txt
[test@linux01 t1]$ zip -r t.zip *.txtadding: t2.txt (stored 0%)adding: t3.txt (stored 0%)
[test@linux01 t1]$ ll
total 4
-rw-rw-r-- 1 dsjtest dsjtest   0 Mar 19 12:15 t2.txt
-rw-rw-r-- 1 dsjtest dsjtest   0 Mar 19 12:15 t3.txt
-rw-rw-r-- 1 dsjtest dsjtest 302 Mar 19 12:15 t.zip
[test@linux01 t1]$
[test@linux01 t1]$
[test@linux01 t1]$ unzip -l t.zip
Archive:  t.zipLength      Date    Time    Name
---------  ---------- -----   ----0  03-19-2020 12:15   t2.txt0  03-19-2020 12:15   t3.txt
---------                     -------0                     2 files
[test@linux01 t1]$
[test@linux01 t1]$
[test@linux01 t1]$ unzip -v t.zip
Archive:  t.zipLength   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----0  Stored        0   0% 03-19-2020 12:15 00000000  t2.txt0  Stored        0   0% 03-19-2020 12:15 00000000  t3.txt
--------          -------  ---                            -------0                0   0%                            2 files
[test@linux01 t1]$
[test@linux01 t1]$
[test@linux01 t1]$ unzip -o t.zip -d test
Archive:  t.zipextracting: test/t2.txt             extracting: test/t3.txt
[test@linux01 t1]$ ll
total 8
-rw-rw-r-- 1 dsjtest dsjtest    0 Mar 19 12:15 t2.txt
-rw-rw-r-- 1 dsjtest dsjtest    0 Mar 19 12:15 t3.txt
drwxrwxr-x 2 dsjtest dsjtest 4096 Mar 19 12:16 test
-rw-rw-r-- 1 dsjtest dsjtest  302 Mar 19 12:15 t.zip
[test@linux01 t1]$
[test@linux01 t1]$
[test@linux01 t1]$ unzip -o t.zip "t2.txt" -d t2_dir
Archive:  t.zipextracting: t2_dir/t2.txt
[test@linux01 t1]$ ll
total 12
drwxrwxr-x 2 dsjtest dsjtest 4096 Mar 19 12:19 t2_dir
-rw-rw-r-- 1 dsjtest dsjtest    0 Mar 19 12:15 t2.txt
-rw-rw-r-- 1 dsjtest dsjtest    0 Mar 19 12:15 t3.txt
drwxrwxr-x 2 dsjtest dsjtest 4096 Mar 19 12:16 test
-rw-rw-r-- 1 dsjtest dsjtest  302 Mar 19 12:15 t.zip
[test@linux01 t1]$

Linux—解压缩命令总结(tar/zip)相关推荐

  1. linux系统管理学习笔记之一-------linux解压缩命令

    linux系统管理学习笔记之一-------linux解压缩命令 2009-12-29 11:52:55 标签:linux tar [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接 ...

  2. linux中xjvf指令,linux解压缩命令小结

    tar解压缩命令:用tar命令压缩的包称为tar包,通常以.tar结尾,常用参数如下: -v--表示显示所有过程 -f--表示指定包的文件名 -c--表示创建新的tar包 例如:tar -cf hid ...

  3. linux中哪个命令可以压缩部分文件,可以使用Linux解压缩命令,解压缩任意格式的压缩文件。...

    可以使用Linux解压缩命令,解压缩任意格式的压缩文件. 答:错 铁碳合金相图上的共晶线是 答:ECF 中国大学MOOC: 冲击电流计主要用来测量 答:短时间放电脉冲所迁移的电量 脊髓全长有两处膨大, ...

  4. linux 解压缩压缩文件(zip、rar、7z、tar)

    ____tz_zs 一.zip unzip [选项] 压缩文件名.zip 各选项的含义分别为 : -x 文件列表 解压缩文件,但不包括指定的file文件. -v 查看压缩文件目录,但不解压. -t 测 ...

  5. linux解压缩命令 tar gz,linux解压缩命令

    按照格式进行讲解: zip文件压缩: 格式:  zip  压缩文件名  源文件 example: topwqp:japan wangqiupeng$ ls cangls topwqp:japan wa ...

  6. Linux基础命令之tar解压缩详解

    原文地址:https://program-park.github.io/2022/07/31/linux_5/   tar命令可以为 Linux 的文件和目录创建档案.利用tar,可以为某一特定文件创 ...

  7. tar命令(linux解压缩命令)

    tar命令 tar命令 可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来在磁带上创建档案,现 ...

  8. linux将目录打包压缩,linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?...

    linux下tar命令实用 简介 参数: -c :建立一个压缩档案的参数指令(create 的意思): -x :解开一个压缩档案的参数指令! -t :查看 tarfile 里面的档案! 特别注意,在参 ...

  9. Linux下Ubuntu的常用压缩、解压缩命令,以及tar中的参数 cvf,xvf,cvzf,zxvf的区别

    .tar 文件(不压缩) # 仅打包,并非压缩 tar -xvf FileName.tar # 解包 tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹 ...

最新文章

  1. Asp.net 的网络打印 – Javascript 控制打印
  2. 面向对象的JavaScript-009-闭包
  3. 51nod 1562 玻璃切割 (STL map+一点点的思考)
  4. 解决IntelliJ IDEA报错Error: java: 错误: 不支持发行版本 XX
  5. 39--打印从1到最大的n位数
  6. 一文吃透Json解析工具类合集(FastJson、Jackson、Gson)
  7. 源码:Hadoop-2.7.4 启动过程中执行start-all.sh开始
  8. 这是很简单的js拖拽方法
  9. 联想x3850x6重装系统,ibm x3850 x6安装系统,2015ibm服务器x3850x6
  10. java web 基础知识 流程图
  11. 阿里聚合直播盒子源码V10.x build更新日记
  12. Jdk8下载安装配置教程
  13. Visual Studio Code (vscode)配置LaTeX最详细版(vscode下载安装+基本设置+内外pdf查看器设置+个人配置代码)
  14. 写文献综述的28个要点
  15. linux飞行模式问题解决
  16. Microsoft Office 2007 注册码office Visio 2007 注册码
  17. DOS批处理文件加密文件夹
  18. 打开chm手册显示已取消到该网页的导航
  19. 岗位po是什么意思_敏捷开发团队中PO和SM角色介绍
  20. from __future__ import unicode_literals

热门文章

  1. CPU 和 GPU频率设置
  2. 深度学习目标检测网络个人总结
  3. new关键字和newInstance()方法的区别?Class.forName()
  4. ExtJs 入门 [窗体:Window组件]
  5. axios请求失败,response.data返回的状态码及错误信息获取
  6. 基站数据库 mysql_基站位置数据库V2说明文档
  7. 萝卜源码前后端源码+打包APP的教程
  8. java sql xml_Java ResultSet.getSQLXML方法代码示例
  9. 将物体固定在坐标某个点_坐标变换(2)—不同坐标系下的变换
  10. 简洁大气带进度条的URL跳转页面HTML源码