这些命令行是什么意思?
tar cvzf - ./android_4.0.4_origen_final_full/ | split -b 2048m - android_4.0.4_origen_final_full.tar.gz
cat android_4.0.4_origen_final_full.tar.gz* | tar -zxvpf - -C /work
答案 0 :(得分:1)
我建议使用谷歌搜索“man tar”,“man split”和“man cat”了解有关选项的详细信息。
tar
是一个程序(tar
,最初是“磁带归档”的缩写),它创建了一个串行归档格式。它用于将完整文件的整个目录结构整合到一个存档文件或备份设备(磁带,磁盘或其他)上。
split
将获取一个文件并将其分解为给定大小的块。
tar cvzf - ./android_4.0.4_origen_final_full/ | split -b 2048m - android_4.0.4_origen_final_full.tar.gz
此命令将创建./android_4.0.4_origen_final_full/
下所有文件的存档,而不是创建单个存档文件,将结果(通过split
)分成几个2,048MB(2GB)文件。具体来说,c
上的tar
选项表示“创建”,v
表示“详细”(您将为每个归档的文件获取输出行),z
表示将被压缩(使用gzip
),f
表示输出文件。由于输出文件是-
,因此输出转到标准输出(因此,它可以通过管道输入split
)。 split
选项-b 2048m
表示输出将拆分为2GB大小的文件。因此,如果存档为3GB,您将获得一个2GB的文件和一个1GB的文件。
cat android_4.0.4_origen_final_full.tar.gz* | tar -zxvpf - -C /work
这与第一个命令相反。它连接当前文件夹中名称以android_4.0.4_origen_final_full.tar.gz
开头的所有文件,并使用tar
取消归档。 tar
选项与上述选项相同,但x
表示“提取”,p
表示“保留”文件权限,而f -
表示从中获取输入标准输入(在本例中来自cat
命令),C /work
告诉tar更改为/work
目录以进行提取。
答案 1 :(得分:0)
第一个命令创建在2KB块上拆分的多个tar.gz文件,而第二个命令将tart.gz文件的内容提取到/ work目录中。它使用管道“|”将一个shell命令的输出连接到另一个shell命令的输入(stdin)。
tar cvzf - ./android_4.0.4_origen_final_full/
创建android_4.0.4_origen_final_full文件夹下的所有内容的tar文件(所有数据连续排列的文件)并使用gzip压缩压缩tar文件,为其提供额外的.gz扩展名。输出通过管道输出或发送到以下命令。
split -b 2048m -
在2KB块上拆分stdin上提供的输入(来自先前的tar命令),创建具有基本名称的各个tar抓取文件: android_4.0.4_origen_final_full.tar.gz
cat android_4.0.4_origen_final_full.tar.gz*
将filename参数的原始内容转储到屏幕或(stdout)
tar -zxvpf - -C /work
从输入(stdin)到/ work文件夹
提取所有内容