我为 Linux 内核构建了一些存档,它需要一个带有绝对路径的存档文件。文件位于文件夹 /data/ 下,当我正常打包时,它会保留这样的文件路径
bin/ln
bin/ls
etc
我使用的命令是这样的
cd /data
find|cpio -o -H newc -F ../data.cpio
但我希望 cpio 像这样保留带有根路径的文件
/bin/ln
/bin/ls
/etc
我发现我应该使用 pax 但我不知道如何编写正则表达式来进行路径替换
答案1
只要文件名不包含“>”字符,这应该就可以工作:
pax -w -x sv4cpio -s '>^\.>>' . >../data.cpio
应-x sv4cpio
满足使用要求-H newc
(SVR4格式)。