权限与用户管理-chown 🔐 — 修改文件所有者

作用

chown(change owner)修改文件或目录的所属用户和组,只有 root 可用。

语法

1
chown [用户][:组] 文件

用法

chown 格式灵活:用户:组 同时改所有者和组,用户 只改所有者,:组 只改组,用户: 改所有者并继承其主组。-R 递归修改目录。--from=当前用户 只更改指定用户的文件。修改目录时通常需配合 -R

常用参数

参数 说明
-R 递归修改
-v 显示详细过程
--from=U:G 只匹配指定用户/组时更改
--reference=RFILE 参考文件的所有者

示例

1
2
3
4
5
chown ALICE FILE.TXT              # 修改文件所有者为 ALICE
chown :DEVELOPERS FILE.TXT # 修改所属组为 DEVELOPERS
chown ALICE:ADMIN CONFIG.CONF # 同时修改所有者和组
chown -R WWW-DATA:WWW-DATA /var/www # 递归修改目录所有者
chown --from=ADMIN: ALICE: FILE.TXT # 仅当前所有者是 ADMIN 时才更改

来源:菜鸟教程

权限与用户管理-chmod 🔐 — 修改文件权限

作用

chmod(change mode)修改文件或目录的读/写/执行权限,支持数字模式(如 755)和符号模式(如 U+RWX)。

语法

1
chmod [选项] 权限 文件

用法

chmod 支持数字模式:rwx 分别对应 4/2/1,如 755 = u=rwx,g=rx,o=rx。符号模式:u+rwx 所有者加执行,g-w 组移除写,a+X 所有人加执行。-R 递归修改目录。chmod +X 为目录添加执行权限;对已有至少一个执行位的文件也添加。

常用参数

参数 说明
-R 递归修改
-v 显示详细过程
-c 有变更时才报告
--reference=RFILE 参考文件权限
755 u=rwx,g=rx,o=rx
644 u=rw,g=r,o=r
600 u=rw,g=—,o=—

示例

1
2
3
4
5
chmod 755 SCRIPT.SH           # 所有者可读写执行,其他人可读执行
chmod 644 FILE.TXT # 所有者可读写,其他人只读
chmod +X SCRIPT.SH # 添加可执行权限
chmod -R 755 DIR/ # 递归设置目录权限
chmod u+rwx,g+r,o+r FILE # 符号模式:所有者全权限,组和其他只读

来源:菜鸟教程

权限与用户管理-groupadd 🔐 — 创建用户组

作用

groupadd 创建新的用户组,支持指定 GID 和创建系统组。

语法

1
groupadd [选项] 组名

用法

groupadd 创建新组。-g GID 指定组 ID,-r 创建系统组(GID < 1000)。创建后可用 usermod -aG 组 用户 将用户加入该组。

常用参数

参数 说明
-g GID 指定组 ID
-r 创建系统组
-f 若组已存在则成功退出
-p 创建组密码

示例

1
2
3
groupadd DEVELOPERS            # 创建新组
groupadd -g 1001 PROJECTA # 创建组并指定 GID
groupadd -r SYSGROUP # 创建系统组

来源:菜鸟教程

权限与用户管理-groupdel 🔐 — 删除用户组

作用

groupdel(group delete)删除指定用户组,不能删除有用户作为主组的组。

语法

1
groupdel [选项] 组名

用法

groupdel 删除系统组记录。若该组是某用户的主组则无法删除(需先将用户删除或改其主组)。-f 强制删除。

常用参数

参数 说明
-f 强制删除(即使用户的主组是该组)

示例

1
2
groupdel DEVELOPERS            # 删除指定组
groupdel OLDSYSGROUP # 删除旧系统组

来源:菜鸟教程

权限与用户管理-id 🔐 — 显示用户身份

作用

id 显示当前或指定用户的 UID、GID 和所属组信息,确认身份的常用命令。

语法

1
id [选项] [用户名]

用法

id 输出用户数字/名称 ID 及所有组成员。-u 只显示 UID,-g 只显示 GID,-n(须与 -u/-g/-G 配合)显示名称而非数字,-G 显示所有附加组 GID。无参数显示当前用户信息。

常用参数

参数 说明
-u 显示 UID
-g 显示 GID
-n 显示名称而非数字
-G 显示所有组 ID
-Z 显示 SELinux 上下文

示例

1
2
3
4
5
id                        # 显示当前用户的完整身份信息
id -u # 只显示 UID
id -g # 只显示 GID
id -un # 显示当前用户名(-n 配合 -u)
id ALICE # 查看指定用户的身份

来源:菜鸟教程

权限与用户管理-last 🔐 — 查看登录历史

作用

last 读取 /var/log/wtmp 显示用户登录历史,包括登录/登出时间和来源 IP。

语法

1
last [选项] [用户]

用法

last 从 wtmp 数据库读取登录记录。-n N 显示最近 N 条,--since--until 按时间范围过滤。-R 不显示主机名列。排查谁什么时间登录过系统的依据。

常用参数

参数 说明
-n N 显示最近 N 条
--since 从指定时间开始
--until 到指定时间截止
-R 隐藏主机名列
-x 显示系统关机/重启记录

示例

1
2
3
4
5
last                          # 查看所有登录历史
last -n 10 # 显示最近 10 条记录
last ALICE # 筛选用户 ALICE 的记录
last --since "2026-01-01" --until "2026-03-01" # 按时间范围过滤
last -x # 显示系统关机重启记录

来源:菜鸟教程

权限与用户管理-passwd 🔐 — 管理用户密码

作用

passwd(password)设置或修改用户密码,支持锁定/解锁账户、删除密码等操作。

语法

1
passwd [选项] [用户名]

用法

passwd 不带参数修改当前用户密码。root 可管理任意用户密码。-l 锁定账户,-u 解锁,-d 删除密码(变为空密码,谨慎),--stdin 从管道读取密码(脚本中使用)。普通用户只能改自己密码。

常用参数

参数 说明
-l 锁定账户
-u 解锁账户
-d 删除密码
--stdin 从 stdin 读密码
-S 显示密码状态
-e 过期密码(下次登录须修改)

示例

1
2
3
4
5
6
passwd                        # 修改当前用户密码
passwd ALICE # root 修改 ALICE 密码
passwd -l ALICE # 锁定账户
passwd -u ALICE # 解锁账户
echo "P@SSWORD" | passwd --stdin ALICE # 管道设置密码(脚本用)
passwd -S ALICE # 查看密码状态

来源:菜鸟教程

文件查看与文本处理-column 📄 — 格式化对齐列

作用

column 将文本按分隔符格式化为对齐的表格,让杂乱的文本秒变整齐。

语法

1
column [选项] [文件]

用法

column 将输入按列排版对齐。-t 表格模式输出,-s 分隔符 指定列分隔符(默认空格),-N 列名 指定列标题,-J JSON 输出,-R 右对齐。-o 指定输出分隔符。适合格式化命令输出使其更易读。

常用参数

参数 说明
-t 表格模式输出
-s 分隔符 指定列分隔符
-N 列名 指定列标题
-J JSON 格式输出
-R 右对齐
-o 分隔符 输出分隔符
-c 宽度 输出列宽

示例

1
2
3
4
cat FILE.TXT | column -t -s ","   # 按逗号对齐为表格
column -t -s: /etc/passwd # 对齐 /etc/passwd
cat /etc/fstab | column -t # 默认空格对齐
column -N NAME,AGE,SCORE DATA.TXT # 指定列标题

来源:菜鸟教程

文件查看与文本处理-comm 📄 — 比较已排序文件

作用

comm 比较两个已排序文件,输出三列:第一列是文件 A 独有行、第二列是文件 B 独有行、第三列是共有行。

语法

1
comm [选项] 文件1 文件2

用法

comm 要求输入文件已排序。输出三列,-1 隐藏第一列(A 独有),-2 隐藏第二列(B 独有),-3 隐藏第三列(共有)。常用技巧:comm -12 FILE1 FILE2 只显示共有行(交集),comm -23 FILE1 FILE2 只显示 A 独有行,comm -13 FILE1 FILE2 只显示 B 独有行。

常用参数

参数 说明
-1 隐藏第一列(A 独有)
-2 隐藏第二列(B 独有)
-3 隐藏第三列(共有)
--check-order 检查文件是否已排序
--output-delimiter=STR 指定输出分隔符

示例

1
2
3
4
5
sort FILE1 > S1; sort FILE2 > S2   # 先排序再比较
comm S1 S2 # 三列输出:A 独有 | B 独有 | 共有
comm -12 S1 S2 # 只显示共有行(交集)
comm -23 S1 S2 # 只显示 A 独有行
comm -13 S1 S2 # 只显示 B 独有行

来源:菜鸟教程

文件查看与文本处理-cut 📄 — 截取文本字段

作用

cut 按分隔符或字符位置截取文本行中的指定字段,常与管道组合提取表格数据的特定列。

语法

1
cut [选项] 文件

用法

cut 支持三种截取方式:-d 分隔符 按分隔符截取字段,-c 位置 按字符位置截取,-b 位置 按字节位置截取。-f N 指定字段号(从 1 开始),-f 1,3 取第 1 和 3 字段,-f 1-3 取第 1 到 3 字段。常见例子:cut -d: -f1 /etc/passwd 提取所有用户名。

常用参数

参数 说明
-d 分隔符 指定字段分隔符
-f N 取第 N 个字段
-c 位置 按字符位置截取
-b 位置 按字节位置截取
-s 只输出含分隔符的行
--complement 取补集(反向截取)

示例

1
2
3
4
5
cut -d: -f1 /etc/passwd        # 以冒号分隔提取第一列(用户名)
cut -d, -f2,4 DATA.CSV # 提取 CSV 的第 2、4 列
cut -c1-10 FILE.TXT # 截取每行的前 10 个字符
cut -b1-5 FILE.TXT # 截取每行的前 5 个字节
cut -d: -f1-3 /etc/passwd # 提取第 1 到 3 列

来源:菜鸟教程

0%