![如何让 TAR 不保存目录层次结构](https://linux22.com/image/1265985/%E5%A6%82%E4%BD%95%E8%AE%A9%20TAR%20%E4%B8%8D%E4%BF%9D%E5%AD%98%E7%9B%AE%E5%BD%95%E5%B1%82%E6%AC%A1%E7%BB%93%E6%9E%84.png)
系统(“ tar -czf #{RAILS_ROOT} / tmp / export-result #{RAILS_ROOT} / tmp / export”)
当我解压缩生成的文件时,我得到
应用程序/c3ec2057-7d3a-40d9-9a9d-d5c3fe3ffd6f/home/tmp/export/and_the_files
我只想得到:
导出结果/和文件
我该如何改变我的 TAR 调用来实现这一点?
解决方案:
系统(“tar -czf #{RAILS_ROOT}/tmp/export.tgz --directory=#{RAILS_ROOT}/tmp export/”)
答案1
你应该这样做,
tar cfz target.tgz --directory=目标目录 subdir_list
在你的情况下,它看起来像,
tar cfz 目标.tgz --directory=app/c3ec2057-7d3a-40d9-9a9d-d5c3fe3ffd6f/home/tmp 导出/
答案2
更改为#{RAILS_ROOT}
压缩之前并且不要在源文件中指定它。