学习目的
在 Linux 系统中,命令是与操作系统交互的最底层工具。通过简洁的命令行操作,即可高效完成系统管理任务,如用户权限管理、文件系统维护、服务部署以及状态监控等。
Linux 命令在自动化与脚本编写方面也发挥着关键作用。通过编写脚本,将一系列命令组合起来,能够实现任务的自动化执行,大大提高工作效率。例如,定期备份数据、定时清理日志文件等重复性工作,都可以通过脚本一键完成。
当面对复杂的技术问题时,Linux 命令的灵活性优势就凸显出来。开发人员可以通过组合不同命令,根据具体情况进行个性化的解决方案设计,快速定位和解决问题,这是图形化界面难以实现的。
从职业发展角度来看,掌握 Linux 命令是后端开发人员的必备技能。随着云计算、大数据等技术的兴起,Linux 服务器在企业中的应用越来越广泛,熟练使用 Linux 命令,能够让开发人员在运维、开发等多个领域拥有更强的竞争力,为职业发展开辟更多路径。
- 与操作系统交互的最底层工具
- 高效完成系统管理任务
- 自动化与脚本编写
- 灵活解决复杂问题
- 职业发展的必备技能
学习提纲
👥 适用对象:Linux初学者、运维人员、开发工程师
1. 文件与目录操作
🎯 目标:掌握Linux文件与目录的创建、查看、复制、移动、删除、搜索等核心操作,熟练使用常用命令及参数,理解安全操作规范。
| 命令 | 用途 | 类别 | 
|---|---|---|
| cd | 切换工作目录 | |
| chattr | 修改文件扩展属性 | |
| cp | 复制文件或目录 | |
| file | 识别文件类型 | |
| find | 查找文件或目录 | |
| ln | 创建链接文件 | |
| ls | 列出目录内容 | |
| mkdir | 创建新目录 | |
| mktemp | 创建临时文件或目录 | |
| mv | 移动或重命名文件目录 | |
| pwd | 显示当前目录路径 | |
| rename | 批量重命名文件 | |
| rm | 删除文件或目录 | |
| rsync | 同步文件或目录 | |
| shred | 安全删除文件 | |
| stat | 显示文件状态信息 | |
| tar | 打包或解包文件 | |
| touch | 创建或更新文件时间 | |
| tree | 树形显示目录结构 | |
| unzip | 解压 ZIP 文件 | |
| zip | 创建 ZIP 压缩文件 | 
2. 文本处理与编辑
| 命令 | 用途 | 类别 | 
|---|---|---|
| awk | 文本分析与处理,按规则处理文本行 | |
| cat | 连接并显示文件内容 | |
| column | 将文本按列格式化显示 | |
| cut | 按列提取文本内容 | |
| diff | 比较文件差异 | |
| egrep | 扩展正则表达式搜索文本 | |
| fmt | 格式化文本段落 | |
| grep | 正则表达式搜索文本 | |
| head | 显示文件开头部分内容 | |
| iconv | 转换文件字符编码 | |
| join | 按指定字段合并两个文件 | |
| less | 分页查看文件内容 | |
| more | 分页显示文本文件内容 | |
| nano | 简单文本编辑器 | |
| paste | 合并文件对应行 | |
| patch | 应用补丁文件修改文件 | |
| sed | 流编辑器,文本替换与修改 | |
| sort | 对文本行排序 | |
| tail | 显示文件末尾部分内容 | |
| tac | 反向显示文件内容 | |
| tr | 字符转换或删除 | |
| uniq | 去除重复行 | |
| vim | 功能强大的文本编辑器 | |
| wc | 统计文件的行数、单词数、字节数等 | |
| xxd | 转换文件为十六进制或反向转换 | 
3. 系统与进程管理
| 命令 | 用途 | 类别 | 
|---|---|---|
| at | 设置一次性任务在指定时间执行 | |
| bg | 将暂停的作业放到后台继续运行 | |
| cron | 用于设置周期性执行的任务 | |
| disown | 使作业在 shell 关闭后仍可继续运行 | |
| fg | 将后台作业调至前台运行 | |
| glances | 全面监控系统资源和服务 | |
| htop | 交互式实时监控进程和系统资源 | |
| jobs | 显示当前 shell 中的作业状态 | |
| kill | 向进程发送信号以终止或控制进程 | |
| killall | 根据进程名终止多个进程 | |
| ltrace | 跟踪进程调用的共享库函数 | |
| nice | 以指定优先级启动新进程 | |
| nohup | 使命令在 shell 退出后继续运行 | |
| pgrep | 根据条件查找进程 ID | |
| pkill | 根据条件终止进程 | |
| ps | 显示当前进程状态 | |
| pstree | 以树形结构显示进程关系 | |
| renice | 修改已运行进程的优先级 | |
| service | 管理系统服务(适用于旧系统) | |
| strace | 跟踪进程的系统调用 | |
| systemctl | 管理系统服务和系统状态 | |
| top | 实时动态监控系统进程和资源占用 | 
4. 网络与通信
| 命令 | 用途 | 类别 | 
|---|---|---|
| curl | 传输网络数据 | |
| dig | 查询 DNS 信息 | |
| host | 查询域名对应的 IP 地址等信息 | |
| ifconfig | 配置和显示网络接口信息(旧版) | |
| iperf | 测试网络带宽 | |
| iptables | 配置 Linux 内核防火墙规则 | |
| ip | 配置和显示网络接口信息(新版) | |
| mtr | 结合 ping 和 traceroute 功能,诊断网络问题 | |
| nc | 网络工具,用于创建 TCP 或 UDP 连接 | |
| netstat | 显示网络连接、路由表等网络状态信息(旧版) | |
| nmap | 网络扫描工具,探测主机和服务 | |
| nslookup | 查询 DNS 记录 | |
| ping | 测试网络连通性 | |
| route | 查看和设置路由表 | |
| rsync | 远程数据同步 | |
| scp | 安全地在本地和远程主机间复制文件 | |
| ssh | 安全地远程登录到其他主机 | |
| ssh-keygen | 生成 SSH 密钥对 | |
| ss | 显示网络连接、套接字统计信息(新版) | |
| socat | 多功能网络数据传输工具 | |
| tcpdump | 抓包工具,捕获和分析网络数据包 | |
| telnet | 远程登录到主机(安全性低) | |
| traceroute | 跟踪网络数据包的路由路径 | |
| ufw | 简化的防火墙配置工具 | |
| wget | 从网络下载文件 | |
| wireshark | 图形化网络协议分析工具 | 
5. 用户与权限管理
| 命令 | 用途 | 类别 | 
|---|---|---|
| chgrp | 改变文件或目录的所属组 | |
| chmod | 改变文件或目录的权限 | |
| chown | 改变文件或目录的所有者和所属组 | |
| chpasswd | 批量修改用户密码 | |
| groupadd | 创建新的用户组 | |
| groupdel | 删除用户组 | |
| groupmod | 修改用户组属性 | |
| getent | 查询系统数据库信息 | |
| id | 显示用户的身份信息 | |
| last | 显示用户登录历史 | |
| passwd | 修改用户密码 | |
| sudo | 以其他用户(通常是 root)权限执行命令 | |
| su | 切换用户身份 | |
| umask | 设置文件和目录创建时的默认权限掩码 | |
| useradd | 创建新用户 | |
| userdel | 删除用户 | |
| usermod | 修改用户属性 | |
| visudo | 安全地编辑 sudoers 文件 | |
| w | 显示当前登录用户及其活动 | |
| who | 显示当前登录的用户信息 | 
创作缘起
我在单位负责内部运维管理平台的开发工作,一直面临一个颇为棘手的问题:项目组部分成员的计算机基础较为薄弱,对许多常见知识点存在认知盲区。比如在排查技术问题时,我发现他们连一些常用命令都不会使用,最终问题往往就落到了我头上,实在很无奈。😭
此前,每当他们遇到技术盲区,我都会提醒他们自行学习弥补,但收效甚微。一方面,初学者可能一时不知从何学起;另一方面,或许是他们缺乏执行的动力。所以,我一直打算整理一些学习材料,以培训的方式帮助他们提升,但苦于一直抽不出时间。
实际上,时间就像海绵里的水,挤一挤总会有的。仔细想来,我自身或许也存在执行力不足的问题😂或许将学习目标细化,每日坚持积累,哪怕进步微小,经年累月下来也能收获颇丰。
既然如此,就在 2025 年立个小目标:发起「Linux 每日一学」活动,雷打不动地每日学习一个 Linux 命令。我相信,通过日复一日的坚持,定能在 Linux 领域实现显著的成长与进步。
材料准备
在组织培训活动的过程中,课题材料的筹备堪称关键环节。过去,准备一份完善的课题材料,需要投入大量的时间和精力,从资料收集、筛选到内容整合,每一步都要耗费大量心力。
但随着 AI 技术的飞速发展,一切都变得不同了。如今,借助 AI 的强大功能,培训材料的准备工作已大大简化。我们只需清晰阐述培训主题和目标,AI 智能体就能迅速行动,精准地梳理出相关资料,为我们提供一套完整的素材,高效又便捷。
在准备材料的过程中,我尝试引入豆包与 DeepSeek 这两款强大的 AI 工具,结果带来了超乎想象的惊喜!初次与它们展开交互时,这些 AI 就展现出惊人的能力。仅需简单输入需求,它们便能迅速梳理思路,为我呈现出一份条理分明的初版提纲。
这份提纲依据不同主题进行了细致的分类,从基础概念到进阶操作,从日常运维要点到疑难问题解析,层层递进、逻辑严谨,极大地提高了材料准备的效率与质量,为后续的培训内容搭建起了坚实的框架。
虽然第一版提纲并不完善,诸如 fdisk mount 等磁盘和文件系统管理类的命令被遗漏了,着实让人有点失落。😞但好在,AI 强大的交互能力很快弥补了这一不足。我只需简单地在对话框中进一步追问,明确告知 AI 遗漏的内容,没过多久便能精确补齐,轻松又高效。
在不断打磨完善提纲的过程中,我还摸索出了一个超实用的小技巧。以往一股脑把复杂的大问题抛给 AI ,它给出的结果总是不尽人意,要么重点不突出、或者内容有偏差。但当我把大问题拆分细化,例如将 “Linux 系统命令梳理” 拆分成 “文件管理命令”“目录操作命令”“进程管理命令” 等一个个小模块,再依次交给 AI 处理时,效果简直立竿见影。这样一来,AI 生成的内容针对性更强,不仅涵盖要点更全面,逻辑架构也更加清晰合理。
DeepSeek辅助创作
最近 DeepSeek 在 AI 圈很火,好评不断。正好我打算给项目组后端开发组织《Linux命令每日一学》系列培训,一直发愁怎么筹备,便想用 DeepSeek 试试。下面就给大家分享下我用它制定培训计划的全过程。
1️⃣ 初次尝试,探索方向
刚开始时,我毫无头绪,就想着先随便问问,探探路:
🤔 我想每天学习一个 Linux 命令,请帮我制定一个计划。
🤖 DeepSeek 很快就给出了一份计划表,涵盖了文件与目录操作、文件内容与权限、文本处理与搜索以及系统与网络管理等主题,整体结构清晰明了,可用性很强。不过,仔细一看,就会发现内容还不够全面。
2️⃣ 逐步完善,查缺补漏
发现内容不够完整,继续让 AI 补充完善:
🤔 这个计划只覆盖了少部分命令,我需要更全面一点的,最好常用的命令都能涵盖。
🤖 这次,DeepSeek 在原有的基础上,新增了系统与进程管理、用户与权限、软件包管理以及 Shell 编程等主题,内容得到了进一步充实。但凭借我的经验,我知道肯定还有遗漏的地方。
3️⃣ 深入挖掘,精准追问
我对 Linux 知识还算了解,很快就发现遗漏了磁盘和文件系统相关的命令,于是继续追问:
🤔 你刚刚说的这个,是不是漏了 mount、fdisk、mkfs 这些?
🤖 太令人惊喜了!DeepSeek 不仅补上了这一类命令,还列出了一些我一时没想起来的,比如 parted、fsck、blkid、lsblk、lvm、mdadm、resize2fs。这强大的发散能力,真的让我大开眼界!
4️⃣ 反复确认,力求完美
我实在想不起来还有没有遗漏的了,但又担心有所缺失,于是不断追问。
🤔 你已经列了 8 类,再想想是否还有命令没有涵盖进去?
🤖 服务器繁忙,请稍后再试。
🤔 你已经列了 8 类,再想想是否还有命令没有涵盖进去?
🤖 服务器繁忙,请稍后再试。
🤔 你已经列了 8 类,再想想是否还有命令没有涵盖进去?
🤖 经过多次尝试,DeepSeek 最终又增加了几个主题,包括系统信息与监控、时间与日志管理以及安全与加密工具。
到这个阶段,提纲已经相当完善了,我决定就按照这个提纲来准备材料。不得不说,DeepSeek 内容生成能力确实令人赞叹!可它的服务响应速度实在不敢恭维,各路投资人还得继续打钱哇。💰
5️⃣ 由总而分,细化内容
现在,我开始着手准备第一部分「文件与目录操作」的内容:
🤔 帮我列出文件与目录操作命令的培训大纲。
🤖 DeepSeek 给出了非常合理的建议,将内容分为基础篇、进阶篇、高级篇和实践篇四个部分,从浅入深,条理清晰,为内容组织提供了很好的框架。
【Linux每日一学】系列文章首发于公众号【小菜学编程】,敬请关注:

 小菜学编程
				小菜学编程
				
			 
	
