答案1
出现这个点是因为tar
按照您在参数中给出的方式创建路径结构。所以正如你所给予的。作为源,存档也以相同的结构创建。
你可以试试这个(注意:这不会匹配隐藏文件):
tar -czvf ../myarchive.tar.gz *
使用 n.st 的评论和 zhoux 的回答中的信息进行更新
tar --xform s:'^./':: -czvf ../myarchive.tar.gz ./
答案2
你不知道。
name=${PWD##*/}
cd ..
tar czf "$name.tar.gz" "$name"
(注意:如果您的 shell 打开了当前目录符号链接跟踪并且通过符号链接访问当前目录,则此操作不起作用。)
是的,这不是你要求的,但这是你应该做的。在当前目录中展开大量文件的存档很烦人:它给每个解压存档的人带来了为文件创建目标目录的负担,如果他们不小心将它们解压到非空目录中,则很难清理。大多数时候,存档应该创建一个顶级目录,其名称是存档的基本名称。
答案3
最好在前面添加 ^ 。
tar --xform s:'^./':: -czvf ../myarchive.tar.gz ./
或者,存档内完整路径名中的所有“/”都将被删除,除非“/”是完整路径名的末尾。