当前位置: 首页 > news >正文

Linux下递归设置目标目录及其子目录和文件的权限

〇、背景

  本文旨在简单介绍一个在Linux环境下批量修改目录及其子目录和文件的权限的方法。

一、实现

  首先新建一个shell脚本文件,使用指令$ vi chmod.sh,然后在文件中输入下述代码。

#!/bin/bashOFFSET_INDEX="    "
DIR_MODE=755
FILE_MODE=664function ListAndChmodDirFiles()
{# 第一个参数是目录名for file in `ls $1`; do# 查看权限f_p=`stat -c %a $1/$file`if [ -d "$1/$file" ]; then# 如果是目录,则打印目录名称并且递归遍历该目录echo -e "\e[34m  "$1$file" \e[0m"if [ $f_p != $DIR_MODE ] ;thenecho -e "\e[32m${OFFSET_INDEX}chmod dir '$1$file' to $DIR_MODE\e[0m"chmod $DIR_MODE $1/$filefi# 子目录ListAndChmodDirFiles "$1/$file"else# 如果是文件,则echo "${OFFSET_INDEX}$file"if [ $f_p != $FILE_MODE ]; thenecho -e "\e[32m${OFFSET_INDEX}chmod file '$1$file' to $FILE_MODE\e[0m"chmod $FILE_MODE $1/$filefifidone
}ListAndChmodDirFiles $1

二、测试

  首先设置脚本文件的可执行权限,使用指令$ chmod u+x chmod.sh

  然后直接执行本脚本,使用指令$ ./chmod.sh test_dir即可。

  执行脚本设置权限前后文件及其目标权限如下图所示。


http://www.mrgr.cn/news/16736.html

相关文章:

  • 【c++】日期类相关实践:计算日期到天数转换、日期差值
  • LMDeploy 量化部署进阶实践
  • 什么是RS485总线?
  • opencv之形态学
  • 2024年9月1日 十二生肖 今日运势
  • Nginx: 使用KeepAlived配置实现虚IP在多服务器节点漂移及Nginx高可用原理
  • asio之服务的理解
  • R语言基础语法速成与学习
  • 进程通信——共享内存
  • 数据源10min自动断开连接导致查询抛异常(未获取可用连接)
  • pc端项目登陆方式
  • 男人圣经 18
  • 使用MCP2518FD在STM32G4上实现SPI转CAN通信
  • HIVE 数据仓库工具之第一部分(讲解部署)
  • 【王树森】Vision Transformer (ViT) 用于图片分类(个人向笔记)
  • 如何利用chatgpt的提升代码能力
  • audiocraft - 免费文本转音乐、AI音乐生成、AI音乐创作工具,Facebook开源,本地一键整合包下载
  • 华为数据之道-读书笔记
  • Nginx快速入门:编译及常用配置
  • kingbase读取blob,下载文件注意事项