Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19881494
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9308
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: LINUX

2007-11-19 10:09:53

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 <=1.12

              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

 

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

       Mike Frysinger

 

GNU                                                      Oct 2004                                                   TAR(1)

(END)
阅读(15318) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-03-29 21:36:37

good! http://www.megaentry.com/html/zh/read/list-142.html