我在各种目录上有一些 mp3。我做了
find $HOME -name *.mp3|pax -wf arch.tar
该命令工作正常,但是在提取时,它会重新创建完整的目录,例如
tar -tvf arch.tar
返回
dir1/dir2/sound.mp3
dir3/music.mp3
dir4/dir5/anotherdir/anothermusic.mp3
当提取当然会创建很多目录。我的愿望是这样的
find $HOME -name *.mp3|pax -w"possibleoption" -f arch.tar
获取这样的存档
/sound.mp3
/music.mp3
/anothermusic.mp3
我知道不安全,但是可以在飞行中剥离 dir 路径吗?
ps= 例如我使用了 pax 命令,但是经典的 tar 也不错
这些变体都假定您已经创建了一个存档,其中原始路径存储在存档本身中。他们在列出/提取档案时转换路径。
pax
与它的-s
标志一起使用:在开始时添加
-r
以实际提取文件。使用 BSD
tar
:更改
-t
为-x
实际提取文件。使用 GNU
tar
:更改
-t
为-x
实际提取文件。字符串替换将删除存档中存储的路径并将其替换为单个
/
.使用从标准输入读取路径名的文件创建存档的等效操作(通过将路径替换为 来转换名称
/
):pax
:BSD
tar
:GNU
tar
: