首页 > 代码库 > Linux归档工具---tar
Linux归档工具---tar
tar指令用法:tar [-][options] [pathname...]
主要的操作模式:
-A, --catenate, --concatenate
-c,--create:创建归档
-d,diff,compare:比较归档文件与操作系统的区别
--delete:从归档中删除(注意,此处的--并不是普通的描述标记,与-c,-d这种同级)
-r,--append:递归操作
-t,--list:列表,列出归档中的文件(不展开归档文件直接查看)
--test-table:测试卷标存档并退出
-u,--update:只是将新的文件添加复制到归档文件
-x, --extract, --get:展开归档
其他操作选项:
-[0-7]:不同的归档压缩率(压缩后的文件越小就越节省硬盘空间,不过意味着压缩过程中消耗的时间越长)
-a, --auto-compress:使用归档文件后缀名来确定压缩算法
--add-file=FILE:将FILE添加到归档文件中(如果它的名字以--开头就非常有用了)
--anchored:文件名起始模式匹配
--no-anchored:默认从"/"开始匹配
--atime-preserve:保存文件访问时间
--no-auto-compress:不使用文件后缀名确定压缩算法
-b, --blocking-factor:指定块状 BLOCKS X 512
-B, --read-full-records:重新以我们读的方式指定block
-- backup:删除前备份,用于版本选择
-C,--directory DIR:更改存储路径
--check-device:在创建归档时检查设备数量(默认)
--no-check-device:默认不检查数量
--checkpoint:每NUMBER个文件归档时显示进程归档信息(默认为10)
--checkpoint-action=ACTION:在每xx时添加ACTION
--delay-directory-restore:提取的延迟设置修改时间和权限
--no-delay-directory-restore:删除--delay-directory-restore的设置
--exclude=PATTERN:通过给定的通配符排除文件
--exclude-backups:排除更新文件和锁的文件
--exclude-caches:排除包含CACHEDIR.TAG的内容
--exclude-caches-all:排除所有包含CACHEDIR.TAG的文件夹
--exclude-caches-under:排除包含有CACHEDIR.TAG文件夹下的所有内容
--exclude-tag=FILE:排除符合条件的文件夹
--exclude-tag-all=FILE:排除符合条件文件夹下的所有内容
--exclude-tag-under=FILE:
--exclude-vcs:排除系统版本控制
-f, --file ARCHIVE:将归档文件存到ARCHIVE
-F, --info-script, --new-volume-script NAME:在归档结束后执行指定脚本
--force-local:
--full-time:打印文件详细时间
-g, --listed-incremental FILE:处理符合GUN-format的增量备份
-G, --incremental:处理符合GUN-format的备份文件
--group=NAME:将归档文件指定属主
-h, --dereference:遵循符号链接,他们指出,归档和转储文件
-H, --format FORMAT:
如果符合下列条件即创建归档文件:
--format=gun
GUN tar 1.13.x format
--format=oldgnu
GNU format as per tar <= 1.12
--format=pax
POSIX 1003.1-2001 (pax) format
--format=posix
same as pax
--format=ustar
POSIX 1003.1-1988 (ustar) format
--format=v7
old V7 tar format
--hard-dereference
遵循硬链接;存档并转储文件参考
-i, --ignore-zeros
忽略0的块
-I, --use-compress-program PROG
过滤PROG,必须与-d同时使用
--ignore-case
忽略case
--no-ignore-case
敏感模式匹配(默认)
--ignore-command-error
忽略异常退出
--no-ignore-command-error
捕获非0的退出码
--ignore-failed-read
在遇到没有读权限的文件时不退出
--index-file=FILE
给文件一个版本标记
-j, --bzip2
-J, --xz
-k, --keep-old-files
don‘t replace existing files when extracting
-K, --starting-file MEMBER-NAME
begin at member MEMBER-NAME in the archive
--keep-newer-files
don‘t replace existing files that are newer than their archive copies
-l, --check-links
print a message if not all links are dumped
-L, --tape-length NUMBER
change tape after writing NUMBER x 1024 bytes
--level=NUMBER
dump level for created listed-incremental archive
--lzip
--lzma
--lzop
-m, --touch
don‘t extract file modified time
-M, --multi-volume
create/list/extract multi-volume archive
--mode=CHANGES
force (symbolic) mode CHANGES for added files
--mtime=DATE-OR-FILE
set mtime for added files from DATE-OR-FILE
-n, --seek
archive is seekable
-N, --newer, --after-date DATE-OR-FILE
only store files newer than DATE-OR-FILE
--newer-mtime=DATE
compare date and time when data changed only
--null
-T reads null-terminated names, disable -C
--no-null
disable the effect of the previous --null option
--numeric-owner
always use numbers for user/group names
-O, --to-stdout
extract files to standard output
--occurrence
process only the NUMBERth occurrence of each file in the archive;
--old-archive, --portability
same as --format=v7
--one-file-system
stay in local file system when creating archive
--overwrite
overwrite existing files when extracting
--overwrite-dir
overwrite metadata of existing directories when extracting (default)
--no-overwrite-dir
preserve metadata of existing directories
--owner=NAME
force NAME as owner for added files
-p, --preserve-permissions, --same-permissions
extract information about file permissions (default for superuser)
-P, --absolute-names
don‘t strip leading `/‘s from file names
--pax-option=keyword[[:]=value][,keyword[[:]=value]]...
control pax keywords
--posix
same as --format=posix
--preserve
same as both -p and -s
--quote-chars=STRING
additionally quote characters from STRING
--no-quote-chars=STRING
disable quoting for 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
--record-size=NUMBER
NUMBER of bytes per record, multiple of 512
--recursion
recurse into directories (default)
--no-recursion
avoid descending automatically in directories
--recursive-unlink
empty hierarchies prior to extracting directory
--remove-files
remove files after adding them to the archive
--restrict
disable use of some potentially harmful options
--rmt-command=COMMAND
use given rmt COMMAND instead of rmt
--rsh-command=COMMAND
use remote COMMAND instead of rsh
-s, --preserve-order, --same-order
sort names to extract to match archive
-S, --sparse
handle sparse files efficiently
--same-owner
try extracting files with the same ownership as exists in the archive (default for superuser)
--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)
--no-seek
archive is not seekable
--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
--sparse-version=MAJOR[.MINOR]
set version of the sparse format to use (implies --sparse)
--strip-components=NUMBER
strip NUMBER leading components from file names on extraction
--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
--to-command=COMMAND
pipe extracted files to another program
--totals
print total bytes after processing the archive;
--transform, --xform EXPRESSION
use sed replace EXPRESSION to transform file names
-U, --unlink-first
remove each file prior to extracting over it
--unquote
unquote filenames read with -T (default)
--no-unquote
do not unquote filenames read with -T
--utc
print file modification times in UTC
-v, --verbose
verbosely list files processed
-V, --label TEXT
create archive with volume name TEXT; at list/extract time, use TEXT as a globbing pattern for volume name
--volno-file=FILE
use/update the volume number in FILE
-w, --interactive, --confirmation
-W, --verify
attempt to verify the archive after writing it
--warning=KEYWORD
warning control
--wildcards
use wildcards (default for exclusion)
--wildcards-match-slash
wildcards match `/‘ (default for exclusion)
--no-wildcards-match-slash
wildcards do not match `/‘
--no-wildcards
verbatim string matching
-X, --exclude-from FILE
exclude patterns listed in FILE
-z, --gzip, --gunzip --ungzip
-Z, --compress, --uncompress
关于运行环境:tar的行为是依赖运行环境的,比如以下这些环境的配置
SIMPLE_BACKUP_SUFFIX
Backup prefix to use when extracting, if --suffix is not specified. The backup suffix defaults to `~‘ if neither is
specified.
TAR_OPTIONS
Options to prepend to those specified on the command line, separated by whitespace. Embedded backslashes may be used
to escape whitespace or backslashes within an option.
TAPE Device or file to use for the archive if --file is not specified. If this environment variable is unset, use stdin or
stdout instead.
TAR_LONGLINK_100
tar功能十分强大,了解这些功能以后可以方便我们使用,一般常用
-c:创建归档
-x:展开归档
-t:不展开而直接查看被归档的文件
-z:使用gzip压缩
-j:使用bz2压缩
-J:使用xz压缩
使用的小例子:
tar -czf script.tar.gz script
tar -xf script.tar.gz
Linux归档工具---tar