将文件列表中的文件存储在 IBM i 上的 tarball 中 - shell

Posted

技术标签:

【中文标题】将文件列表中的文件存储在 IBM i 上的 tarball 中 - shell【英文标题】:Store files from a filelist in tarball on IBM i - shell 【发布时间】:2014-01-30 02:27:45 【问题描述】:

我想从文件列表创建一个 tarfile。 文件列表有两行

log1.dat
log2.dat

shell 脚本如下所示:

cd /temp/temp1 
tar -cvf test.tar -L inp.txt

所有文件都存储在目录temp/temp1 中。 qshell 报错:

no file or directory with the name inp.txt

但文件在那里并命名为 inp.txt。

test.tar 已创建,inp.txt 存储在存档中。 我不想将inp.txt 放在压缩包中 - 我想存储inp.txt 中列出的文件。

怎么了?

【问题讨论】:

【参考方案1】:

只有PASE tar 实用程序接受[ -L InputList ] 作为参数。

Usage: tar -c|r|t|u|x [ -BdDEFhilmopRUsvw ] [ -Number ] [ -f TarFile ]            
         [ -b Blocks ] [ -S [ Feet ] | [ Feet@Density ] | [ Blocksb ] ]           
         [ -L InputList ] [-X ExcludeFile] [ -N Blocks ] [ -C Directory ] File ...

Usage: tar c|r|t|u|x [ bBdDEfFhilLXmNopRsSUvw[0-9] ] ]                            
         [ Blocks ] [ TarFile ] [ InputList ] [ ExcludeFile ]                     
         [ [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] [-C Directory ] File ...   

限定实用程序的路径以使用 PASE 版本:

/qopensys/usr/bin/tar -cvf test.tar -L inp.txt

【讨论】:

以上是关于将文件列表中的文件存储在 IBM i 上的 tarball 中 - shell的主要内容,如果未能解决你的问题,请参考以下文章

IBM i 上的外部存储过程

解决HDFS上小文件的存储

ibm watson studio 中的文件夹

通过scala获取存储在azure数据湖中的文件名列表

分析SAN LUN Mapping出错导致文件系统共享冲突的情况

如何从浏览器获取本地存储在 Android 中的文件列表?