导航:首页 > 程序命令 > 使用tar命令将usr

使用tar命令将usr

发布时间:2022-10-19 23:53:50

linux解压命令tar

tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
1、*.tar 用 tar -xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar -xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar -xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar -xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压

解压jdk到指定文件夹
tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java

root@ubuntu:~# tar --help
用法: tar [选项...] [FILE]...
GNU 'tar' saves many files together into a single tape or disk archive, and can
restore indivial 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.
主操作模式:
-A, --catenate, --concatenate 追加 tar 文件至归档
-c, --create 创建一个新归档
-d, --diff, --compare 找出归档和文件系统的差异
--delete 从归档(非磁带!)中删除
-r, --append 追加文件至归档结尾
-t, --list 列出归档内容
--test-label 测试归档卷标并退出
-u, --update 仅追加比归档中副本更新的文件
-x, --extract, --get 从归档中解出文件
操作修饰符:
--check-device 当创建增量归档时检查设备号(默认)
-g, --listed-incremental=FILE 处理新式的 GNU 格式的增量备份
-G, --incremental 处理老式的 GNU 格式的增量备份
--ignore-failed-read
当遇上不可读文件时不要以非零值退出
--level=NUMBER 所创建的增量列表归档的输出级别
-n, --seek 归档可检索
--no-check-device 当创建增量归档时不要检查设备号
--no-seek 归档不可检索
--occurrence[=NUMBER] 仅处理归档中每个文件的第 NUMBER
个事件;仅当与以下子命令 --delete,
--diff, --extract 或是 --list
中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过
-T 选项指定的;NUMBER 值默认为 1
--sparse-version=MAJOR[.MINOR]
设置所用的离散格式版本(隐含
--sparse)
-S, --sparse 高效处理离散文件
重写控制:
-k, --keep-old-files don't replace existing files when extracting,
treat them as errors
--keep-directory-symlink preserve existing symlinks to directories when
extracting
--keep-newer-files
不要替换比归档中副本更新的已存在的文件
--no-overwrite-dir 保留已存在目录的元数据
--one-top-level[=DIR] create a subdirectory to avoid having loose files
extracted
--overwrite 解压时重写存在的文件
--overwrite-dir 解压时重写已存在目录的元数据(默认)
--recursive-unlink 解压目录之前先清除目录层次
--remove-files 在添加文件至归档后删除它们
--skip-old-files don't replace existing files when extracting,
silently skip over them
-U, --unlink-first 在解压要重写的文件之前先删除它们
-W, --verify 在写入以后尝试校验归档
选择输出流:
--ignore-command-error 忽略子进程的退出代码
--no-ignore-command-error
将子进程的非零退出代码认为发生错误
-O, --to-stdout 解压文件至标准输出
--to-command=COMMAND
将解压的文件通过管道传送至另一个程序
操作文件属性:
--atime-preserve[=METHOD]
在输出的文件上保留访问时间,要么通过在读取(默认
METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间
--clamp-mtime only set time when the file is more recent than
what was given with --mtime
--delay-directory-restore
直到解压结束才设置修改时间和所解目录的权限
--group=名称 强制将 NAME
作为所添加的文件的组所有者
--mode=CHANGES 强制将所添加的文件(符号)更改为权限
CHANGES
--mtime=DATE-OR-FILE 从 DATE-OR-FILE 中为添加的文件设置
mtime
-m, --touch 不要解压文件的修改时间
--no-delay-directory-restore
取消 --delay-directory-restore 选项的效果
--no-same-owner
将文件解压为您所有(普通用户默认此项)
--no-same-permissions
从归档中解压权限时使用用户的掩码位(默认为普通用户服务)
--numeric-owner 总是以数字代表用户/组的名称
--owner=名称 强制将 NAME
作为所添加的文件的所有者
-p, --preserve-permissions, --same-permissions
解压文件权限信息(默认只为超级用户服务)
--preserve 与 -p 和 -s 一样
--same-owner
尝试解压时保持所有者关系一致(超级用户默认此项)
-s, --preserve-order, --same-order
member arguments are listed in the same order as
the files in the archive
--sort=ORDER directory sorting order: none (default), name or
inode
Handling 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 keys
设备选择和切换:
-f, --file=ARCHIVE 使用归档文件或 ARCHIVE 设备
--force-local
即使归档文件存在副本还是把它认为是本地归档
-F, --info-script=名称, --new-volume-script=名称
在每卷磁带最后运行脚本(隐含 -M)
-L, --tape-length=NUMBER 写入 NUMBER × 1024 字节后更换磁带
-M, --multi-volume 创建/列出/解压多卷归档文件
--rmt-command=COMMAND 使用指定的 rmt COMMAND 代替 rmt
--rsh-command=COMMAND 使用远程 COMMAND 代替 rsh
--volno-file=FILE 使用/更新 FILE 中的卷数
设备分块:
-b, --blocking-factor=BLOCKS 每个记录 BLOCKS x 512 字节
-B, --read-full-records 读取时重新分块(只对 4.2BSD 管道有效)
-i, --ignore-zeros 忽略归档中的零字节块(即文件结尾)
--record-size=NUMBER 每个记录的字节数 NUMBER,乘以 512
选择归档格式:
-H, --format=FORMAT 创建指定格式的归档
FORMAT 是以下格式中的一种:
gnu GNU tar 1.13.x 格式
oldgnu GNU 格式 as per tar <= 1.12
pax POSIX 1003.1-2001 (pax) 格式
posix 等同于 pax
ustar POSIX 1003.1-1988 (ustar) 格式
v7 old V7 tar 格式
--old-archive, --portability
等同于 --format=v7
--pax-option=关键字[[:]=值][,关键字[[:]=值]]...
控制 pax 关键字
--posix 等同于 --format=posix
-V, --label=TEXT 创建带有卷名 TEXT
的归档;在列出/解压时,使用 TEXT
作为卷名的模式串
压缩选项:
-a, --auto-compress 使用归档后缀名来决定压缩程序
-I, --use-compress-program=PROG
通过 PROG 过滤(必须是能接受 -d
选项的程序)
-j, --bzip2 通过 bzip2 过滤归档
-J, --xz 通过 xz 过滤归档
--lzip 通过 lzip 过滤归档
--lzma 通过 xz 过滤归档
--lzop 通过 xz 过滤归档
--no-auto-compress 不使用归档后缀名来决定压缩程序
-z, --gzip, --gunzip, --ungzip 通过 gzip 过滤归档
-Z, --compress, --uncompress 通过 compress 过滤归档
本地文件选择:
--add-file=FILE 添加指定的 FILE 至归档(如果名字以 -
开始会很有用的)
--backup[=CONTROL] 在删除前备份,选择 CONTROL 版本
-C, --directory=DIR 改变至目录 DIR
--exclude=PATTERN 排除以 PATTERN 指定的文件
--exclude-backups 排除备份和锁文件
--exclude-caches 除标识文件本身外,排除包含
CACHEDIR.TAG 的目录中的内容
--exclude-caches-all 排除包含 CACHEDIR.TAG 的目录
--exclude-caches-under 排除包含 CACHEDIR.TAG
的目录中所有内容
--exclude-ignore=FILE read exclude patterns for each directory from
FILE, if it exists
--exclude-ignore-recursive=FILE
read exclude patterns for each directory and its
subdirectories from FILE, if it exists
--exclude-tag=FILE 除 FILE 自身外,排除包含 FILE
的目录中的内容
--exclude-tag-all=FILE 排除包含 FILE 的目录
--exclude-tag-under=FILE 排除包含 FILE 的目录中的所有内容
--exclude-vcs 排除版本控制系统目录
--exclude-vcs-ignores read exclude patterns from the VCS ignore files
-h, --dereference
跟踪符号链接;将它们所指向的文件归档并输出
--hard-dereference
跟踪硬链接;将它们所指向的文件归档并输出
-K, --starting-file=MEMBER-NAME
begin at member MEMBER-NAME when reading the
archive
--newer-mtime=DATE 当只有数据改变时比较数据和时间
--no-null 禁用上一次的效果 --null 选项
--no-recursion 避免目录中的自动降级
--no-unquote do not unquote input file or member names
--null -T 读取以空终止的名字,-C 禁用
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
只保存比 DATE-OR-FILE 更新的文件
--one-file-system 创建归档时保存在本地文件系统中
-P, --absolute-names don't strip leading '/'s from file names
--recursion 目录递归(默认)
--suffix=STRING 在删除前备份,除非被环境变量
SIMPLE_BACKUP_SUFFIX
覆盖,否则覆盖常用后缀(‘’)
-T, --files-from=FILE 从 FILE
中获取文件名来解压或创建文件
--unquote unquote input file or member names (default)
-X, --exclude-from=FILE 排除 FILE 中列出的模式串
文件名变换:
--strip-components=NUMBER 解压时从文件名中清除 NUMBER
个引导部分
--transform=EXPRESSION, --xform=EXPRESSION
使用 sed 代替 EXPRESSION
来进行文件名变换
文件名匹配选项(同时影响排除和包括模式串):
--anchored 模式串匹配文件名头部
--ignore-case 忽略大小写
--no-anchored patterns match after any '/' (default for
exclusion)
--no-ignore-case 匹配大小写(默认)
--no-wildcards 逐字匹配字符串
--no-wildcards-match-slash wildcards do not match '/'
--wildcards 使用通配符(默认对 exclusion )
--wildcards-match-slash wildcards match '/' (default for exclusion)
提示性输出:
--checkpoint[=NUMBER] 每隔 NUMBER
个记录显示进度信息(默认为 10 个)
--checkpoint-action=ACTION 在每个检查点上执行 ACTION
--full-time 按文件原本时间格式打印
--index-file=FILE 将详细输出发送至 FILE
-l, --check-links
只要不是所有链接都被输出就打印信息
--no-quote-chars=STRING 禁用来自 STRING 的字符引用
--quote-chars=STRING 来自 STRING 的额外的引用字符
--quoting-style=STYLE 设置名称引用风格;有效的 STYLE
值请参阅以下说明
-R, --block-number 每个信息都显示归档内的块数
--show-defaults 显示 tar 默认选项
--show-omitted-dirs
列表或解压时,列出每个不匹配查找标准的目录
--show-snapshot-field-ranges
show valid ranges for snapshot-file fields
--show-transformed-names, --show-stored-names
显示变换后的文件名或归档名
--totals[=SIGNAL] 处理归档后打印出总字节数;当此
SIGNAL 被触发时带参数 -
打印总字节数;允许的信号为:
SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和
SIGUSR2;同时也接受不带 SIG
前缀的信号名称
--utc 以 UTC 格式打印文件修改时间
-v, --verbose 详细地列出处理的文件
--warning=KEYWORD 警告控制:
-w, --interactive, --confirmation
每次操作都要求确认
兼容性选项:
-o 创建归档时,相当于
--old-archive;展开归档时,相当于
--no-same-owner
其它选项:
-?, --help 显示此帮助列表
--restrict 禁用某些潜在的有危险的选项
--usage 显示简短的用法说明
--version 打印程序版本
长选项和相应短选项具有相同的强制参数或可选参数。
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
--quoting-style 选项的有效参数为:
literal
shell
shell-always
c
c-maybe
escape
locale
clocale
此 tar 默认为:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/lib/tar/rmt
--rsh-command=/usr/bin/rsh

② 将当前目录下的usr.tar.gz解压到/tmp/mydir的命令行是什么

指定了一下文件解压后存放的路径。
tar.gz和.gz文件是两种不同的文件,需要区别对待,解压命令当然也不同咯,下面来分享一下他们各自的解压方法。
tar.gz文件,这种文件是tar文件的压缩文件,可以使用tar命令进行解压。
例如:解压:tar zxvf pythontab.tar.gz,tar -xjvf httpd-2.4.4.tar.bz2,解压文件到指定文件夹: tar xzvf fenci.py.tar.gz -C pythontab/
单纯的.gz文件解压,这种文件不可以使用tar命令解压,需要用gunzip解压,使用命令gzip。
解压:gzip -b pythontab.gz,但是注意:gzip貌似不能够设置解压到指定目录,只能解压到当前目录。
解压单纯的.gz文件方法二:使用zcat命令,然后把标准输出 保存到文件即可。
例如:zcat pythontab.gz > pythontab.py当然这个解决了解压到指定目录的需求。
以上就是linux下.tar.gz和.gz文件解压。

③ 如何在Linux上使用tar命令解压和压缩文件

在Linux上使用tar命令解压和压缩文件方法如下:

  1. 压缩单个文件或者整个文件的方式方法,通常可以利用以下这些命令来解压和压缩:

    -v:在终端显示进度的同时创建归档,也被称为“V erbose”模式。

    -c:C reate存档。

    -f:允许你指定存档的Filename。

    -z:压缩zip存档。如图所示:


④ 如何在Linux上使用tar命令解压和压缩文件

Linux下使用tar命令解压和压缩文件,这属于基本操作,先看实例。

1、压缩Desktop目录下所有的png文件为png.tar。

-c:建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f:使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
#tar-cfall.tar*.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
#tar-rfall.tar*.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
#tar-ufall.tarlogo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
#tar-tfall.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
#tar-xfall.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思

⑤ linux tar打包、解包命令

解压
语法:tar [主选项+辅选项] 文件或者目录

使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。

主选项:

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

x 从档案文件中释放文件。相当于拆包。

t 列出档案文件的内容,查看已经备份了哪些文件。

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

辅助选项:

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2

-v :压缩的过程中显示文件!这个常用

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!

-p :使用原文件的原来属性(属性不会依据使用者而变)

--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 内的根目录 / 是被拿掉了!

范例五:我要备份 /home, /etc ,但不要 /home/dmtsai

[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

另外:tar命令的C参数

$ tar -cvf file2.tar /home/usr2/file2
tar: Removing leading '/' from members names
home/usr2/file2
该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:

使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来

。使用tar命令解压缩后会出现以下情况:
$ tar -xvf file2.tar
$ ls
…… …… home …… ……

解压缩后的文件名不是想象中的file2,而是home/usr2/file2。

$ tar -cvf file2.tar -C /home/usr2 file2 该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意

:-C dir参数的作用在于改变工作目录,其有效期为该命令中下一次-C dir参数之前


使用tar的-C dir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:
$ tar -xvf file2.tar -C /home/usr2
而tar不用-C dir参数时是无法做到的:
$ tar -xvf file2.tar /home/usr2
tar: /tmp/file: Not found in archive
tar: Error exit delayed from previous errors

⑥ Linux 暂停命令

linux的暂停命令就是将进程杀死。

用一个实例说明:

1、首先使用tar命令打包/usr目录:

进程恢复运行状态(R)

⑦ linux下tar的打包使用

分析如下:

一、Linux下的tar命令详解

1、tar -c:建立压缩档案

2、tar -x:解压

3、tar -t:查看内容

4、tar -r:向压缩归档文件末尾追加文件

5、tar -u:更新原压缩包中的文件

二、压缩

1、tar -cvf jpg.tar *.jpg// 将目录里所有jpg文件打包成jpg.tar

2、tar -czf jpg.tar.gz *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

3、tar -cjf jpg.tar.bz2 *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

4、tar -cZf jpg.tar.Z *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

5、rar a jpg.rar *.jpg// rar格式的压缩,需要先下载rar for linux

6、zip jpg.zip *.jpg// zip格式的压缩,需要先下载zip for linux

三、解压

1、tar -xvf file.tar// 解压 tar包

2、tar -xzvf file.tar.gz// 解压tar.gz

3、tar -xjvf file.tar.bz2// 解压 tar.bz2

4、tar -xZvf file.tar.Z// 解压tar.Z

5、unrar e file.rar// 解压rar

6、unzip file.zip// 解压zip

四、具体操作方法:

1、如图看到的示例,用tar命令来打包这些文件以及目录。(文件目录以自己实际情况为准,这里用做参考用例)

⑧ linux利用tar命令将/home下的123.tar解压到/usr/bbb

tar -zxvf /home/123.tar -C /usr/bbb

⑨ linux系统中tar命令的使用详解

Linux系统中tar命令是针对tar包的解压缩命令,下面由我为大家整理了linux系统中tar命令的使用详解,希望对大家有帮助!

linux系统中tar命令的使用详解

一、tar命令用法

#压缩

tar -czvf ***.tar.gz

tar -cjvf ***.tar.bz2

#解压缩

tar -xzvf ***.tar.gz

tar -xjvf ***.tar.bz2

+++++++++++++++++++++++++++++++++++++++++++++

二、tar命令参数说明

-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 打包!

三、tar命令使用范例

范例一:将整个 /etc 目录下的档案全部打包成为 /tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!

[root@linux ~]# tar -czvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩

[root@linux ~]# tar -cjvf /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 -tzvf /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 -xzvf /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 -xzvf /tmp/etc.tar.gz etc/passwd

# 我可以透过 tar -tzvf 来查阅 tarfile 内的文件名称,如果单只要一个档案,

# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:将 /etc/ 内的所有档案备份下来,并且保存其权限!

[root@linux ~]# tar -czvpf /tmp/etc.tar.gz /etc

# 这个 -p 的属性是很重要的,尤其是当您要保留原本档案的属性时!

范例六:在 /home 当中,比 2005/06/01 新的档案才备份

[root@linux ~]# tar -N '2005/06/01' -czvf home.tar.gz /home

范例七:我要备份 /home, /etc ,但不要 /home/dmtsai

[root@linux ~]# tar --exclude /home/dmtsai -czvf 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 时,再次提到这个指令跟大家再解释啰!

++++++++++++++++++++++++++++++++++++++++++++

补充:tar如何解压文件到指定的目录

tar czvf mysql.tar.gz /var/lib/mysql

压缩的文件,我想解压到当前目录下,而不是绝对路径下,该如何解压?

tar cxvf mysql.tar.gz 的话,会覆盖 /var/lib/mysql 下全部文件吧?我现在就一个表坏了,想单独恢复一个表的资料,而不是恢复全部数据库,所以要解压到指定的目录下,再把那个表资料找不来恢复。

============================================

#tar zxvf mysql.tar.gz -C /home/aaa

============================================

tar zxvf mysql.tar.gz -C /home/aaa

这样的话,解压后的目录结构是怎么样的?

/home/aaa/var/lib/mysql 吗?

============================================

试下就知道了....

============================================

归档里面的所有文件均是相对引用,归档解压缩(释放)在了当前目录。归档文件总是释放到当前目录,为的是防止破坏文件系统中重名的文件。

所以,楼主的解压缩不会覆盖/var/lib/mysql,只会释放在当前目录先,即./var/lib/mysql如果想覆盖的话,在归档和解压时请使用-P参数:

tar zcvf mysql.tar.gz -P /var/lib/mysql

tar -Pzxvf mysql.tar.gz

⑩ 用tar怎么打包,解压

tar命令使用 压缩:tar cvfz 目标文档 源文档1 [源文档2...]
例如:tar cvfz m.tar.gz hello.cpp hello.h //m.tar.gz是目标文档,hello.cpp和hello.h是源文档
解压:tar xvfz 目标文档
例如:tar xvfz m.tar.gz //在当前目录下将压缩包文档m.tar.gz解压缩
上面的简单用法基本够用了,以下是从别的地方转来的其他一些用法,但我从来没用过,暂时存放一下。1.文档或目录打包:tar -cvf /u0/temp2.tar /usr/lib将/usr/lib目录下的文档和子目录打包成一个文档库为/u0/temp2.tar。tar -cvf /u0/temp2.tar /usr/lib *.c *.f将/usr/lib目录下的*.c *.f等文档(不含子目录)打包。注意:假如指定文档如*.c *.f或*.*,则打包时均不含子目录。假如指定为.或*,则含子目录。2.压缩:compress /u0/temp2.tar压缩为/u0/temp2.tar.z3.解压:uncompress /u0/temp2.tar.Z则还原为/u0/temp2.tar4.解包展开:tar -xvf /u0/temp2.tar若以相对路径打包的,解包时,以相对路径存放展开的文档数据;若以绝对路径打包的,解包时,以绝对路径存放展开的文档数据。若指定展开的文档名,须注意文档的目录路径。5.显示:tar -tvf /u0/temp2.tar 显示文档库内的文档名称。当指定文档名时,亦须注意文档的路径。
tar命令

tar能够为文档和目录创建档案。利用tar,用户能够为某一特定文档创建档案(备份文档),也能够在档案中改变文档,或向 档案中加入新的文档。tar最初被用来在磁带上创建档案,现在,用户能够在任何设备上创建档案,如软盘。利用tar命令,能够把一大堆的文档和目录全部打 包成一个文档,这对于备份文档或将几个文档组合成为一个文档以便于网络传输是很有用的。Linux上的tar是GNU版本的。

语法:tar [主选项 辅选项] 文档或目录

使用该命令时,主选项是必须要有的,他告诉tar要做什么事情,辅选项是辅助使用的,能够选用。

主选项:

c 创建新的档案文档。假如用户想备份一个目录或是一些文档,就要选择这个选项。

r 把要存档的文档追加到档案文档的未尾。例如用户已作好备份文档,又发现更有一个目录或是一些文档忘记备份了,这时能够使用该选项,将忘记的目录或文档追加到备份文档中。

t 列出档案文档的内容,查看已备份了哪些文档。

u 更新文档。就是说,用新增的文档取代原备份文档,假如在备份文档中很难找到要更新的文档,则把他追加到备份文档的最后。

x 从档案文档中释放文档。

辅助选项:

b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。

f 使用档案文档或设备,这个选项通常是必选的。

k 保存已存在的文档。例如我们把某个文档还原,在还原的过程中,碰到相同的文档,不会进行覆盖。

m 在还原文档时,把任何文档的修改时间设定为现在。

M 创建多卷的档案文档,以便在几个磁盘中存放。

v 周详报告tar处理的文档信息。如无此选项,tar不报告文档信息。

w 每一步都需要确认。

z 用gzip来压缩/解压缩文档,加上该选项后能够将档案文档进行压缩,但还原时也一定要使用该选项进行解压缩。

例1:把/home目录下包括他的子目录全部做备份文档,备份文档名为usr.tar。

$ tar cvf usr.tar /home

例2:把/home目录下包括他的子目录全部做备份文档,并进行压缩,备份文档名为usr.tar.gz 。

$ tar czvf usr.tar.gz /home

例3:把usr.tar.gz这个备份文档还原并解压缩。

$ tar xzvf usr.tar.gz

例4:查看usr.tar备份文档的内容,并以分屏方式显示在显示器上。

$ tar tvf usr.tar | more

要将文档备份到一个特定的设备,只需把设备名作为备份文档名。

例5:用户在/dev/fd0设备的软盘中创建一个备份文档,并将/home 目录中任何的文档都拷贝到备份文档中。

$ tar cf /dev/fd0 /home

要恢复设备磁盘中的文档,可使用xf选项:

$ tar xf /dev/fd0

如 果用户备份的文档大小超过设备可用的存贮空间,如软盘,您能够创建一个多卷的tar备份文档。M选项指示tar命令提示您使用一个新的存贮设备,当使用M 选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒您再放入一张新的软盘。这样您就能够把tar档案存入几张磁盘中。

$ tar cMf /dev/fd0 /home

要恢复几张盘中的档案,只要将第一张放入软驱,然后输入有x和M选项的tar命令。在必要时您会被提醒放入另外一张软盘。

$ tar xMf /dev/fd0

阅读全文

与使用tar命令将usr相关的资料

热点内容
新科学pdf 浏览:744
现在还有c语言编译吗 浏览:672
哪里买到单片机 浏览:478
linux文件打开数量 浏览:510
编译原理中什么是l属性文法 浏览:367
硬盘加密时出现的问题 浏览:59
如何退域命令 浏览:108
看书的app哪里看 浏览:291
服务器怎么调大 浏览:3
android天气apijson 浏览:984
为什么创建id会出现服务器错误 浏览:837
代码中有不必编译的单词吗 浏览:563
钩子与数据库编程 浏览:563
安卓光遇录歌怎么设置 浏览:485
虚拟机怎么和云服务器搭建集群 浏览:896
python倒计时代码turtle 浏览:492
cad命令mv 浏览:928
nexus7一代androidl 浏览:306
linux使用静态库编译过程 浏览:103
android平滑滚动效果 浏览:841