核心目标:掌握用户 / 组基础管理、文件权限控制(rwx + 数字权限)、find/grep 高效搜索技巧,能独立解决 “权限不够”“找不到文件 / 内容” 的核心问题,延续 “实操落地 + 场景化应用” 原则。
一、模块 1:用户与组管理(Linux 多用户核心特性)
Linux 是多用户系统,工作中常需创建用户、分配组权限,以下命令是基础,所有操作需加 sudo(管理员权限)执行。
1. 核心概念铺垫
- 用户:每个操作 Linux 的账号(如你初始化时创建的账号,属于普通用户;root 是超级管理员)。
- 组:多个用户的集合,方便批量分配权限(如把开发人员加入 “dev” 组,统一授予项目目录权限)。
2. 高频命令 + 实操
(1)useradd:创建新用户
- 功能:新增普通用户,默认会创建同名的用户组。
- 实操:输入
sudo useradd linux_user(创建名为 linux_user 的用户),用id linux_user验证(显示用户 ID、组 ID 即成功)。
(2)passwd:设置用户密码
- 功能:给用户分配密码(新用户必须设密码才能登录)。
- 实操:输入
sudo passwd linux_user,按提示输入密码(两次一致,输入时不显示),提示 “密码更新成功” 即完成。
(3)usermod:修改用户属性(常用 “添加到组”)
- 功能:修改用户的所属组、用户名等,重点掌握 “添加附加组”。
- 实操:输入
sudo usermod -aG sudo linux_user(-aG 表示 “添加到附加组”,将 linux_user 加入 sudo 组,获得管理员权限),用groups linux_user验证(显示包含 sudo 即成功)。
(4)userdel:删除用户
- 功能:删除用户账号,可选是否删除用户主目录(避免残留文件)。
- 实操:输入
sudo userdel -r linux_user(-r 参数:删除用户的同时,删除其主目录/home/linux_user),用id linux_user验证(提示 “无此用户” 即成功)。
(5)groupadd/groupdel:组管理
- 功能:创建 / 删除用户组,用于批量权限分配。
- 实操:
- 创建组:
sudo groupadd dev_group(创建名为 dev_group 的组),用cat /etc/group | grep dev_group验证。 - 删除组:
sudo groupdel dev_group,用同样命令验证组已消失。
- 创建组:
二、模块 2:文件权限管理(重中之重!避免 “权限不够” 报错)
Linux 中 “权限决定能否操作文件 / 目录”,必须理解 rwx 含义和数字权限,工作中配置服务、部署项目都要用到。
1. 权限的核心表示(先看懂 “权限字符串”)
用 ls -l 查看文件时,最前面的字符串就是权限(如 -rwxr-xr--),拆解如下:
- 第 1 位:文件类型(
-是普通文件,d是目录)。 - 第 2-4 位:所有者权限(u,User),如
rwx表示所有者可读、可写、可执行。 - 第 5-7 位:所属组权限(g,Group),如
r-x表示组内用户可读、可执行,不可写。 - 第 8-10 位:其他用户权限(o,Other),如
r--表示其他用户仅可读。
2. 权限的两种表示方式(必须掌握)
| 权限类型 | 字母表示 | 数字值 | 含义(文件 / 目录) |
|---|---|---|---|
| 读权限 | r | 4 | 文件:查看内容;目录:列出内容(ls) |
| 写权限 | w | 2 | 文件:修改内容;目录:创建 / 删除文件 |
| 执行权限 | x | 1 | 文件:运行(如脚本、程序);目录:进入(cd) |
- 数字权限:3 个数字分别对应 “所有者 + 所属组 + 其他用户”,由上述数字值相加得到。
- 示例 1:
rwxr-xr--→ 所有者 7(4+2+1)、组 5(4+1)、其他 4 → 总权限754。 - 示例 2:目录默认权限
rwxr-xr-x→ 数字755;文件默认权限rw-r--r--→ 数字644。
- 示例 1:
3. 权限操作命令(chmod/chown/chgrp)
(1)chmod:修改文件 / 目录权限(最常用)
- 功能:用 “字母” 或 “数字” 两种方式修改权限,新手推荐数字方式(更简洁)。
- 实操:
- 数字方式(推荐):进入
~/study/linux目录,创建文件test.sh,输入chmod 755 test.sh(设置所有者可读写执行,组和其他用户可读写),用ls -l验证权限字符串变为-rwxr-xr-x。 - 字母方式:输入
chmod u-w test.sh(u = 所有者,-w = 取消写权限),用ls -l验证,所有者权限变为r-x。
- 数字方式(推荐):进入
(2)chown:修改文件 / 目录的所有者
- 功能:变更文件的归属用户,比如把项目目录交给某个用户管理。
- 实操:输入
sudo chown linux_user:dev_group test.sh(将 test.sh 的所有者改为 linux_user,所属组改为 dev_group),用ls -l验证(权限字符串后显示 “linux_user dev_group” 即成功)。
(3)chgrp:修改文件 / 目录的所属组
- 功能:单独变更所属组(可替代 chown 的组修改功能)。
- 实操:输入
sudo chgrp sudo test.sh(将 test.sh 的所属组改为 sudo),用ls -l验证。
三、模块 3:查找与搜索命令(工作中高频刚需)
解决 “找不到文件”“不知道内容在哪” 的问题,find 找文件、grep 找内容,两者搭配使用效率极高。
1. find:按条件查找文件 / 目录
- 功能:从指定目录开始,按 “文件名、大小、修改时间” 等条件搜索,支持递归查找。
- 核心用法 + 实操:
- 按文件名查找(最常用):输入
find /etc -name "*.conf"(在 /etc 目录下,查找所有后缀为.conf 的配置文件),会列出所有匹配的文件路径。 - 按目录查找:输入
find ~/study -type d -name "linux"(在~/study 目录下,仅查找名为 linux 的目录,-type d 表示 “目录”)。 - 按大小查找:输入
find /var/log -size +10M(在 /var/log 目录下,查找大于 10M 的文件,+ 表示 “大于”,- 表示 “小于”)。 - 按修改时间查找:输入
find ~ -mtime -7(在主目录下,查找近 7 天内修改过的文件,-mtime 表示 “修改时间”)。
- 按文件名查找(最常用):输入
2. grep:按内容搜索文件(文本搜索神器)
- 功能:在文件或命令输出中,搜索包含指定关键词的内容,支持递归搜索。
- 核心用法 + 实操:
- 搜索单个文件内容:输入
grep "root" /etc/passwd(在 passwd 文件中,搜索包含 “root” 的行),会高亮显示关键词。 - 递归搜索目录下所有文件:输入
grep -r "Listen 80" /etc/(在 /etc 目录下,递归搜索所有文件中包含 “Listen 80” 的内容,常用于找配置项)。 - 忽略大小写:输入
grep -i "linux" info.txt(-i 参数忽略大小写,同时匹配 “Linux”“LINUX” 等)。 - 显示行号:输入
grep -n "root" /etc/passwd(-n 参数显示匹配内容的行号,方便定位)。
- 搜索单个文件内容:输入
3. 组合用法(工作常用)
- 场景:查找 /etc 目录下所有.conf 文件中,包含 “timeout” 的内容。
- 实操:输入
find /etc -name "*.conf" | xargs grep "timeout"(用管道符 | 连接 find 和 grep,先找文件再搜内容)。
四、第三天小练习:串联实操(必完成!)
按步骤执行,巩固用户权限、查找搜索的核心知识点:
- 用
sudo useradd test_dev创建用户,sudo passwd test_dev设置密码。 - 用
sudo groupadd project_group创建组,sudo usermod -aG project_group test_dev将用户加入组。 - 进入
~/study目录,创建project目录:mkdir project,修改其权限为 775(所有者和组可读写执行):sudo chmod 775 project。 - 修改 project 目录的所有者和组:
sudo chown :project_group project,用ls -l验证权限和组信息。 - 在 project 目录下创建
config.conf文件,写入内容:echo "timeout=30" > config.conf。 - 用 find 查找主目录下所有.conf 文件:
find ~ -name "*.conf"。 - 用 grep 递归搜索 project 目录下包含 “timeout” 的内容:
grep -r "timeout" ~/study/project/。 - 最后删除测试用户和组:
sudo userdel -r test_dev、sudo groupdel project_group。
五、新手常见问题答疑
-
执行命令提示 “Permission denied(权限不够)”?要么是操作系统目录 / 其他用户的文件,要么是文件没有执行 / 写权限。解决方案:加 sudo(管理员权限),或用 chmod 修改文件权限(如
chmod +x 文件名增加执行权限)。 -
find 搜索结果太多,刷屏了怎么办?按
Ctrl+C停止,可加-maxdepth N限制搜索深度(如find /etc -maxdepth 2 -name "*.conf"只搜两级目录),或用find ... | head -10只显示前 10 条结果。 -
grep 搜不到内容,但确定文件里有?可能是大小写问题(加
-i参数)、漏了递归(目录搜索加-r),或关键词有特殊字符(如.需加转义符\.)。
今天的内容是 Linux 基础的 “进阶核心”,权限管理和查找命令在工作中几乎每天都会用到,重点是 “理解场景 + 动手实操”—— 比如为什么目录需要 x 权限(才能 cd 进入)、为什么配置文件常用 644 权限(仅所有者可修改)。


被折叠的 条评论
为什么被折叠?



