• 欢迎访问Ppabc博客网站,专注于Linux、CentOS、Apache、Nginx、MySQL、PHP等开源工具安装优化的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入Ppabc博客
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏Ppabc博客吧

命令: tar、gzip、unzip

baidu空间 admin 11年前 (2008-03-08) 245次浏览

2008 年 01 月 04 日 星期五 12:01tar、gzip、unzip 命令的详细使用方法

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

gzip 命令

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

语法:gzip [选项] 压缩(解压缩)的文件名

各选项的含义:

-c 将输出写到标准输出上,并保留原有文件。

-d 将压缩文件解压。

-l 对每个压缩文件,显示下列字段:

压缩文件的大小

未压缩文件的大小

压缩比

未压缩文件的名字

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。

-t 测试,检查压缩文件是否完整。

-v 对每一个压缩和解压的文件,显示文件名和压缩比。

-num 用指定的数字 num 调整压缩的速度,-1 或–fast 表示最快压缩方法(低压缩比),-9 或–best 表示最慢压缩方法(高压缩比)。系统缺省值为 6。

假设一个目录/home 下有文件 mm.txt、sort.txt、xx.com。

例 1:把/home 目录下的每个文件压缩成.gz 文件。

$ cd /home

$ gzip *

$ ls

m.txt.gz sort.txt.gz xx.com.gz

例 2:把例 1 中每个压缩的文件解压,并列出详细的信息。

$ gzip -dv *

mm.txt.gz 43.1%—–replaced with mm.txt

sort.txt.gz 43.1%—–replaced with sort.txt

xx.com.gz 43.1%—–replaced with xx.com

$ ls

mm.txt sort.txt xx.com

 

例 3:详细显示例 1 中每个压缩的文件的信息,并不解压。

$ gzip -l *

compressed uncompr. ratio uncompressed_name

277 445 43.1% mm.txt

278 445 43.1% sort.txt

277 445 43.1% xx.com

$ ls

mm.txt.gz sort.txt.gz xx.com.gz

例 4:压缩一个 tar 备份文件,如 usr.tar,此时压缩文件的扩展名为.tar.gz

$ gzip usr.tar

$ ls

usr.tar.gz

unzip 命令

用 MS Windows 下的压缩软件 winzip 压缩的文件如何在 Linux 系统下展开呢?可以用 unzip 命令,该命令用于解扩展名为.zip 的压缩文件。

语法:unzip [选项] 压缩文件名.zip

各选项的含义分别为:

-x 文件列表 解压缩文件,但不包括指定的 file 文件。

-v 查看压缩文件目录,但不解压。

-t 测试文件有无损坏,但不解压。

-d 目录 把压缩文件解到指定目录下。

-z 只显示压缩文件的注解。

-n 不覆盖已经存在的文件。

-o 覆盖已存在的文件且不要求用户确认。

-j 不重建文档的目录结构,把所有文件解压到同一目录下。

例 1:将压缩文件 text.zip 在当前目录下解压缩。

$ unzip text.zip

 

例 2:将压缩文件 text.zip 在指定目录/tmp 下解压缩,如果已有相同的文件存在,要求 unzip 命令不覆盖原先的文件。

$ unzip -n text.zip -d /tmp

 

例 3:查看压缩文件目录,但不解压。

$ unzip -v text.zip

zgrep 命令

这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和 grep 命令一样,只不过操作的对象是压缩文件。如果用户想看看在某个压缩文件中有没有某一句话,便可用 zgrep 命令。

命令: tar

格式: tar 选项 文件目录列表
功能: 对文件目录进行打包备份

选项:

-c 建立新的归档文件
-r 向归档文件末尾追加文件
-x 从归档文件中解出文件
-O 将文件解开到标准输出
-v 处理过程中输出相关信息
-f 对普通文件操作
-z 调用 gzip 来压缩归档文件,与-x 联用时调用 gzip 完成解压缩
-Z 调用 compress 来压缩归档文件,与-x 联用时调用 compress 完成解压缩

实例 1: 目的:用 tar 打包一个目录下的文件
命令:#tar -cvf /mnt/lgx/a1.doc
结果:产生一个以.tar 为扩展名的打包文件

实例 2: 目的:用 tar 解开打包文件
命令:#tar -xvf /mnt/lgx/a1.doc.tar
附加说明:在通常情况下,tar 打包与 gzip(压缩)经常联合使用,效果更好。方法是:
首先用 tar 打包,如:#tar -cvf /mnt/lgx/a1.doc (产生 a1.doc.tar 文件)
然后用 gzip 压缩 a1.doc.tar 文件,如:#gzip /mnt/lgx/a1.doc.tar (产生 a1.doc.tar.gz 文件)

实例 3: 目的:解压 a1.doc.tar.gz 文件
方法 1:
#gzip -dc /mnt/lgx/a1.doc.tar.gz (产生 a1.doc.tar 文件)
#tar -xvf /mnt/lgx/a1.doc.tar (产生 a1.doc 文件)
这两次命令也可使用管道功能,把两个命令合二为一:
#gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf
方法 2:使用 tar 提供的自动调用 gzip 解压缩功能
#tar -xzvf /mnt/lgx/a1.doc.tar.gz

  经过 tar 打包后,也可用 compress 命令压缩(注:gzip 比 compress 压缩更加有效),产生一个以.tar.Z 的文件,在解包时,可先用“uncompress 文件名”格式解压,然后用“tar -xvf 文件名”解包。也可直接调用“tar -Zxvf 文件名”解包。

unzip 解压 ZIP 命令 unzip 文件或文件夹名 tar jxvf *.tar.bz2

# tar -czpvf /home/freebsd.tar.gz ./*

# tar -zxvfp /home/freebsd.tar.gz

# tar cvf /home/bak/mycode.tar /home/code/

# gzip -q backup.tar

# tar -xf /home/bak/mycode.tar

unzip 解压 ZIP 命令 unzip 文件或文件夹名

tar xvf ***.tar
tar zxvf ***.tar.gz
tar jxvf ***.tar.gz2
bunzip2 ****.tar.gz2
gzip -d ****.gz
gunzip ***.gz
gunzip ****.tgz
gunzip ****.tar.Z
upzip ****.zip
相关的命令还有:compress,uncompress,zcat,zip,zipnote,zipsplit,zipcloat
更为详细的说明看 man and info.

cd directory 进入指定的目录
cd .. 进入上一级目录
cd /directory 进入目录
cd 进入用户自己的目录
cp file_from file_to 拷贝文件
ln [-s] source linkname 为一个文件建立连结
ls [directory] 查看指定目录下的文件
ls -l [directory] 查看指定目录下文件的详细
ls -a [directory] 查看指定目录下的所有文件
mkdir new_directory 建一个新目录
more file 查看一个文本文件的内容
rm file 删除一个文件
rm -r directory 删除一个目录
rmdir directory 删除一个目录
find . -name “file” 从当前目录开始查找指定的文件
adduser 创建新用户
alias 设置别名或替代名
bg fg 使挂起的进程继续运行
ps ax 查询当前进程
mount 连接文件系统
more less 浏览文件内容
chown chgrp 改变文件的拥有者
chmod 改变文件属性
halt 关闭系统
man 显示手册页
passwd 改变用户口令
grep 查找字符串
find 查找文件
dd 复制磁盘或文件系统
kill 杀掉一个进程
killall 杀掉进程

]]>


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:命令: tar、gzip、unzip
喜欢 (0)