当我们压缩文件夹时,我们输入命令tar -cjf folder.tar.bz2文件夹,它将整个文件夹压缩到其中。
是否有压缩文件夹中的所有内容但文件夹不应出现在存档中?
示例 - 打开存档时,将显示文件夹中的文件而不是整个文件夹。
答案 0 :(得分:5)
使用tar的-C参数
tar -C folder -jcvf folder.tar.bz2 .
我在我的电脑上尝试了这个并且它有效;)
答案 1 :(得分:3)
这应该这样做:
cd folder; tar -cjf ../folder.tar.bz2 *
最后的*
被shell扩展到当前目录中所有文件(隐藏除外)的列表。试试echo *
。
对于隐藏文件,有两种可能的方法:
使用ls
命令及其-A
选项(列出“几乎所有”文件,除.
和..
条目以外的所有文件。目录
cd文件夹; tar -cjf ../folder.tar.bz2 $(ls -A)
使用通配符表达式(请注意,这在破折号中不起作用,并且,当任何模式不匹配时,您将在参数列表中逐字逐句地获取它)
cd文件夹; tar -cjf ../folder.tar.bz2 *。[^。] * ..?*
答案 2 :(得分:0)
我认为你所指的只是cd folder; tar -cjf ../folder.tar.bz2 * .[^.]*
,但我可能是错的。这会将文件名放在生成的存档中的顶层,而不是folder/
之后。
答案 3 :(得分:0)
tar -jcvf folder.tar.bz2文件夹/ *