linux中tar打包指定路径文件的实现方法

压缩:

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里面

要想解压在当前目录路径。

这样写就可以解决了

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参数就行了

例如

要打包 /home/YingMu/ 文件夹且排除 /home/YingMu/jb51.net 文件夹

tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/jb51.net

排除多个文件夹则在命令中添加多个目录 --exclude 目录名,例如:

tar -czvf YingMu.tar /home/YingMu/ --exclude /home/YingMu/jb51.net --exclude /home/YingMu/QQ

排除文件的话把上面的目录名改为类似 *.gif 的排除规则即可。

范例三:将 /tmp/etc.tar.gz 档案解压缩在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -xzvf /tmp/etc.tar.gz

# 在预设的情况下,我们可以(www.jb51.net)将压缩档在任何地方解开的!以这个范例来说,

# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,

# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc

# 则会发现,该目录下的档案属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -xzvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -tzvf 来查阅 tarfile 内的文件名称,如果单只要一个档案,

# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:将 /etc/ 内的所有档案备份下来,并且保存其权限!

[root@linux ~]# tar -czvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本档案的属性

tar 主要命令

-c 创建包
-x 解包
-t 列出包中的内容
-r 增加文件到指定包中
-u 更新包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

可选命令

-j 创建或解开包时 使用bzip2 进行压缩或解压
-z 创建或解开包时 使用gzip 进行压缩或解压
-Z 创建或解开包时 使用compress 进行压缩或解压
-f 后面跟指定的包文件名
-v 显示打包/解包过程
-C 指定解包后的路径

以上这篇linux中tar打包指定路径文件的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解linux下tar压缩解压缩文件夹的命令与参数

    前言 tar在linux上是常用的打包.压缩.加压缩工具,他的参数很多,这篇文章仅仅列举常用的压缩与解压缩参数,下面直接先上三个常用命令,一起来看看吧 1.压缩当前目录下文件夹/文件test到test.tar.gz: tar -zcvf test.tar.gz test 2.解压缩当前目录下的file.tar.gz到file: tar -zxvf file.tar.gz 参数详解 五个命令中必选一个 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原

  • linux下用tar命令将当前目录下文件按子目录压缩归档的实现

    日常工作中,我们常常需要用tar命令将历史文件压缩归档,再删除源文件,以便节省空间.如果压缩归档成一个文件,就比较简单,用一条命令即可,如命令:tar -czf bak2013.tgz t2013/*就将t2013目录下所有的文件打包成一个压缩文件.但这样的文件往往太大,使用起来也不方便,这时如果能将t2013目录下的文件按子目录打包,一个子目录一个文件,这样就方便使用了. 实现这样的功能当然不可能是一条命令,用下面这个脚本就可以了: # get directory name subdir=`l

  • linux中tar打包指定路径文件的实现方法

    压缩: 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里面 要想解压在当前目录路径. 这样写就可以解决了 tar czvf /data/backup/test.tar.gz /data/a/b/directory 改成 tar czvf /data/b

  • Linux中scp命令获取远程文件的方法

    一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响一下速度. 二.scp有什么用? 1.我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的: 2.我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无

  • webpack 单独打包指定JS文件的方法

    背景 最近接到一个需求,因为不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改.因此,需要用webpack单独打包指定文件. CommonsChunkPlugin module.exports = { entry: { app: APP_FILE // 入口文件 }, output: { publicPath: './dist/', //输出目录,index.html寻找资源的地址 path: BUILD_PATH, // 打包目录 filen

  • Linux 中清空或删除大文件内容的五种方法

    在 Linux 终端下处理文件时,有时我们想直接清空文件的内容但又不必使用任何Linux命令行编辑器 去打开这些文件.那怎样才能达到这个目的呢?在这篇文章中,我们将介绍几种借助一些实用的命令来清空文件内容的方法. 注意: 由于再Linux中一切皆文件,你需要时刻注意,确保你将要清空的文件不是重要的用户文件或者系统文件.清空重要的系统文件或者配置文件可能会引发严重的应用失败或者系统错误. 提示:在下面的示例中,我们将使用名为 access.log 的文件来作为示例样本. 1. 通过重定向到 Nul

  • linux tar压缩排除某个文件夹的方法

    一般直接用tar命令打包很简单,直接使用 tar -zcvf test.tar.gz test 即可. 在很多时候,我们要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除其中1.2个目录或文件. 这时候我们在用tar命令打包的时候,增加参数 --exclude 就能达到目的. 例如: 我们以tomcat 为例,打包的时候我们要排除 tomcat/logs 目录,命令如下: tar -zcvf tomcat.tar.gz --exclude=tomcat/logs t

  • Linux中不同用户之间复制文件的两个方法

    前言 考虑如下情景:foo用户home目录下有一文件file.txt,要将其copy至bar用户的home目录.Linux对用户home目录有严格的权限限制,非owner用户或者同group用户无权限读写,除非是root(至高无上的root).如果没有root权限,有什么办法把file.txt 复制到bar用户的home目录下呢? 想到两个办法. 第一个办法,先用foo用户登录,把文件copy到系统临时目录/tmp,然后切换到bar用户,再从系统临时目录/tmp把文件copy到自己的home目录

  • golang中tar压缩和解压文件详情

    目录 1.压缩并输出tar.gz文档 2.tar解压缩 查看官方文档,官方自带的演示: // 官方演示 package main import ( "archive/tar" "bytes" "fmt" "io" "log" "os" ) func main() { // 将若干文件写入压缩文档 // 这边源文件是直接写在代码里哈,然后也没有输出一个文档 // 后面会演示源文件进行压缩,

  • vue-cli webpack模板项目搭建及打包时路径问题的解决方法

    这里建议刚学vue的同学第一个小案例不要使用vue-cli进行操作,待对基本的api使用的比较顺手了之后再进行vue-cli的体验比较好.本人是一名后端开发人员,接触前端时间不长,这里有说的不好的地方,还请大家评论建议下. 1. 安装必要的环境准备 首先我们要能够暗转node.js,这个环境.百度搜索node,进入官网根据自己的操作系统进行下载即可.现在的版本都是自带npm的了.所以安装后,环境变量正常情况下会自动配置,开启一个命令行终端,输入node,npm,就可以看到相应的信息.那么说明安装

  • 基于web项目log日志指定输出文件位置配置方法

    首先我们定义一个可以在运行时动态的找出项目的路径WebAppRootKey,这么做的原因是为了在后面配置log4j输出文件路径的时候能随心配置. <context-param> <param-name>webAppRootKey</param-name> <param-value>amt.root</param-value> </context-param> 然后要定义项目log配置文件的路径以及log4j监听器 <contex

  • C#把dll分别放在指定的文件夹的方法步骤

    目录 第一种,配置方法. 第二种,代码方法 C#客户端程序,生成后是一个exe,如果带有大量的dll,那么dll和exe会混乱在一起,看起来非常混乱,我们可以建立一个文件夹,把dll放进去,这样看起来就非常的清晰美观. 一共有二种方法 第一种,配置方法. 1.我们建立一个winform程序,对2个dll分别引用,调用里面的方法 生成后的文件是这样的 2.打开App.config文件夹,其中dll和dll/2相当于文件夹 <?xml version="1.0" encoding=&

随机推荐