学习目的
在 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每日一学】系列文章首发于公众号【小菜学编程】,敬请关注: