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

news/2024/9/19 4:44:18/ 标签: linux, chomd, 递归

〇、背景

  本文旨在简单介绍一个在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.ppmy.cn/news/1520505.html

相关文章

Oracle---PAG程序全局区的组成:堆栈区、会话区、游标区、排序区

文章目录 PGA程序全局区PGA主要内容1、排序区(SORT AREA)**为什么给排序设置合理的排序区大小** 2、会话区(USER SESSON DATA)3、堆栈区保存变量信息(STACK SPACE)4、游标区 (CURSOR STATE) PGA程序全局区 程序全局区或进程全局区…

AN7536PT时钟电路

目录 1 时钟电路概述2 时钟晶振电路2.1 需求分析2.2 晶振选型(Datasheet表5-7解读)2.3 设计晶振电路(表4-1、图5-4) 1 时钟电路概述 时钟电路是一种用于产生稳定、周期性脉冲信号的电子电路。它通常由晶体振荡器和相关逻辑电路组…

Luminar Neo for Mac智能图像处理软件【操作简单,轻松上手】

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试安装完成!!! 效果 一、下载软件 下载软件…

Hackme靶场渗透攻略

步骤一,注册登录进去 步骤二,点击search 我们发现有很多书 步骤三,搜索一本书抓包发放到重放器 步骤四,数据改为1*,复制数据包到1.txt,然后打开sqlmap 步骤五,sqlmap查看当前数据库 python s…

阿尔茨海默病症识别+图像识别Python+人工智能+深度学习+TensorFlow+机器学习+卷积神经网络算法

一、介绍 阿尔茨海默病症识别。使用Python作为主要编程语言进行开发,基于深度学习等技术使用TensorFlow搭建ResNet50卷积神经网络算法,通过对病症图片4种数据集进行训练[‘轻度痴呆’, ‘中度痴呆’, ‘非痴呆’, ‘非常轻微的痴呆’],最终得…

TeeChart助力科研软件:高效实现数据可视化

在当今的科学研究中,数据可视化已经成为理解和传播复杂信息的关键工具。尤其是在物理研究领域,科学家们经常需要处理大量的数据,并通过可视化将这些数据转化为更易理解的形式。TeeChart作为一个强大且灵活的图形展示工具,能够帮助…

前端按钮通过浏览器下载附件

html <a click"downloadAttach(record.memoryAddress)">下载附件</a> js downloadAttach(url){var fileUrl window._CONFIG[staticDomainURL] url;window.open(fileUrl); } 配置文件 window._CONFIG[staticDomainURL] http://127.0.0.1:3000/xxx…

Spring Cloud Gateway的使用

Spring Cloud Gateway的使用 1. Spring Cloud Gateway原理2. Spring Boot项目中集成Spring Cloud Gateway2.1 创建项目与添加依赖2.2 配置网关 3. 高级功能与实践**3.1 配置过滤器****3.2 分组路由** 4. 监控与故障处理5. 部署与持续集成 在微服务架构中&#xff0c;服务发现、…

计算机网络(一) —— 网络基础入门

目录 一&#xff0c;关于网络 二&#xff0c;协议 2.1 协议是什么&#xff0c;有什么用&#xff1f; 2.2 协议标准谁定的&#xff1f; 2.3 协议分层 2.4 OSI 七层模型 2.5 TCP/IP 四层模型 三&#xff0c;网络传输基本流程 3.1 局域网中两台主机通信* 3.2 报文的封装与…

uniapp网站和微信小程序 添加 百度统计

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、首先&#xff0c;需要在百度统计平台注册一个账户或登录现有的账户二、新建站点(应用)、添加代码三、代码获取与安装1.在官方网站 新增应用&#xff0c;根据官方…

kernel底层的蓝牙开发流程

kernel底层的蓝牙开发流程是一个复杂且细致的过程&#xff0c;它涉及到从内核配置、驱动编写、工具编译到最终的设备调试等多个环节。以下是一个详细的蓝牙开发流程&#xff0c;旨在为读者提供一个全面的视角。 一、前期准备 1. 确定开发环境 首先&#xff0c;需要确定开发所…

复数遍历4联通区域

怎么理解虚数和复数&#xff1f; - 知乎

python-禁止抽烟

题目描述 小理的朋友有 n 根烟&#xff0c;他每吸完一根烟就把烟蒂保存起来&#xff0c;k&#xff08; k>1&#xff09;个烟蒂可以换一个新的烟&#xff0c;那么小理的朋友最终能吸到多少根烟呢&#xff1f; 与某些脑筋急转弯不同的是&#xff0c;小理的朋友并不能从异次元借…

OpenHarmony 实战开发——一文总结ACE代码框架

一、前言 ACE_Engine框架是OpenAtom OpenHarmony&#xff08;简称“OpenHarmony”&#xff09;的UI开发框架&#xff0c;为开发者提供在进行应用UI开发时所必需的各种组件&#xff0c;以及定义这些组件的属性、样式、事件及方法&#xff0c;通过这些组件可以方便进行OpenHarmo…

在 Vue 中实现跨项目数据传递

在 Vue 中实现跨项目数据传递可以通过以下几种方法&#xff1a; 一、使用本地存储&#xff08;Local Storage&#xff09; 存储数据 在一个项目中&#xff0c;可以使用localStorage.setItem()方法将数据存储到本地存储中。例如&#xff1a;localStorage.setItem(sharedData, J…

CentOS全面停服,国产化提速,央国企信创即时通讯/协同门户如何选型?

01. CentOS停服带来安全新风险&#xff0c; 国产操作系统迎来新的发展机遇 2024年6月30日&#xff0c;CentOS 7版本全面停服&#xff0c;于2014年发布的开源类服务器操作系统——CentOS全系列版本生命周期画上了句号。国内大量基于CentOS开发和适配的服务器及平台&#xff0c…

RESTful基本要求

文章目录 RESTful -Representational State Transfer1 什么是RESTful2 RESTful的特征3 如何设计符合RESTful 特征的API RESTful -Representational State Transfer 1 什么是RESTful 资源 &#xff08;Resources&#xff09; 网络上的一个实体&#xff0c;或者说是网络上的一个…

《Rust避坑入门记》第2章:解决多线程并发数据竞争的不可变性

从第1章所讨论的出现数据竞争问题的多线程并发剧院订票系统的代码能够看出&#xff0c;虽然可变性能够方便地随时修改值&#xff0c;但滥用可变性&#xff0c;会在多线程并发编程时&#xff0c;带来数据竞争的难题。 共享可变状态所带来的多线程并发时的数据竞争难题&#xff…

windows11交叉编译ffmpeg的android版本库

目录 1、工具准备 &#xff08;1&#xff09;MSYS2 &#xff08;2&#xff09;NDK&#xff08;也可直接用android studio安装的&#xff09; &#xff08;3&#xff09;ffmpeg源码 2、环境配置 3、创建编译脚本 4、编译 曾经看到一个博客说&#xff0c;不要用windows编译…

代码随想录算法训练营day58:图论08:拓扑排序精讲;dijkstra(朴素版)精讲

拓扑排序精讲 卡码网&#xff1a;117. 软件构建(opens new window) 题目描述&#xff1a; 某个大型软件项目的构建系统拥有 N 个文件&#xff0c;文件编号从 0 到 N - 1&#xff0c;在这些文件中&#xff0c;某些文件依赖于其他文件的内容&#xff0c;这意味着如果文件 A 依…