繁体   English   中英

Linux Shell脚本更改文件模式

[英]Linux Shell Script to change file mode

我对Shell脚本完全陌生。 我知道如何更改单个文件的模式。

但是,我需要满足以下要求,并且我的操作系统是Red Hat Enterprise Linux。

  1. 要查找目录中具有640模式的所有文件,然后将其更改为644。

就像明智的即时通讯有10个目录,我需要递归地找到所有目录中的所有文件,并将模式更改为644。

  1. 稍后发送电子邮件,其文件名的状态已更改。

期待您的协助以完成此要求。

一些研究要点可以帮助您前进。

  • 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM