shel自动设置目录权限

20 篇文章 0 订阅
本文介绍如何使用shell脚本自动设置Linux文件权限,避免Windows复制文件时的777问题,提倡常规权限设置(如755, 644)。提供了一个实用的bash脚本示例,用于递归管理目录和文件的权限。
摘要由CSDN通过智能技术生成

电脑装了双系统,windows上的文件复制到linux上时,总是会开放所有权限,也就是777。

这样不仅不合理,而且目录会有绿色的前景,看起来非常不舒服
在这里插入图片描述
目录较多时,手动设置也比较烦。

如果是个人使用,我们一般将目录设为755,文本文件设为644,就够了。
所以可以通过shell脚本来自动设置。

这里贴一个自己写的简单例子,会递归将目录中的文件夹设为755,文本文件设为644,bash shell脚本会设为755(也就是#!/bin/bash#!/usr/bin/bash打头的)。

#!/bin/bash

YELLOW='\033[0;33m'
LYELLOW='\033[1;33m'
NONE='\033[0m'
usage="${YELLOW}\
Usage: permit <files>.${NONE}\n"

if [ $# -eq 0 ]
then
	printf "$usage"
fi

traverse()
{
	files=$*
	for file in $files
	do
		if [ -d "$file" ] #is dir
		then
			chmod 755 "$file"
			traverse "$file"/*
		elif [ -e "$file" ] #is regular file
		then
			first_line=$(sed -n 1p $file|tr -d '\0')
			if [ "$first_line" == "#!/bin/bash" -o "$first_line" == "#!/usr/bin/bash" ]
			then
				chmod 755 $file
			else
				chmod 644 $file
			fi
		fi
	done
}
traverse $*

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

barbyQAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值