- 论坛徽章:
- 0
|
tar linux 命令说明
参考资料
l
《鸟哥的 Linux 私房菜》之 “
档案的压缩与打包
”
l
《Linux 基础教程(1) 操作系统基础》第14章
简介
参数:
-c :建立一个压缩档案的参数指令(create 的意思);
-x :解开一个压缩档案的参数指令!
-t :查看 tarfile 里面的档案!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示档案!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原档案的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的档案中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例:
范例一:将整个 /etc 目录下的档案全部打包成为
/tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc 仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc 打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc 打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的档案档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表
gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing
leading `/' from member names』那是关于绝对路径的特殊设定。
范例二:查阅上述 /tmp/etc.tar.gz 档案内有哪些档案?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
# 由于我们使用 gzip 压缩,所以要查阅该 tar file 内的档案时,
# 就得要加上 z 这个参数了!这很重要的!
范例三:将 /tmp/etc.tar.gz 档案解压缩在
/usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到
/usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
# 则解开的目录会在
/usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的档案属性与
/etc/ 可能会有所不同喔!
范例四:在 /tmp 底下,我只想要将
/tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个档案,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
范例五:将 /etc/ 内的所有档案备份下来,并且保存其权限!
[root@linux ~]# tar -zcvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本档案的属性时!
范例六:在 /home 当中,比 2005/06/01
新的档案才备份
[root@linux ~]# tar -N '2005/06/01'
-zcvf home.tar.gz /home
范例七:我要备份 /home, /etc ,但不要
/home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf
myfile.tar.gz /home/* /etc
范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生档案!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
# 这个动作有点像是 cp -r
/etc /tmp 啦~依旧是有其有用途的!
# 要注意的地方在于输出档变成 - 而输入档也变成 - ,又有一个 | 存在~
# 这分别代表 standard
output, standard input 与管线命令啦!
# 这部分我们会在 Bash
shell 时,再次提到这个指令跟大家再解释啰!
NAME
tar - The GNU version
of the tar archiving utility
SYNOPSIS
tar
[options]
Operations:
[-]A --catenate
--concatenate
[-]c --create
[-]d --diff --compare
[-]r --append
[-]t --list
[-]u --update
[-]x --extract --get
--delete
Common Options:
-C, --directory DIR
-f, --file F
-j, --bzip2
-p, --preserve-permissions
-v, --verbose
-z, --gzip
All Options:
[ --atime-preserve ] [
-b, --blocking-factor N ] [ -B, --read-full-records ] [ --backup BACKUP-TYPE ]
[ --block-
compress ] [ -C,
--directory DIR ] [ --check-links ] [ --checkpoint ] [ -f, --file
[HOSTNAME:]F ] [
-F, --info-
script F
--new-volume-script F ]
[ --force-local ] [ --format FORMAT ] [ -g,
--listed-incremental F ] [ -G,
--incremental ] [
--group GROUP ] [ -h, --dereference ] [ --help ] [ -i, --ignore-zeros ]
[ --ignore-case ] [
--ignore-failed-read ] [ --index-file FILE ] [ -j, --bzip2 ] [ -k,
--keep-old-files ] [ -K, --starting-file F ] [
--keep-newer-files ] [
-l, --one-file-system ] [ -L, --tape-length N ] [ -m, --touch,
--modification-time ] [ -M,
--multi-volume ]
[ --mode PERMISSIONS
] [ -N, --after-date DATE, --newer DATE ] [ --newer-mtime DATE ] [ --no-
anchored ] [
--no-ignore-case ] [ --no-recursion ] [ --no-same-permissions ] [ --no-wildcards
] [
--no-wildcards-
match-slash ] [ --null
] [ --numeric-owner ] [ -o, --old-archive, --portability,
--no-same-owner ] [ -O, --to-
stdout ] [ --occurrence
NUM ] [ --overwrite ] [ --overwrite-dir ] [ --owner USER ] [ -p, --same-permissions,
--pre-
serve-permissions ]
[ -P, --absolute-names ]
[ --pax-option KEYWORD-LIST ] [ --posix ] [ --preserve ] [
-R,
--block-number ] [
--record-size SIZE ] [ --recursion ] [ --recursive-unlink ] [ --remove-files
] [
--rmt-command
CMD ]
[ --rsh-command CMD ]
[ -s, --same-order, --preserve-order ] [ -S, --sparse ] [ --same-owner ] [
--show-
defaults ] [
--show-omitted-dirs ] [ --strip-components NUMBER, --strip-path NUMBER (1) ] [
--suffix SUFFIX ] [ -T,
--files-from F ] [ --totals ] [ -U, --unlink-first ] [
--use-compress-program PROG ] [ --utc ] [ -v, --verbose ]
[ -V, --label NAME ] [
--version ] [ --volno-file F ] [ -w,
--interactive, --confirmation ] [
-W, --verify ] [
--wildcards
] [ --wildcards-match-slash ]
[ --exclude PATTERN ] [ -X,
--exclude-from FILE ] [ -Z, --compress,
--uncompress ] [ -z,
--gzip, --gunzip, --ungzip ] [ -[0-7][lmh] ]
(1)
tar-1.14 uses --strip-path,
tar-1.14.90+ uses --strip-components
DESCRIPTION
This manual page
documents the GNU version of tar, an archiving program designed to store and
extract files from an
archive file
known as a
tarfile. A tarfile may be made on
a tape drive, however, it is also common to write a
tarfile to a normal
file. The first argument to tar must be
one of the options Acdrtux, followed by
any optional
functions. The final arguments to tar are the names of
the files or directories which should be archived. The use
of a directory name
always implies that the subdirectories below should be included in the archive.
EXAMPLES
tar -xvf foo.tar
verbosely
extract foo.tar
tar -xzf foo.tar.gz
extract gzipped
foo.tar.gz
tar -cjf foo.tar.bz2
bar/
create bzipped
tar archive of the directory bar called foo.tar.bz2
tar -xjf foo.tar.bz2 -C
bar/
extract bzipped
foo.tar.bz2 after changing directory to bar
tar -xzf foo.tar.gz
blah.txt
extract the file blah.txt from
foo.tar.bz2
FUNCTION LETTERS
One of the following
options must be used:
-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
-r, --append
append files to
the end of an archive
-t, --list
list the
contents of an archive
-u, --update
only append files that are newer
than the existing in archive
-x, --extract, --get
extract files
from an archive
--delete
delete from the
archive (not for use on mag tapes!)
COMMON OPTIONS
-C, --directory DIR
change to
directory DIR
-f, --file [HOSTNAME:]F
use archive file
or device F (default "-", meaning stdin/stdout)
-j, --bzip2
filter archive
through bzip2, use to decompress .bz2 files
-p,
--preserve-permissions
extract all
protection information
-v, --verbose
verbosely list
files processed
-z, --gzip, --ungzip
filter the
archive through gzip
ALL OPTIONS
--atime-preserve
don’t change
access times on dumped files
-b, --blocking-factor N
block size of
Nx512 bytes (default N=20)
-B, --read-full-blocks
reblock as we
read (for reading 4.2BSD pipes)
--backup BACKUP-TYPE
backup files
instead of deleting them using BACKUP-TYPE simple or numbered
--block-compress
block the output
of compression program for tapes
-C, --directory DIR
change to
directory DIR
--check-links
warn if number
of hard links to the file on the filesystem mismatch the number of
links recorded in the
archive
--checkpoint
print directory
names while reading the archive
-f, --file [HOSTNAME:]F
use archive file
or device F (default "-", meaning stdin/stdout)
-F, --info-script F
--new-volume-script F
run script at
end of each tape (implies --multi-volume)
--force-local
archive file is local even if has a colon
--format FORMAT
selects output
archive format
v7 - Unix V7
oldgnu - GNU tar
gnu - GNU tar
1.13
ustar -
POSIX.1-1988
posix - POSIX.1-2001
-g,
--listed-incremental F
create/list/extract new GNU-format incremental backup
-G, --incremental
create/list/extract old GNU-format incremental backup
-h, --dereference
don’t dump symlinks; dump the files they
point to
--help like this
manpage, but not as cool
-i, --ignore-zeros
ignore blocks of
zeros in archive (normally mean EOF)
--ignore-case
ignore case when
excluding files
--ignore-failed-read
don’t exit
with non-zero status on unreadable files
--index-file FILE
send verbose
output to FILE instead of stdout
-j, --bzip2
filter archive
through bzip2, use to decompress .bz2 files
-k, --keep-old-files
keep existing
files; don’t overwrite them from archive
-K, --starting-file F
begin at file F
in the archive
--keep-newer-files
do not overwrite
files which are newer than the archive
-l, --one-file-system
stay in local
file system when creating an archive
-L, --tape-length N
change tapes
after writing N*1024 bytes
-m, --touch, --modification-time
don’t extract
file modified time
-M, --multi-volume
create/list/extract multi-volume archive
--mode PERMISSIONS
apply
PERMISSIONS while adding files (see chmod(1))
-N, --after-date DATE,
--newer DATE
only store files
newer than DATE
--newer-mtime DATE
like --newer,
but with a DATE
--no-anchored
match any
subsequenceof the name’s components with --exclude
--no-ignore-case
use case-sensitive matching with
--exclude
--no-recursion
don’t recurse
into directories
--no-same-permissions
apply user’s
umask when extracting files instead of recorded permissions
--no-wildcards
don’t use
wildcards with --exclude
--no-wildcards-match-slash
wildcards do not
match slashes (/) with --exclude
--null --files-from
reads null-terminated names, disable --directory
--numeric-owner
always use
numbers for user/group names
-o, --old-archive,
--portability
like
--format=v7; -o exhibits this behavior when creating an archive (deprecated
behavior)
-o, --no-same-owner
do not attempt
to restore ownership when extracting; -o exhibits this behavior when extracting
an archive
-O, --to-stdout
extract files to
standard output
--occurrence NUM
process only NUM
occurrences of each named file; used with --delete, --diff, --extract, or
--list
--overwrite
overwrite
existing files and directory metadata when extracting
--overwrite-dir
overwrite
directory metadata when extracting
--owner USER
change owner of extraced files to
USER
-p, --same-permissions,
--preserve-permissions
extract all
protection information
-P, --absolute-names
don’t strip
leading ‘/’s from file names
--pax-option
KEYWORD-LIST
used only with
POSIX.1-2001 archives to modify the way tar handles extended header keywords
--posix
like
--format=posix
--preserve
like
--preserve-permissions --same-order
-R, --record-number
show record
number within archive with each message
--record-size SIZE
use SIZE bytes
per record when accessing archives
--recursion
recurse into
directories
--recursive-unlink
remove existing
directories before extracting directories of the same name
--remove-files
remove files
after adding them to the archive
--rmt-command CMD
use CMD instead
of the default /usr/sbin/rmt
--rsh-command CMD
use remote CMD
instead of rsh(1)
-s, --same-order,
--preserve-order
list of names to
extract is sorted to match archive
-S, --sparse
handle sparse
files efficiently
--same-owner
create extracted
files with the same ownership
--show-defaults
display the
default options used by tar
--show-omitted-dirs
print
directories tar skips while operating on an archive
--strip-components
NUMBER, --strip-path NUMBER
strip NUMBER of
leading components from file names before extraction
(1) tar-1.14
uses --strip-path, tar-1.14.90+ uses --strip-components
--suffix SUFFIX
use SUFFIX instead of default ’~’
when backing up files
-T, --files-from F
get names to
extract or create from file F
--totals
print total
bytes written with --create
-U, --unlink-first
remove existing files before extracting
files of the same name
--use-compress-program
PROG
access the
archive through PROG which is generally a compression program
--utc display file modification dates in UTC
-v, --verbose
verbosely list
files processed
-V, --label NAME
create archive
with volume name NAME
--version
print tar
program version number
--volno-file F
keep track of
which volume of a multi-volume archive its working in FILE; used with
--multi-volume
-w, --interactive,
--confirmation
ask for
confirmation for every action
-W, --verify
attempt to
verify the archive after writing it
--wildcards
use wildcards
with --exclude
--wildcards-match-slash
wildcards match
slashes (/) with --exclude
--exclude PATTERN
exclude files
based upon PATTERN
-X, --exclude-from FILE
exclude files
listed in FILE
-Z, --compress,
--uncompress
filter the
archive through compress
-z, --gzip, --gunzip,
--ungzip
filter the
archive through gzip
--use-compress-program
PROG
filter the archive through PROG (which
must accept -d)
-[0-7][lmh]
specify drive
and density
BUGS
The GNU
folks, in general, abhor man
pages, and create info documents instead.
The maintainer of tar falls into
this category. Thus this man page may not be complete, nor
current, and was included in the
Red Hat CVS
tree
because man
is a great
tool :). This man page was first taken from Debian
Linux and has since been lovingly
updated here.
REPORTING BUGS
Please report bugs via
https://bugzilla.redhat.com
SEE ALSO
The full documentation
for tar is maintained as a Texinfo manual.
If the info
and tar programs
are properly
installed at your site,
the command
info tar
should give you access
to the complete manual.
AUTHORS
Debian Linux
http://www.debian.org/
Mike Frysinger
GNU Oct 2004
TAR(1)
(END)
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21908/showart_425635.html |
|