【问题标题】:how to make tar exclude hidden directories如何使 tar 排除隐藏目录
【发布时间】:2013-12-27 13:53:27
【问题描述】:

当我想在去皮时排除目录时,我通常使用如下语法:

tar -zcf /backup/backup.tar.gz --exclude="/home/someuser/.ssh" /home/someuser

如何修改这个排除所有隐藏目录,比如除了.ssh/,我还想排除.vnc/、.wine/等。

【问题讨论】:

    标签: hidden tar


    【解决方案1】:

    你可以使用--exclude=".*"

    $ tar -czvf test.tgz test/
    test/
    test/seen
    test/.hidden
    $ tar --exclude=".*" -czvf test.tgz test/
    test/
    test/seen
    

    如果要对当前目录进行去皮,请小心,因为此模式匹配也会将其排除在外。

    $ cd test
    $ tar --exclude=".*" -czvf test.tgz ./
    $ tar -czvf test.tgz ./
    ./
    ./seen
    ./.hidden
    

    那么你需要按照elsewhere的描述使用--exclude='.[^/]*'

    $ tar --exclude='.[^/]*' -czvf test.tgz ./
    ./
    ./seen
    

    【讨论】:

    • 或者只使用--exclude=".+",并将路径设置为“.”
    • 看来--exculde=".*"现在是定位的,需要先走,否则无效:tar --exclude=".*" -czvf test.tgz directory_to_be_archived
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多