tar命令排除剔除文件或者文件夹以及常用参数

本文详细介绍了tar命令的常用选项,如创建、解压、追加文件等操作,并提供了具体实例。同时,文章还列举了不同压缩格式文件的解压方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tar命令详解
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 
# tar -uf all.tar logo.gif 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 
# tar -tf all.tar 这条命令是列出all.tar包中所有文件,-t是列出文件的意思 
# tar -xf all.tar 这条命令是解出all.tar包中所有文件,-x是解开的意思
查看
tar -tf aaa.tar.gz   在不解压的情况下查看压缩包的内容
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2   //解压 tar.bz2tar –xZvf file.tar.Z //解压tar.Z


排除文件或者文件夹:
tar -zcvf test1118.tar.gz --exclude=bb --exclude=cc test


总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
<think>好的,我现在需要帮助用户解决如何使用tar命令在压缩文件夹排除特定目录的问题。首先,我得回想一下tar命令的基本用法,以及排除选项的相关知识。记得tar的--exclude参数可以用来排除文件和目录,但具体语法可能需要注意。 用户可能是在Linux或Unix系统下操作,所以需要确保给出的命令在这些环境中有效。排除目录的时候,路径的写法可能有两种情况:相对路径和绝对路径。需要说明清楚这两种情况下的使用方法,避免用户混淆。 接下来,我需要考虑不同的排除方法。除了--exclude,还有通过文件列表来排除多个目录的情况,比如使用-X或--exclude-from选项。这时候用户可能需要排除多个目录,提供一个文件的方式会更方便。 然后,要给出具体的例子,这样用户更容易理解。例如,压缩当前目录下的myfolder,排除其中的node_modules和temp目录。命令可能像这样:tar czvf archive.tar.gz --exclude='myfolder/node_modules' --exclude='myfolder/temp' myfolder。但需要注意,如果用户是在myfolder的父目录下执行,路径可能需要调整,比如使用相对路径./myfolder/node_modules或者绝对路径。 另外,还要提醒用户注意路径问题。如果执行tar命令的位置不同,排除的路径写法也会不同。比如,如果在myfolder的同级目录执行,可能需要写成--exclude='myfolder/subdir',而如果在myfolder内部执行,可能需要用--exclude='subdir'。这时候需要明确说明,避免用户因为路径错误而导致排除不成功。 还有,可能需要提到使用通配符的情况,比如排除所有名为log的目录,可以使用--exclude='*/log'。不过用户的问题主要是排除特定目录,这个可能作为额外提示。 最后,生成相关问题,考虑用户可能的后续疑问,比如排除多个目录的其他方法,排除隐藏目录,查看排除文件列表,或者在解压时排除目录。这些问题可以帮助用户更深入地了解tar命令排除功能。 检查是否有遗漏的细节,比如tar命令的选项顺序是否重要,是否需要在命令的最后指定要压缩的目录,以及不同版本的tar是否有差异。确保提供的命令在大多数常见Linux发行版中有效。 总结步骤:介绍--exclude选项,给出基本命令结构,举例说明,强调路径写法,其他排除方法,注意事项,相关问题。这样用户能够按照步骤操作,同时避免常见错误。</think>要使用`tar`命令压缩文件夹排除特定目录,可以通过`--exclude`参数实现。以下是具体方法及注意事项: --- ### **步骤说明** 1. **基本命令格式** ```bash tar czvf 压缩文件名.tar.gz --exclude=目录1 --exclude=目录2 要压缩的文件夹 ``` - `czvf`: 分别表示创建压缩文件(`c`)、使用gzip压缩(`z`)、显示过程(`v`)、指定文件名(`f`) - `--exclude`: 每个需要排除的目录需单独添加此参数 2. **示例:排除`node_modules`和`temp`目录** ```bash tar czvf project.tar.gz --exclude='myproject/node_modules' --exclude='myproject/temp' myproject ``` 3. **通过文件列表排除多个目录(适用于大量排除)** 创建文件`exclude.txt`,每行写一个排除路径,然后执行: ```bash tar czvf project.tar.gz -X exclude.txt myproject ``` --- ### **注意事项** - **路径匹配规则** 若在目标文件夹的**同级目录**执行命令,需使用相对路径如`--exclude='myfolder/subdir'`;若在目标文件夹**内部**执行,则直接写`--exclude='subdir'`[^1]。 - **通配符支持** 可用`*`匹配模式,例如`--exclude='*.log'`排除所有日志文件。 - **隐藏目录排除** 需显式指定,如`--exclude='myfolder/.git'`。 --- ### **验证排除效果** 执行前可通过`--dry-run`预览: ```bash tar czvf project.tar.gz --exclude='myproject/node_modules' --dry-run myproject ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值