| 当前用户名 | whoami |
| 当前用户 UID/GID | id 或 id -u/id -g |
| 所有登录用户 | who 或 w |
| 系统所有用户列表 | compgen -u 或 cat /etc/passwd |
| 指定用户详细信息(家目录、shell 等) | getent passwd 用户名 |
| 用户所属组 | groups [用户名] |
| 登录历史记录 | last 或 lastlog |
| 当前用户家目录 | echo $HOME |
sort
| 选项 | 功能描述 | 关键场景 |
|---|---|---|
-n |
按 数值大小 排序(而非字符串) | 排序数字(如文件大小、分数、进程 ID) |
-r |
按 降序 排序(默认升序) | 需从大到小排列(如内存占用最高的进程) |
-k N |
按第 N 个 字段(列) 排序(默认空格 / 制表符分隔) |
排序表格数据(如学生分数表、日志的某一列) |
-t 符号 |
自定义 字段分隔符(如逗号、冒号) | 处理 CSV 文件(, 分隔)、配置文件(: 分隔) |
-u |
去重:仅保留排序后 唯一的行(重复行只留第一行) | 需去重 + 排序的场景(如统计不重复的关键词) |
-f |
忽略 大小写 差异(如 A 和 a 视为相同) |
文本排序不区分大小写(如英文文档) |
-b |
忽略行首 空格 / 制表符(避免空格影响排序) | 行首有不规则空格的文本(如手动编辑的日志) |
| 排序需求 | 命令(针对数字) | 命令(针对文本) |
|---|---|---|
| 从小到大(升序) | sort -n 文件名 |
sort 文件名(默认) |
| 从大到小(降序) | sort -nr 文件名 |
sort -r 文件名 |
1. 数值排序(最常用)
按数值升序:sort -n 数字文件.txt
按数值降序:sort -nr 数字文件.txt
示例:排序分数文件 score.txt(数值降序):
sort -nr score.txt # 输出从高到低的分数
2. 按指定字段排序
场景 1:按第 3 列(数值)排序(默认空格分隔):
sort -k3 -n 表格文件.txt # -k3指定第3列,-n数值排序
场景 2:按 CSV 文件(逗号分隔)的第 2 列(数值)降序:
sort -t',' -k2 -nr data.csv # -t','指定逗号分隔,-k2第2列,-nr降序
3. 多字段排序(先按 A 列,再按 B 列)
场景:学生表先按 “班级”(第 2 列)升序,再按 “分数”(第 3 列)降序:
sort -k2 -n -k3 -nr student.txt # 先-k2(班级)升序,再-k3(分数)降序
4. 结合其他命令排序
场景 1:按文件大小排序(ls -l 第 5 列是大小):
ls -l | sort -k5 -nr # 显示文件按大小降序(最大的在前)
场景 2:按进程内存占用排序(ps aux 第 4 列是内存百分比):
ps aux | sort -k4 -nr | head -5 # 显示内存占用Top5的进程
5. 去重 + 排序
场景:对重复文本去重并排序:
sort -u 重复文本.txt # 去重后按ASCII码升序 sort -n 456.txt | uniq -c | sort -n
uniq 命令核心详解
1. 基础语法
2. 核心选项(按功能分类,基于文件 demo.txt:hello、hello、world、linux、linux、hello)
功能:显示当前工作目录的绝对路径
示例:pwd(输出如 /home/user/downloads
rm -r:删除目录(递归删除所有内容)
rm -f:强制删除(不提示确认)
功能:查看文件开头 / 结尾内容
常用选项:-n 数字(指定显示行数,默认 10 行)
示例:
head -5 log.txt(显示 log.txt 的前 5 行)
tail -f log.txt(实时跟踪 log.txt 的新增内容,按 Ctrl+C 退出)
功能:查看当前运行的进程(静态快照)
常用选项:ps aux(显示所有用户的所有进程详细信息)
示例:ps aux | grep python(查看所有 python 相关进程)
功能:修改文件 / 目录的权限(读 r=4、写 w=2、执行 x=1,权限分用户、组、其他三类)
示例:
chmod 755 file.sh(用户可读可写可执行,组和其他可读可执行)
chmod +x file.sh(给所有用户添加执行权限)
功能:修改文件 / 目录的所有者(用户和组)
示例:chown user:group file.txt(将 file.txt 的所有者改为 user,所属组改为 group
功能:测试与目标主机的网络连通性
示例:ping www.baidu.com(向百度发送 ICMP 包,按 Ctrl+C 停止)
功能:查看 / 配置网络接口信息(ip 是新一代工具,替代 ifconfig)
示例:ip addr(查看所有网络接口的 IP 地址等信息)
功能:查看网络连接、端口占用等(ss 是 netstat 的替代工具,更高效)
示例:ss -tuln(查看所有监听的 TCP/UDP 端口)
功能:下载文件(wget 直接下载,curl 更灵活,支持多种协议)
示例:
wget https://example.com/file.zip(下载文件到当前目录)
curl -O https://example.com/file.zip(-O 保存为原文件名)
1. uname(补充)
功能:查看系统内核信息。
常用选项:
-a:显示完整信息(内核版本、主机名、架构等)。
示例:
uname -a # 输出如 Linux localhost 5.4.0-100-generic x86_64 GNU/Linux
2. df(补充)
功能:查看磁盘空间使用情况。
常用选项:
-h:以人类可读单位(G/M)显示。
示例:
df -h # 显示所有分区的总容量、已用、可用空间
3. du(补充)
功能:查看文件 / 目录的磁盘占用大小。
常用选项:
-h:人类可读单位;
-sh:显示目录总大小(不展开子目录)。
示例:
du -sh /home # 查看 /home 目录的总占用空间 du -h file.txt # 查看 file.txt 的大小
4. top / htop(补充)
功能:实时查看进程资源占用(htop 是 top 的增强版,需单独安装)。
操作:
top 中按 q 退出,按 P 按 CPU 占用排序,按 M 按内存占用排序。
示例:
top # 实时显示进程占用情况 sudo apt install htop && htop # 安装并使用 htop