解压 tar 而不创建新目录,仅将新文件从 tar 合并到现有目录结构中

     2023-03-06     56

关键词:

【中文标题】解压 tar 而不创建新目录,仅将新文件从 tar 合并到现有目录结构中【英文标题】:Unpack a tar without creation of new directories, only merge new files from tar into existing directory structure 【发布时间】:2016-12-22 10:06:59 【问题描述】:

情况:

让我们提一下有一个 tar 文件,其结构如下:

目录 A 文件 1 目录 B 文件 2 目录 C 文件 3

在我的磁盘上有一个目录,其结构如下:

目录 A 文件 1 ...(更多文件和文件夹) 目录 B ... (文件和文件夹,但不是 FILE 2)

问题:

有没有办法实现 unpack 命令不创建新目录(= 不存在于 unpack 位置的目录将被跳过/排除)并且已经存在的文件不会被替换?

解压后的磁盘结构应该是这样的:

目录 A 文件 1 (不被 tar 替换) ...(更多文件和文件夹) 目录 B 文件 2 (来自 tar,因为它以前不存在) ... (更多文件和文件夹,但不是 FILE 3)

(请注意不要创建 DIR C)

更新

我已经发现“--skip-old-files”实现了在解包时不会替换旧/现有文件。

【问题讨论】:

【参考方案1】:
for d in $(ls -d /home/bob/*/); do tar -x -k -f /tmp/test.tar  $d/* ; done

其中$(ls -d /home/bob/*/) 仅列出目标上的目录,-k 保留现有文件

【讨论】:

这个解决方案对我有用,我只需要添加 -P 选项来保留绝对路径。谢谢!

tar解压

tar打包和解压到指定目录的方法tarzxvfab.tar.gz-Ccc tarxzfab.tar.gz直接解压到当前目录tar-zxv-fab.tar.gz直接解压到当前目录并输出解压过程x:从tar包中把文件提取出来z:表示tar包是被gzip压缩过的,所以解压时需要用gunzip解压v:显示详细... 查看详情

linux下如何解压文件

uboot_2410_080630.tgz请问如何解压????linux解压文件涉及命令以及例程tar命令tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。语... 查看详情

linux中tar.gz怎么解压到指定目录

当前目录,就是你解压的目录,目录名是xmms,要指定目录的话要加-C,格式如下:#tar-zxvfxmms.tar,gz-C/你打算解压的目标路径;注意权限,如果没root权限的话,你只能把文件解压到,的指定目录中。拓展回答:没法实现自运行... 查看详情

tar指令常用选项备忘

...可以将多个文件或目录打包,同时,也能将打包好的文件解压出来。tar指令的选项很多,但是常用的也就那么几个。选项与参数:-c  :创建一个新的打包文件,可搭配-v来查看过程中要被打包的文件名。-t  :列出打包文件中... 查看详情

如何在linux上使用tar命令解压和压缩文件

在Linux上使用tar命令解压和压缩文件方法如下:压缩单个文件或者整个文件的方式方法,通常可以利用以下这些命令来解压和压缩:-v:在终端显示进度的同时创建归档,也被称为“Verbose”模式。-c:Create存档。-f:允许你指定存... 查看详情

tar命令

...x/t仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。辅助选项:-z:是否同时具有gzip的属性?亦即是否需要用gzip压缩或解压?一般格式为xx.tar.gz或xx.tgz-j:是否同 查看详情

解压一个 file.tar.gz 并使用一个命令从解压文件直接创建一个 gz 文件(file_1.gz 和 file_2.gz)

】解压一个file.tar.gz并使用一个命令从解压文件直接创建一个gz文件(file_1.gz和file_2.gz)【英文标题】:untarafile.tar.gzanddirectlycreatagzfile(file_1.gzandfile_2.gz)fromtheuntarfileswithonecommand【发布时间】:2016-04-0421:14:18【问题描述】:我有一... 查看详情

tar命令

...录进行打包或解包语法参数参数含义说明-zzip使用zip进行解压或压缩-jbzip2使用bzip2进行解压或压缩-ccreate创建一个打包文件-xextract打开一个打包的文件-vverbose显示具体过程-ffile指定文件-CdirectoryDIR指定解压的目录-ppermissions保持文... 查看详情

linux命令:tar

...得名tar实物长这样tar命令是linux系统中常用的压缩文件和解压缩文件命令tar命令的参数异常之多,咱们只学习满足压缩文件和解压缩文件命令的参数就可以了<markstyle="box-sizing:border-box;background-color:rgb(255,255,0);color:rgb(0,0,0);">工... 查看详情

linux解压压缩文件zip/tar/tar.gz命令汇总(代码片段)

解压命令1、解压XXXX.zip文件:命令:unzipXXX.zip2、解压XXX.tar到目标目录命令:tar-xvfXXX.tar-d目标目录3、解压XXX.tar.gz到目标目录命令:tar-zxvfXXX.tar.gz-d目标目录或tar-xvfXXX.tar.gz-C目标目录压缩命令zipjpg.zip*.jpg//zip格式的压缩tar-czfjpg.tar... 查看详情

tar命令

...件-C解包时指定释放的目标文件-l调用gzip程序进行压缩或解压-j调用bzip2程序进行压缩或解压 查看详情

tar命令简介?

...件。归档介质可以是软盘、磁带或常规文件。1。使用tar创建备份tarc(r)vnfilename或tarcvfkdevice#c——指定创建一个新的备份,它可以覆盖已有的同名文件r——自动把文件加到档案文件的尾部,而不是生成新的文件。注意r选项只对磁... 查看详情

tar命令

tar命令用于对文件打包压缩或解压,格式为:“tar[选项][文件]”。打包并压缩文件:“tar-czvf压缩包名.tar.gz文件名”解压并展开压缩包:“tar-xzvf压缩包名.tar.gz”参数作用-c创建压缩文件-x解开压缩文件-t查看压缩包内有那... 查看详情

仅将新文件从 S3 加载到 Redshift 的简单方法?

】仅将新文件从S3加载到Redshift的简单方法?【英文标题】:SimplewaytoloadnewfilesonlyintoRedshiftfromS3?【发布时间】:2015-05-1415:03:31【问题描述】:RedshiftCOPY命令的文档指定了两种选择要从S3加载的文件的方法,您可以提供一个基本路... 查看详情

linuxtar怎样将压缩到指定文件夹

参考技术Alinux下tar命令解压到指定的目录:#tarzxvf/bbs.tar.zip-C/zzz/bbs//把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/bbs这个目录这个和cp命令有点不同,cp命令如果不存在这个目录就会自动创建这个目录!附:用tar命令... 查看详情

前端同学linux常用指令汇总(代码片段)

...归表示将指定的目录下的所有子目录以及文件一起处理zip解压unzippublic.zipunzippublic.zip-ddirgz压缩包tarczvfpublic.tar.gzpublic解压gztarxzvfpublic.tar.gztar包tarcvfwwwroot.tarwwwroot仅打包,不压缩!解压tar包tarxvfwwwroot.tarxz压缩包tarcvfxxx.tarxxx//这样... 查看详情

在linux下如何将tar压缩文件解压到指定的目录下

各位,请教一下在LINUX下如何将tar压缩文件解压到指定的目录下,直接用tarxvf解压出来的是放在当前目录的,放在指定的目录应该用哪个参数,请举一下例子,谢谢将tar压缩文件解压到指定的目录下的命令是:tar-xvf 压缩文件... 查看详情

如何只查看tar.gz压缩文件中顶层目录的列表

参考技术A.bz2//解压tar.bz2tar–xZvffile.tar.Z//解压tar.Zunrarefile.rar//解压rarunzipfile.zip//解压zip总结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... 查看详情