我正在寻找能够找到压缩文件系统的东西,并传递输出以取消压缩文件系统,并且它必须是压缩文件系统之外的绝对路径。
例子
/tmp/mnt/live/filesystem.squashfs
期望的输出
/tmp/unsquashedfs/files
我在愚弄像这样的代码行
find /tmp/mnt -iname '*.squashfs' -exec unsqaushfs '*.squashfs' {} \;
find /tmp/mnt -print0 -iname "*.squashfs" | unsquashfs "*.squashfs" -T -
但无法让它发挥作用。任何人的帮助将不胜感激!
答案1
你基本上是在寻找
find /tmp/mnt -iname '*.squashfs' -exec unsquashfs {} \;
{}
被替换为匹配文件的路径。
如果您想指定提取到哪个目录,请传递该-d
选项。
find /tmp/mnt -iname '*.squashfs' -exec unsquashfs -d /tmp/unsquashedfs/files {} \;
答案2
所以我想我是在逆向工作,这对我有用
sudo find . -type f \( -name '*.squashfs' -o -name "*.SQFS" \) -exec cp {} /tmp/fs.squashfs \; && sudo unsquashfs /tmp/fs.squashfs
感谢网友的帮助我终于结束了! (我需要能够搜索不同的参数并能够在将来添加更多参数)
find /tmp/mnt \( -iname '*.squashfs' -o -iname "*.SQFS" \) -exec unsquashfs -d /tmp/squashfs-root/ {} \;