Windows下最常见的压缩文件只有两种,.zip和.rar。可是Linux就不同了,有.Z、bz2、.gz、.tar、.tar.gz等众多的压 缩文件名,它们分别对应了各种压缩打包命令。要了解这些压缩打包命令的使用,首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个 总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。Linux中的很多压缩命令只能针对一个文件进行压缩,当要压缩一大堆文件时,就得先 借助打包命令将这一大堆文件先打成一个包,然后再用压缩命令进行压缩。因此打包命令在Linux的应用中具有很重要的作用。
Linux下最常用的打包命令就是tar,使用tar命令打包后,就可以用其它的命令来进行压缩了。tar命令的使用方法如下:
tar [-cxtzjvfpPN] 文件与目录
参数说明:
-c :建立一个打包文件;
-x :解开一个打包文件;
-t :查看 tar包里面的文件;
(特别注意,在选择参数时,c/x/t仅能存在一个,不可同时存在,因为不可能同时压缩与解压缩。)
-z :打包后用gzip压缩,生成.tar.gz文件;
-j :打包后用zip2压缩,生成.tar.bz2文件;
-v :压缩的过程中显示文件;
-f :使用文件名,请留意,在f之后要立即接文件名,不要再加其它参数;
-p :保持原文件的属性;
-P :使用绝对路径来压缩;
-N :设定日期(yyyy/mm/dd),比后面接的日期还要新的文件才会被打包进新建的文件中;
--exclude FILE:在打包的过程中,不要将FILE打包。
举几个例子:
例一:将整个/etc目录下的文件全部打包成为/tmp/etc.tar
tar -cvf /tmp/etc.tar /etc #仅打包,不压缩
tar -zcvf /tmp/etc.tar.gz /etc #打包后,以gzip压缩
tar -jcvf /tmp/etc.tar.bz2 /etc #打包后,以bzip2压缩
例二:查阅上述/tmp/etc.tar.gz文件内有哪些文件
tar -ztvf /tmp/etc.tar.gz
例三:将/tmp/etc.tar.gz文件解压缩到/usr/local/src下
cd /usr/local/src #先将工作目录变换到/usr/local/src下
tar -zxvf /tmp/etc.tar.gz
例四:只将/tmp/etc.tar.gz内的etc/passwd解压到/tmp下
cd /tmp
tar -zxvf /tmp/etc.tar.gz etc/passwd
例五:将/etc内的所有文件备份下来,并且保存其权限!
tar -zxvpf /tmp/etc.tar.gz /etc
例六:在/home当中,比2005/06/01新的文件才备份
tar -N '2005/06/01' -zcvf home.tar.gz /home
例七:备份/home、/etc,但不要/home/dmtsai
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
例八:将/etc打包后直接解开在/tmp底下,而不产生文件!
cd /tmp
tar -cvf - /etc | tar -xvf -
现在有一个需求,不知道该如何才能实现
压缩: tar czvf /data/backup/test.tar.gz /data/a/b/directory
解压:
cd /data/test
tar xzvf /data/backup/test.tar.gz
问题是,解压后的文件,在/data/test/data/a/b/directory里面
能否压缩时只保留directory以下的所有目录,以directory作为/,而不是/data/a/b/directory?
问题已经解决,找到了GNU tar的官方资料
http://www.delorie.com/gnu/docs/tar/tar_98.html
这样写就可以解决了
tar czvf /data/backup/test.tar.gz /data/a/b/directory
改成
tar czvf /data/backup/test.tar.gz -C /data/a/b(空格)directory
-C是临时切换工作目录,-P是绝对路径,在这里只用到-C参数就行了
http://hi.baidu.com/shmilyqlc/blog/item/cbce1daf6433e0f7faed5071.html
分享到:
相关推荐
uasurfer, 打包包以快速可靠地抽象浏览器 User Agent 字符串 uasurfer 收费 User Agent ( uasurfer ) 是一个轻量级的Golang包,它解析和抽象了 HTTP USER-AGENT 字符串,特别关注设备类型。以下信息由uasurfer从原始...
执行程序中有巨多第三方依赖包,要一起打进 jar 包,怎么办? maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing.BeanDefinitionParsingException 异常怎么办...
Eclipse怎么打jar包(可运行的jar包) 教你一步一步,学会怎么打jar包,内含详细图文教程。
实现打印控制,使用javaScript。 可以实现基本的打印控制
这个"FastReport中文包"包含了对中文的支持,确保中国用户或需要中文界面的开发者可以流畅地使用FastReport。它不仅提供了中文界面,还可能包括中文帮助文档和其他相关资源,以便于理解和操作。同时,"FastReport多...
本资源提供了一种解决方案,解决了使用Java打zip包时可能会遇到的中文乱码和包含空文件的问题。以下是关于这个主题的一些关键知识点: 1. **Java的 ZIP API**:Java标准库提供了一个名为`java.util.zip`的包,它...
1. **使用Eclipse IDE打JAR包** - 在Eclipse中,打开你的Java项目。 - 右键点击项目,选择"Export"。 - 在弹出的窗口中,展开"Java"选项,然后选择"JAR file",点击"Next"。 - 在"JAR export wizard"中,确认...
"打Jar包小工具"是一个便捷的解决方案,旨在简化这个过程。这个工具包含两个核心文件:`cmd.bat` 和 `package.txt`。 `cmd.bat` 是一个批处理脚本,它通常包含了运行Java的jar打包命令,如`jar`命令。在Windows环境...
该批处理把d盘下com文件夹下的所有东西打成jar包,并放在d盘。
"windows下打tar包的小软件"是指专门为在Windows环境下创建和管理tar文件而设计的实用程序。这些软件通常具有简单易用的图形用户界面,使得不熟悉命令行工具的用户也能方便地进行tar文件的操作。 tar文件格式起源于...
在IT行业中,尤其是在服务器管理和自动化部署的场景下,将应用程序如Tomcat打成RPM(Red Hat Package Manager)包是一项常见的任务。RPM包是一种在Linux系统中广泛使用的软件包管理格式,它允许用户轻松安装、升级和...
在IT行业中,构建和部署Web应用是至关重要的过程,而"ant打war包"就是这一过程中的一项技术。Ant是Apache软件基金会开发的一款Java构建工具,它以XML为基础,用于自动化构建Java项目,如生成JAR、WAR等类型的打包...
Java 文件打成 JAR 包 Java 文件打成 JAR 包是 Java 开发中一个常见的操作,这样可以方便地发布和分发 Java 应用程序。在本节中,我们将详细介绍如何将 Java 文件打成 JAR 包,并删除 JAR 包中的文件。 什么是 JAR...
可以打包加密您的幻灯文档,并可以将文档用到的视频、音频、flash等等文件一起打 包生成一个单一的自动播放exe文件,用户无法提取文档中的文字和图片,加密后的 文档可以绑定用户电脑一机一码授权播放,用户无法传播...
本示例主要解决module中引用aar包依赖报错的问题,及aar包合并打成新aar包的问题。aar合并打包报错解决方案,library、module集成aar包报Execution failed for task ':app:mergeDebugNativeLibs、Could not resolve ...
### SAP 打语言包(SMLT)操作指南 #### 一、简介 SAP系统中的语言包(Language Pack)管理对于确保系统能够正确显示多种语言界面至关重要。本指南将详细介绍如何通过SAP的SMLT事务代码来安装、更新语言包以及进行...
以下是对如何使用MyEclipse将Java程序打成jar包的详细步骤及注意事项的解释: 1. **项目导出**: 在MyEclipse中,首先需要选择你要打包的Java项目。右键点击项目,在弹出的菜单中选择“Export”(导出)选项,这是...
### Eclipse和MyEclipse中Web工程打包成WAR文件的方法 #### Eclipse中Web工程打包成WAR文件的方法 在Eclipse中将Web项目打包成WAR文件是一个常见的操作,这对于部署到服务器或者进行版本控制等方面非常有用。...
在IT行业中,尤其是在Java Web项目的开发与维护过程中,自动化打补丁包是一个高效且重要的环节。这个过程可以显著提升开发团队的工作效率,减少手动操作带来的错误,并确保项目的稳定性和安全性。下面将详细解释标题...
然而,标准的SpringBoot JAR包会包含所有依赖项,这使得文件体积较大,不利于分发和存储。为了解决这个问题,我们可以使用"thin"打包方式,将JAR包瘦身。 "thin"打包方式是SpringBoot提供的一种优化策略,它的核心...