时间: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参数表示压缩) 。
使用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 [文件]
。bzip2命令: 压缩:
bzip2 [文件]
、解压:bzip2 [文件]
。xz命令: 压缩:
xz [文件]
、 解压:xz -d [文件]
或者unxz -d [文件]
。
五、解压
解压一个 普通包(没有经过压缩的):
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。
-@ : 从标准输入读取文件名称。