时间:2018-05-29 姓名:魏文应
一、tar工具
tar工具可以进行压缩、打包文件。
语法:tar [参数] [生成的包的名称] [将要打包或解压的目标文件/目录]
参数
说明
-c
create 创建文件
-x
解压还原文件
-v
显示执行详细过程,解压过程打印一些信息
-f
指定备份文件
-t
列出备份文件内容
-P(大写)
在使用绝对路径时,不移除文件名称前的根号
-C (大写)
指定解压位置
-z
通过 gzip 进行压缩
-j
通过 bzip2 解压缩
二、创建归档
这里是将文件打包成一个文件,但还没有压缩。
打包一个文件:
# 将/boot/grub/目录下的内容打包
# 打包以后生成一个grub.tar文件
# -c 参数是创建包,-v参数显示压缩过程,f是指定文件。
tar -cvf grub.tar /boot/grub/
提示去掉根目录
如果你的文件想保留 根/ ,那么你可以加上参数 -P (大写P):
tar -cvPf grub-1.tar /boot/grub/
把多个文件打成一个包:tar -cvf test.tar a.txt b.txt c.txt (将a.txt、b.txt、c.txt这三个文件成一个test.tar包)。
三、查看压缩包里面的内容
查看压缩包里面的内容(就像你在桌面直接双击一个压缩包文件一样,可以看到里面的文件列表,但没有解压开):
# 查看,并通过more分页显示
tar -tvf grub.tar | more
查看压缩包内容
四、Linux压缩工具
压缩工具: gzip、 bzip2、 zip、 tar。
参数
说明
一般文件后缀命名
压缩示例
解压示例
-z
通过gzip工具压缩
.tar.gz
tar -czvf test.tar.gz
tar -xzvf test.tar.gz
-j
通过bzip2工具压缩
.tar.bz2
tar -cjvf test.tar.gz
tar -xjvf test.tar.gz
--
通过zip工具压缩
.zip
zip test.zip /etc/passwd
unzip test.zip
常见的压缩格式:gz、 bz2、 xz、 zip、 Z 。
使用gzip工具压缩:tar -zcvf newfile.tar.gz SOURCE(-z参数表示压缩) 。
tar压缩gz
使用bzip2工具压缩: tar -jcvf newfile.tar.bz2 SOURCE (-j参数表示压缩) 。
使用zip工具压缩(直接压缩,不像tar那样先归档后压缩): zip test.zip SOURCE 。如果是压缩的对象时目录,要使用 -r 参数 :zip -r test.zip /tmp/tmp-dir/(将/tmp/tmp-dir/这个目录下所有内容进行打包压缩):
各种压缩工具压缩文件情况
专门用于压缩的工具
有一些工具专门用于压缩(其实tar会调用它们):gzip、 bzip2、 xz。在文件使用tar打包以后,可以使用压缩工具进行压缩。这些工具只有压缩功能,没有打包功能。
注意:gzip、 bzip2、 xz这些工具只能对文件进行压缩,且压缩后源文件消失(其中 xz 命令可以加上-k 参数保留源文件)
gzip命令: 压缩:gzip [文件] 、解压: gzip -d [文件] 。
gzip压缩包
bzip2命令: 压缩: bzip2 [文件] 、解压:bzip2 [文件]。
bzip2压缩
xz命令: 压缩: xz [文件] 、 解压:xz -d [文件] 或者 unxz -d [文件]。
xz压缩
五、解压
解压一个 普通包(没有经过压缩的): tar -xvf grub.tar (把grub.tar这个文件解压开)。
解压到 指定目录: tar -xvf grub.tar -C /tmp(-C参数,解压到了/tmp/这个目录下)。
解压一个经 gzip工具压缩 的文件:tar -xzvf test.tar.gz 。
解压一个经过 bzip2工具压缩 的文件:tar -xjvf test.tar.bz2 。
解压一个经过 zip工具压缩 的文件:unzip test.zip (-d参数解压以后的目录:unzip test.zip -d /tmp/)。
七、确定文件类型
使用 file 命令确定文件类型(常见返回结果):
返回结果
说明
empty
空文件
directory
目录文件
English text
英文正式文件
assembler program text
汇编语言程序的正文文件
ascii text
ASCII编码的文本文件
command text
命令语言编写的命令正文程序
c program
C语言正文程序
relocation text
用于连接的目标文件
executable
可执行的目标代码文件
data
数据文件
八、查看文件大小
查看具体某个文件的大小:du -sh test.tar
ll -h test.tar
列出当前文件夹下使用文件,并显示大小:du -sh * :
查看文件大小
九、参数列表:
ZIP参数列表:
zip Linux上适用的参数:
-1 : 最快压缩,压缩率最差。
-9 : 最大压缩,压缩率最佳。
-b : 暂存文件的路径。这个参数一般在要产生的 zip 文件存在,而硬盘现有空间不足时。
-c : 替新增或更新的文件增加一行注解。
-d : 从 zip 文件移出一个文件。
-D : 不要在 zip 文件中储存文件的目录信息。
-f : 以新文件取代现有文件。
-F : 修复已经损毁的压缩文件。
-g : 将文件压缩附加到 zip 文件中。
-h : 显示辅助说明。
-i : 指定要含入的某些特定文件。
-j : 只储存文件的名称,不含目录。
-k : 强迫使用 MSDOS 格式文件名。
-l : 将 CR ( Carriage Return ) LF ( Line Feed ) 转换成 LF,一般是要将 MS-DOS 上的文本文件压缩后拿到 UNIX 下使用时才使用此参数。这只适用于文本文件 ( .txt ),如果用于二进制文件则会造成二进制文件损毁。
-L : 显示 zip 命令的版权。
-m : 将特定文件移入 zip 文件中,并且删除特定文件。
-n : 不压缩特定扩展名的文件。
-o : 将 zip 文件的时间设成最后修正 zip 文件的时间。
-q : 安静模式,不会显示相关讯息和提示。
-r : 包括子目录。
-t : 只处理 mmddyy 日期以后的文件。
-T : 测试 zip 文件是否正常。
-u : 只更新改变过的文件和新文件。
-v : 显示版本资讯或详细讯息。
-x : 不需要压缩的文件。
-y : 将 symbolic link 压缩,而不是压缩所连结到的文件。
-z : 为 zip 文件增加注解。
-# : 设定压缩速度,-0 表示不压缩,-1 表示最快速度的压缩,
-9 :表示最慢速度的压缩 ( 最佳化的压缩 ),预设值为 -6。
-@ : 从标准输入读取文件名称。