【问题标题】:How to recursively change file permissions only in a ruby script如何仅在 ruby​​ 脚本中递归更改文件权限
【发布时间】:2016-08-12 18:08:31
【问题描述】:

我一直在使用函数 FileUtils.chmod_R 以递归方式更改给定路径下的文件和目录权限,但现在只想更改文件权限并保持目录不变。查看此功能的手册页,我看不到如何执行此操作,我不想使用 bash 脚本执行此操作。请有人告诉我这是否可以通过 FileUtils.chmod_R 函数实现,或者我是否必须编写额外的代码来迭代给定路径(递归)下存在的每个文件,然后将 FileUtils.chmod 到所需的权限?我是一个红宝石新手,所以如果我问任何明显的问题,请指出我的地方

【问题讨论】:

    标签: ruby file recursion permissions


    【解决方案1】:

    您可以执行以下操作 - 这将更改与 Dir.glob 匹配的文件列表的权限。

    FileUtils.chmod 0400, Dir.glob('/path/to/dir/**/*')
    

    正如this thread中提到的,

    Dir.glob("**/*/") # will return list of all directories
    Dir.glob("**/*") # will return list of all files
    

    【讨论】:

    • 感谢它为我工作。与此同时,我编写了一个定义来执行此操作,但 Dir.glob 节省了相当多的代码行!
    猜你喜欢
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 2022-10-23
    • 2020-08-12
    相关资源
    最近更新 更多