linux基础命令:tar

1.命令格式:

  tar[必要参数][选择参数][文件]

2.命令功能:

  用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

3.命令参数:

  必要参数有如下:

  -A 新增压缩文件到已存在的压缩

  -B 设置区块大小

  -c 建立新的压缩文件

  -d 记录文件的差别

  -r 添加文件到已经压缩的文件

  -u 添加改变了和现有的文件到已经存在的压缩文件

  -x 从压缩的文件中提取文件

  -t 显示压缩文件的内容

  -z 支持gzip解压文件

  -j 支持bzip2解压文件

  -Z 支持compress解压文件

  -v 显示操作过程

  -l 文件系统边界设置

  -k 保留原有文件不覆盖

  -m 保留文件不被覆盖

  -W 确认压缩文件的正确性

  可选参数如下:

  -b 设置区块数目

  -C 切换到指定目录

  -f 指定压缩文件

  --help 显示帮助信息

  --version 显示版本信息

4.常见解压/压缩命令

解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)

.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName

.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName

.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知

.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知

.Z
解压:uncompress FileName.Z
压缩:compress FileName

.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName

.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName

.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName 

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

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

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

[[email protected] ~]# 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 档案内有哪些档案?

[[email protected] ~]# tar -tzvf /tmp/etc.tar.gz

# 由于我们使用 gzip 压缩,所以要查阅该 tar file 内的档案时,

# 就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz
档案解压缩在 /usr/local/src 底下

[[email protected] ~]# cd /usr/local/src

[[email protected] 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 解开而已

[[email protected] ~]# cd /tmp

[[email protected] tmp]# tar -xzvf /tmp/etc.tar.gz etc/passwd

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

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

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

[[email protected] ~]# tar -czvpf /tmp/etc.tar.gz /etc

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

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

[[email protected] ~]# tar -N ‘2005/06/01‘ -czvf home.tar.gz /home

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

[[email protected] ~]# tar --exclude /home/dmtsai -czvf myfile.tar.gz /home/* /etc

范例八:将 /etc/ 打包后直接解开在
/tmp 底下,而不产生档案!

[[email protected] ~]# cd /tmp

[[email protected] 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

原文地址:https://www.cnblogs.com/wzy23/p/11380161.html

时间: 2024-08-30 00:05:03

linux基础命令:tar的相关文章

常用Linux基础命令

1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行.2. ls 查看目录或者文件的属*,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory),如果是一个”-”表示是文件,如果是l则表示是一个连接文件(link) b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x). 3. cp 拷贝文件 eg:

Linux基础命令快速入门

Linux基础命令 write by Booboo Wei [email protected] 摘要: 常用的命令 ls cd pwd 符号 * ? { } | 帮助命令 --help help type man info /usr/share/doc 针对文件的的基本操作 touch mkdir rmdir cp rm mv 针对文件内容的基本操作 cat tac head tail more less 文件的查看.编辑.过滤vi vim echo grep cut wc file 关于时间的

4、linux基础命令详解

linux基础命令 Linux图形界面和命令行界面的切换 进入Linux桌面环境后,可以使用键盘上的"Ctrl+Alt+F1~F6"组合键来切换不同的tty界面,Linux默认提供了6个命令行界面(F1-F6),比如"Ctrl+Alt+F1"就是切换到tty1: 在命令行模式下,想要切换回图形界面可以使用组合键"Ctrl+Alt+F7":另外,如果不是从图形界面切换到tty模式,而是系统启动时候直接进入了命令行模式,在登陆后可以使用"s

Linux基础命令:(3)文件备份和压缩命令

3.文件备份和压缩命令:(1)bzip2命令:用来压缩文件.bzip2 文件名,后缀名为bz2.解压为:bunzip2 文件名.bz2(2)gzip命令:使用gzip来压缩文件.gzip 文件名,后缀名为gz.解压为:gunzip 文件名.gz (3)tar命令:把大量的文件和目录全打包成一个文件. tar -cvf filename.tar directory/file filaname.tar代表要创建的文件,directory/file代表代表想放入归档文件内的文件和目录.[要列出tar文

Linux基础命令,目录文件操作,vi编辑器详解

一.linux基础命令 linux命令的执行必须依赖于shell命令解释器.shell实际上是在linux系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,shell在用户和内核之间充当了一个"翻译官"的角色.当用户登录到linux系统时,会自动加载一个shell程序,以便给用户提供可以输入命令的操作系统. 1.首先介绍一下快捷键 Tab键:用来补齐命令字或文件.目录名,例如输入"ifcon"

Linux基础命令(之一)详解

Linux基础命令(之一)详解 学习linux的朋友都知道,系统大多数操作都是命令行的操作方式,当然如今也有图形化界面的操作方式,但是多数情况下仍然使用命令的操作模式,所以命令的作用与用法是成为学好.学会Linux系统的必备前提,也是重点之一,所以今天来聊一聊一些基础命令的用法与其作用. 1.系统关机或重启命令(小白也必须要会的) shutdown (win 系统也有) 常用参数:shutdown -h (halt) 直接关机(关闭电源) shutdown -h  now[+10]    现在关

linux基础命令——tree

Linux基础命令--tree 编辑文章 -d :只显示目录,不显示其目录下的子文件 -L level:显示第几级 图片描述 显示以rc开头的 备份: 创建多级目录: -v:可以看过程

第九天:Linux基础命令(二)与 C编译过程

一:Linux基础命令:   1.find 命令 查找文件 如 find / -name hello    查找根目录下已hello命名的文件.   2.grep命令 字符串匹配 如 grep "lucy" * -R 递归查找文件中含有“lucy”字符串的文件   3.du命令 查看文件所占容量   4 . >   重定向 如 ls > savels     重定向ls的标准输出从屏幕到savels文件 5 . >>    附加 如 ls >> sa

菜鸟的成长记录--linux基础命令

以下是我学习时接触的命令,后续会慢慢添加 1.tty:查看终端类型 虚拟终端:/dev/tty# 伪终端:/dev/pts/# 控制台:/dev/console 串行终端:/dev/ttyS# 2.startx:启动图形界面 3.ifconfig:查看网卡信息 4.cd:进入用户主目录 cd ~:进入用户主目录 cd ~USERNAME:进入其他用户主目录 cd -:在前一个目录和当前目录来回切换 cd .:当前目录 cd ..:上一级目录 cd ../..:返回上两级目录 cd !$:把上一个

运维基础--Linux基础命令

 Linux基础命令 刚接触Linux,往往会有一个印象就是Linux操作起来比我们熟悉的windows难,其实不然,只要了解熟知了Linux的CLI界面诸多的命令的用法就能使很多在GUI界面下的操作变的无比简单:以下是Linux使用中的几个基础命令: 1.cd: cd [-L|-P] [dir]  改变shell 的工作目录,默认是用户的家目录: cd DIR:切换到DIR目录: cd:   切换至当前用户的家目录: cd - :将工作目录切换至上一次的工作目录:两个目录之间的来回切换! 原理