如何将RPM包提取至当前目录以外的路径?
优雅提取RPM包到指定目录的方法
当然有比先提取再移动更清爽的解决方案啦!这里分享两种常用的直接提取到目标目录的方法:
方法一:借助cpio的-D(--directory)参数
cpio本身就支持指定输出目录,只需要在命令里加上-D选项,直接指向你要的目标路径就行(记得提前用mkdir -p /path/to/target创建好目标目录):
rpm2cpio mypackage.rpm | cpio -idmv -D /path/to/your/target/directory
这个参数会让cpio把所有提取出的文件直接放到指定目录下,完全省去事后移动的步骤。
方法二:用子shell切换目录执行提取
如果你习惯用cd的逻辑,可以用子shell来实现——这样切换目录的操作只会在子shell里生效,不会影响当前终端的工作目录:
# 先确保目标目录存在 mkdir -p /path/to/target # 子shell内完成目录切换+提取 (cd /path/to/target && rpm2cpio /path/to/mypackage.rpm | cpio -idmv)
括号()会创建一个临时的子shell,执行完提取命令后自动回到原来的工作目录,全程不用手动切换路径。
这两种方法都能让提取流程更简洁,你可以根据自己的使用习惯选择~
内容的提问来源于stack exchange,提问作者Jens Petersen
相关产品推荐
相关产品推荐

