c语言 创建9文件夹,1-9-文件的归档和压缩

本文介绍了tar工具的基本用法,包括创建、查看、压缩与解压操作,以及gzip、bzip2、zip等压缩工具的使用。重点讲解了如何打包文件、查看压缩包内容、解压不同类型的文件,以及确定文件类型和查看文件大小的方法。
摘要由CSDN通过智能技术生成

时间: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/

b8234f3fcebc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

提示去掉根目录

如果你的文件想保留 根/ ,那么你可以加上参数 -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

b8234f3fcebc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

查看压缩包内容

四、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参数表示压缩) 。

b8234f3fcebc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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/这个目录下所有内容进行打包压缩):

b8234f3fcebc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

各种压缩工具压缩文件情况

专门用于压缩的工具

有一些工具专门用于压缩(其实tar会调用它们):gzip、 bzip2、 xz。在文件使用tar打包以后,可以使用压缩工具进行压缩。这些工具只有压缩功能,没有打包功能。

注意:gzip、 bzip2、 xz这些工具只能对文件进行压缩,且压缩后源文件消失(其中 xz 命令可以加上-k 参数保留源文件)

gzip命令: 压缩:gzip [文件] 、解压: gzip -d [文件] 。

b8234f3fcebc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

gzip压缩包

bzip2命令: 压缩: bzip2 [文件] 、解压:bzip2 [文件]。

b8234f3fcebc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

bzip2压缩

xz命令: 压缩: xz [文件] 、 解压:xz -d [文件] 或者 unxz -d [文件]。

b8234f3fcebc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

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 * :

b8234f3fcebc?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

查看文件大小

九、参数列表:

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。

-@ : 从标准输入读取文件名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值