本文目录导读:

下面是几种批量修改文件权限的Shell脚本方法:
使用 find 命令批量修改
修改所有 .sh 文件为可执行
find /path/to/directory -name "*.sh" -exec chmod +x {} \;
递归修改目录权限
# 设置目录为755
find /path/to/directory -type d -exec chmod 755 {} \;
# 设置普通文件为644
find /path/to/directory -type f -exec chmod 644 {} \;
使用 chmod 配合通配符
修改当前目录下的所有文件
# 所有文件设置为644 chmod 644 * # 所有.py文件设置为755 chmod 755 *.py
完整的批量修改脚本
#!/bin/bash
# 批量修改文件权限脚本
# 用法: ./batch_chmod.sh <目录路径> <权限模式>
target_dir="${1:-.}" # 默认当前目录
permission="${2:-644}"
# 检查目录是否存在
if [ ! -d "$target_dir" ]; then
echo "错误: 目录 $target_dir 不存在"
exit 1
fi
echo "开始修改 $target_dir 下的文件权限为 $permission"
# 修改所有文件(不包括目录)
find "$target_dir" -type f -exec chmod "$permission" {} \;
# 可选:单独设置目录权限
# find "$target_dir" -type d -exec chmod 755 {} \;
echo "修改完成"
选择性修改脚本
#!/bin/bash
# 选择性批量修改
directory="/path/to/directory"
# 修改特定类型文件
echo "修改日志文件权限..."
find "$directory" -name "*.log" -exec chmod 644 {} \;
echo "修改可执行脚本权限..."
find "$directory" -name "*.sh" -name "*.py" -exec chmod 755 {} \;
echo "修改配置文件权限..."
find "$directory" -name "*.conf" -name "*.ini" -exec chmod 600 {} \;
交互式批量修改
#!/bin/bash
read -p "请输入目录路径: " target_dir
read -p "请输入文件权限(如644): " permission
# 预览将要修改的文件
echo "以下文件将被修改:"
find "$target_dir" -type f -exec ls -l {} \;
read -p "确认修改? (y/n): " confirm
if [ "$confirm" = "y" ] || [ "$confirm" = "Y" ]; then
find "$target_dir" -type f -exec chmod "$permission" {} \;
echo "修改完成"
else
echo "已取消"
fi
以当前用户为主的安全修改
#!/bin/bash
# 只修改当前用户拥有的文件
user=$(whoami)
find /path/to/directory -user "$user" -type f -exec chmod 644 {} \;
find /path/to/directory -user "$user" -type d -exec chmod 755 {} \;
实用技巧
查看当前权限
# 查看文件权限 ls -l # 查看特定类型文件权限 ls -l *.txt
常用权限设置
- 755: 目录或可执行文件(rwxr-xr-x)
- 644: 普通文件(rw-r--r--)
- 600: 敏感文件(rw-------)
- 777: 所有用户完全控制(不推荐)
权限含义
r=4 (读)
w=2 (写)
x=1 (执行)
选择哪种方法取决于你的具体需求:
- 需要递归处理:用
find - 简单批量:用通配符
- 需要选择性:编写脚本
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播