前言
初学Linux时,很多报错不是命令记不住,而是不理解底层权限逻辑。 比如sudo创建完目录之后普通用户依旧无法读写、分不清主组附加组、tar解压到处散落文件、less卡住不知道怎么退出。 本文记录实操过程里的重灾区,全是作者的亲身经历,避开网上教程只贴命令不讲副作用的问题。
一、用户与用户组管理
核心概念:用户代表人,组代表岗位/角色。 主组负责个人私有环境,附加组专门用来做多用户协作共享。
主组 - 一个用户只能拥有一个主组
- 作用:决定用户个人家目录、新建私人文件的默认所属组
- ⚠️风险:修改主组会改变个人目录归属,普通业务场景尽量不去改动
bash # -g 修改替换用户主组 usermod -g [用户组] [用户] - 副作用:一旦修改普通用户主组,会打通个人文件权限,容易出现多人访问逻辑错乱,生产环境尽量避免。
附加组 - 一个用户可以拥有多个附加组
- 作用:只授予访问共享目录的权限,不会改动个人文件、家目录的归属,多人协作的标准方案。
1 | # -aG 追加附加组,保留用户已有的全部附加组,推荐写法 |
- 🚨高危坑:偷家操作 ```
1 | # 不带 -a 的 -G,会清空该用户所有原有附加组,只保留新指定组,几乎不要使用 |
通俗比喻:
- 主组 = 自己独立私人办公室;
- 附加组 = 共用办公室钥匙,只给访问权限,不改动自己的私人房间。
二、文件与目录操作指令
1. /home 目录权限坑
/home目录本身所有者是root。 普通用户没有权限直接在/home下新建文件夹。 如果使用sudo mkdir创建目录,生成的目录所有者为root,切回普通用户依旧无法读写修改。 需要手动下放所有权给普通用户:
1 | sudo chown 你的普通用户:你的组 /home下的文件和目录 |
注意:在自己的家目录
/home/xxx内部操作,不需要sudo放权。
2. 绝对路径 & 相对路径
- 绝对路径:以
/开头,从根目录开始查找完整路径,不受当前位置影响 - 相对路径:不以
/开头,基于你当前所在位置查找
✅好习惯:操作前确认环境
1 | pwd # 查看自己当前处于哪个目录 |
重要知识点:删除、重命名文件,权限看父目录权限,不是看文件本身权限。
新手重灾区小结
- 不要遇到权限报错就无脑加
sudo硬怼,会制造大量root属主文件,形成恶性循环,优先用chown修改归属。 chmod用来修改rwx读写执行权限;chown修改文件属于哪个用户和组,两者不要搞混。rm -rf无确认提示,复制网络命令务必核对路径,防止空格造成误删。
三、压缩与解压
区分概念:tar只负责打包,把多个文件拼成一个文件,不会压缩体积;gzip负责压缩,不能直接压缩文件夹。
指定解压目录
重点:目标目录必须提前创建,不会自动生成
- tar.gz 使用大写
-C - zip 使用小写
-d
1 | # tar.gz 解压到指定目录 tar -zxvf 压缩包.tar.gz -C /目标/路径 |
1 | # zip 解压到指定目录 unzip 压缩包.zip -d /目标/路径 |
tar参数硬性规则:-f参数必须写在参数的最后一位,后面紧跟压缩包名称。
其他高频坑
gzip只能压缩单个文件,不能直接压目录;压缩后原文件直接消失。- Ubuntu纯净环境默认没有
zip/unzip,需要手动安装:sudo apt install zip unzip。 - zip压缩文件夹,必须加
-r递归参数。 - sudo打包的压缩包,解压出来所有文件所有者会变成root。
- 打包尽量使用相对路径,避免解压出来完整的系统层级目录。
四、文件内容查看命令
| 命令 | 用途 | 适用场景 |
|---|---|---|
| cat | 一次性输出全部内容 | 小文件,大文件会刷屏 |
| less | 分页查看,支持搜索 | 大文件、日志优先使用 |
| head | 查看文件开头,默认10行 | 查看文件头部 |
| tail | 查看文件末尾,默认10行 | 查看日志尾部、实时跟踪日志 |
tail 追踪日志
1 | tail -f notes.log |
tail -f实时监听文件新增输出,不会自动退出,按 Ctrl + C 终止跟踪。
less 分页查看快捷键
1 | less 文件 |
进入less界面后,不能输入shell命令,
使用快捷键操作:
- 空格:向下翻一页
- b:向上翻一页
- 上下箭头:逐行滚动
/关键词:向下搜索关键词?关键词:向上搜索关键词q:退出 less,回到终端
新手高频卡死:进入less界面后无法敲命令,忘记按q退出。
查看命令通用提醒
cat、head、less、chmod、tar等命令不会全局搜索磁盘文件,路径写错直接提示找不到文件。
总结
- 多用户共享目录场景,优先使用附加组
‑aG,尽量不要修改普通用户主组。 - sudo会生成root属主资源,权限报错优先调整属主,不要无脑sudo。
- tar、zip指定解压目录参数不一样,目标目录要预先创建。
- 大文件不要用cat刷屏,优先less;tail‑f、less都有专属退出方式。
- 操作前养成习惯:pwd确认位置,ls确认文件存在。
本篇笔记为实操踩坑复盘,适合运维入门复习、面试快速回顾。