如何recursion地包含隐藏文件或目录的目录

看起来像recursion标志chown不会在隐藏的目录或文件上工作。 有没有简单的解决方法?

    我很确定-R标志确实有效 – 无论如何它总是对我有用。 什么是行不通的,在我的命令行使用中,早就绊了我一眼,就是在带有隐藏文件/目录的目录中使用* 。 这样做

     $ chown -R /home/user/* 

    不会做隐藏的文件和目录。 但是,如果你跟着它

     $ chown -R /home/user/.[^.]* 

    那么你会做所有的隐藏文件,(但不是...作为/ /home/user/.*会做)。 说了这么多,我会期待的

     $ chown -R /home/user 

    获取/home/user所有隐藏文件和目录 – 当然这也会改变目录本身的权限,这可能不是你想要的。

    “chown -R”的作品,但另一种select将使用查找。

      find /path/to/dir -exec chown USER {} \; 

    我相信下面的命令应该为此工作

     chown -hR userid:usergroup /nameofdirectory/nameofsubdir/ 

    您可以暂时更改dotglob属性以展开。 文件,然后恢复它。

     shopt -s dotglob; chown -R user:group FOLDER; shopt -u dotglob 

    更多关于dotglob可以在这里find

    另外,如果你像我一样,你可能会从当前目录中运行chown。 我习惯于像这样运行它: chown rails.rails -R * 。 简单地将星号改为点(当前目录的简写)如下: chown rails.rails -R . 带来所有隐藏的目录。

    你可以做类似的事情

     for i in `ls -A`;do chown -R user:group $i;done 

    -A大写 -A A)很重要,因为它排除了'。' 和'..'