[英]Linux Shell Script to change file mode
我对Shell脚本完全陌生。 我知道如何更改单个文件的模式。
但是,我需要满足以下要求,并且我的操作系统是Red Hat Enterprise Linux。
就像明智的即时通讯有10个目录,我需要递归地找到所有目录中的所有文件,并将模式更改为644。
期待您的协助以完成此要求。
一些研究要点可以帮助您前进。
find
命令可用于在给定点下查找具有不同属性的文件。 -type
一起使用以选择特定的文件类型(常规文件,目录等)。 -maxdepth
一起使用,以限制它在树中的下降深度。 -perm
一起使用,以仅选择具有特定权限的文件。 -print
一起使用以输出文件名,包括将它们捕获到文本文件中以供以后发送邮件(使用mailx
类的工具)。 -exec
一起使用,以对每个符合条件的文件执行任意命令。 chmod
是更改权限的命令。 例如,以下命令将在当前目录(无子目录)中以*.dat
格式找到所有常规文件,并且具有权限640
,然后将所有这些权限更改为644
:
find . -type f -perm 640 -name '*.dat' -maxdepth 1 -exec chmod 644 {} ';'
所有这些选项以及更多选项都可以在手册页中find
使用以下命令进行find
:
man find
或通过寻找一些很好的解释,例如GNU find documentation 。
但是, find
并不是使您晕倒的工具,它会抓住每一个机会。 希望在这里提出,至少另一个十个问题你之前,你需要什么:-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.