您的位置:首页 > 其它

ubuntu 常用命令 tar 解压与压缩

2014-03-04 22:24 363 查看
ubuntu常用命令之tar

1.使用tar用来解压,压缩和显示压缩文件的内容,下面附上tar的help文件:

Usage: tar [OPTION...] [FILE]...
GNU `tar' saves many files together into a single tape or disk archive, and can
restore individual files from the archive.

Examples:
tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.
tar -tvf archive.tar         # List all files in archive.tar verbosely.
tar -xf archive.tar          # Extract all files from archive.tar.

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 archive

Operation modifiers:

--check-device         check device numbers when creating incremental
archives (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 creating
incremental archives
--no-seek              archive is not seekable
--occurrence[=NUMBER]  process only the NUMBERth occurrence of each file
in the archive; this option is valid only in
conjunction with one of the subcommands --delete,
--diff, --extract or --list and when a list of
files is given either on the command line or via
the -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 efficiently

Overwrite control:

-k, --keep-old-files       don't replace existing files when extracting
--keep-newer-files     don't replace existing files that are newer than
their archive copies
--no-overwrite-dir     preserve metadata of existing directories
--overwrite            overwrite existing files when extracting
--overwrite-dir        overwrite metadata of existing directories when
extracting (default)
--recursive-unlink     empty hierarchies prior to extracting directory
--remove-files         remove files after adding them to the archive
-U, --unlink-first         remove each file prior to extracting over it
-W, --verify               attempt to verify the archive after writing it

Select output stream:

--ignore-command-error ignore exit codes of children
--no-ignore-command-error   treat non-zero exit codes of children as
error
-O, --to-stdout            extract files to standard output
--to-command=COMMAND   pipe extracted files to another program

Handling of file attributes:

--atime-preserve[=METHOD]   preserve access times on dumped files, either
by restoring the times after reading
(METHOD='replace'; default) or by not setting the
times in the first place (METHOD='system')
--delay-directory-restore   delay setting modification times and
permissions of extracted directories until the end
of 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-restore
cancel the effect of --delay-directory-restore
option
--no-same-owner        extract files as yourself (default for ordinary
users)
--no-same-permissions  apply the user's umask when extracting permissions
from 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-permissions
extract information about file permissions
(default for superuser)
--preserve             same as both -p and -s
--same-owner           try extracting files with the same ownership as
exists in the archive (default for superuser)
-s, --preserve-order, --same-order
sort names to extract to match archive

Device 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=NAME
run 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 FILE

Device 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 512

Archive format selection:

-H, --format=FORMAT        create archive of the given format

FORMAT is one of the following:

gnu                      GNU tar 1.13.x format
oldgnu                   GNU format as per tar <= 1.12
pax                      POSIX 1003.1-2001 (pax) format
posix                    same as pax
ustar                    POSIX 1003.1-1988 (ustar) format
v7                       old V7 tar format

--old-archive, --portability
same 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; at
list/extract time, use TEXT as a globbing pattern
for volume name

Compression options:

-a, --auto-compress        use archive suffix to determine the compression
program
-I, --use-compress-program=PROG
filter 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 xz
--lzop
--no-auto-compress     do not use archive suffix to determine the
compression program
-z, --gzip, --gunzip, --ungzip   filter the archive through gzip
-Z, --compress, --uncompress   filter the archive through compress

Local file selection:

--add-file=FILE        add given FILE to the archive (useful if its name
starts 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 containing
CACHEDIR.TAG, except for the tag file itself
--exclude-caches-all   exclude directories containing CACHEDIR.TAG
--exclude-caches-under exclude everything under directories containing
CACHEDIR.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 directories
containing FILE
--exclude-vcs          exclude version control system directories
-h, --dereference          follow symlinks; archive and dump the files they
point to
--hard-dereference     follow hard links; archive and dump the files they
refer to
-K, --starting-file=MEMBER-NAME
begin 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-FILE
only 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 variable
SIMPLE_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 FILE

File name transformations:

--strip-components=NUMBER   strip NUMBER leading components from file
names on extraction
--transform=EXPRESSION, --xform=EXPRESSION
use sed replace EXPRESSION to transform file
names

File 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 for
exclusion)
--no-ignore-case       case sensitive matching (default)
--no-wildcards         verbatim string matching
--no-wildcards-match-slash   wildcards do not match `/'
--wildcards            use wildcards (default for exclusion)
--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 STYLE
values
-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 directory
that does not match search criteria
--show-transformed-names, --show-stored-names
show file or archive names after transformation
--totals[=SIGNAL]      print total bytes after processing the archive;
with an argument - print total bytes when this
SIGNAL is delivered; Allowed signals are: SIGHUP,
SIGQUIT, SIGINT, SIGUSR1 and SIGUSR2; the names
without SIG prefix are also accepted
--utc                  print file modification times in UTC
-v, --verbose              verbosely list files processed
--warning=KEYWORD      warning control
-w, --interactive, --confirmation
ask for confirmation for every action

Compatibility options:

-o                         when creating, same as --old-archive; when
extracting, same as --no-same-owner

Other options:

-?, --help                 give this help list
--restrict             disable use of some potentially harmful options
--usage                give a short usage message
--version              print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control may be set with --backup or VERSION_CONTROL, values are:

none, off       never make backups
t, numbered     make numbered backups
nil, existing   numbered if numbered backups exist, simple otherwise
never, simple   always make simple backups

Valid arguments for the --quoting-style option are:

literal
shell
shell-always
c
c-maybe
escape
locale
clocale

*This* tar defaults to:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/sbin/rmt
--rsh-command=/usr/bin/rsh

Report bugs to <bug-tar@gnu.org>.


2.不得不说解压缩的命令的参数实在太多,下面只能尽量翻译一下

使用:tar [选项] [文件]

tar将很多文件保存到一个单个的磁带或者磁盘归档,还可以从归档中恢复出来。

举例:

tar -cf archive.tar foo bar # 将foo和bar保存到一个归档archive.tar中

tar -tvf archive.tar # 显示归档archive.tar中的文件

tar -xf archive.tar # 从归档archive.tar中提取出所有文件

主要的操作模式:

-A, --catenate, --concatenate 附加文件到归档中

-c, --create 创建一个新的归档

-d, --diff, --compare 找出文件与归档的不同

--delete 从归档中删除

-r, --append 在归档尾部附加文件

-t, --list 显示归档保存的文件

--test-label 测试归档的卷标并退出

-u, --update 只附加比归档新的文件

-x, --extract, --get 从归档中提取文件

操作修正

--check-device 创建归档时,检查设备号

-g, --listed-incremental=FILE 处理新的GUN格式时增量备份

-G, --incremental 处理旧的GUN格式时增量备份

--ignore-failed-read 错误读取是不退出

--level=NUMBER 创建归档增量等级

-n, --seek 归档可查找

--no-check-device 创建归档时,不检查设备号

--no-seek 归档不可查找

--occurrence[=NUMBER] process only the NUMBERth occurrence of each file

in the archive; this option is valid only in

conjunction with one of the subcommands --delete,

--diff, --extract or --list and when a list of

files is given either on the command line or via

the -T option; NUMBER defaults to 1

--sparse-version=MAJOR[.MINOR]

当时用稀疏存储时,设置稀疏存储的格式

-S, --sparse 高效存储稀疏文件

覆盖控制:

-k, --keep-old-files 归档时不替换旧的文件

--keep-newer-files 不替换比归档新的文件

--no-overwrite-dir 保留已存在在目录的元数据

--overwrite 当解压时覆盖已经存在的文件

--overwrite-dir 解压时覆盖已经存在的元数据(默认设置)

--recursive-unlink 解压之前去除文件的目录递归(去除文件夹)

--remove-files 归档后删除文件

-U, --unlink-first 解压前先移除它的文件

-W, --verify 写操作后进行验证

选择输出流:

设备的选择和切换:

设备块:

归档格式选择:

-H, --format=FORMAT 以给定的格式归档

FORMAT格式如下:

gnu GNU tar 1.13.x format

oldgnu GNU format as per tar <= 1.12

pax POSIX 1003.1-2001 (pax) format

posix same as pax

ustar POSIX 1003.1-1988 (ustar) format

v7 old V7 tar format

--old-archive, --portability 与 --format=v7一样

--pax-option=keyword[[:]=value][,keyword[[:]=value]]...

control pax keywords

--posix same as --format=posix

压缩选项:

-a, --auto-compress 使用归档的后缀压缩

-I, --use-compress-program=PROG

使用 PROG 过滤(must accept -d)

-j, --bzip2 通过 bzip2 过滤

-J, --xz 通过 xz过滤

--lzip 通过 lzip 过滤

--lzma 通过 xz过滤

--lzop

--no-auto-compress 不是用归档后缀决定压缩

-z, --gzip, --gunzip, --ungzip 通过 gzip过滤

-Z, --compress, --uncompress 使用压缩过滤归档

本地文件选择:

文件名转换:

文件名匹配选项(同时影响图片的选择和排除)

提示信息输出:

兼容性选项:

其他选项:

-?, --help 给出帮助信息

--restrict 一些可能有害的选项

--usage 给出简短的帮助信息

--version 输出程序版本

备份的后缀名是‘~’,除非你设置 -- suffix或者SIMPLE_BACKUP_SUFFIX.也可以通过--backup or VERSION_CONTROL设置备份的版本,参数如下:

none, off 从来不备份

t, numbered 设置编号备份

nil, existing 当存在其他备份时,设置编号

never, simple 总是简单的备份

3.简单的使用介绍

压缩:

tar -cvf filename.tar /home/mine/work /home/mine/school


将多个文件或者目录打包到filename.tar中,应该不进行压缩,只是打包

tar -cjvf filename.xz file


使用-j将文件file以tbz格式压缩到 filename.xz

文件列表:

tar -tvf filename.tar


列出filename.tar中的文件

解压:

tar -xvf filename.tar


解压filename.tar

4.总结

由于刚接触命令,所以有很多东西都还理解的不到位,只能在后续的学习中继续了解,希望大家多多交流指导。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: