学习Linux命令,从理解核心概念开始:文件与目录、权限、进程、包管理与网络。先掌握ls、cd、cp、mv、rm、cat、grep、ps、top、chmod、chown、apt/yum、ssh等常用命令,通过案例练习与组合命令,逐步理解重定向、管道和脚本自动化。坚持每天实操,记录错误并复盘。持续积累



为什么要学Linux命令?
说白了,GUI像是骑车,命令行像是开车——熟练之后效率更高,也更灵活。很多服务器、开发环境、自动化任务都只能或最好通过命令行来完成。学会命令行,你就能直接操控系统,而不是被界面限制住手脚。
学习方法(费曼法则应用)
费曼法告诉我们:先把概念用自己的话讲清楚,再用例子验证,最后用简单练习巩固。学习命令也一样:
- 解释清楚概念:比如“什么是当前目录”“什么是权限三位数”——能解释给别人听就行。
- 举例子:对每个命令写出1~2个小例子,运行看效果。
- 回顾与复盘:遇错了就记录错误原因并修正,下次就不会再犯。
核心概念先搞懂
- 文件系统结构:/(根)、/home、/etc、/var、/usr 等目录的用途。
- 当前目录与绝对/相对路径:cd、pwd 的配合使用。
- 权限模型:用户、组、其他;rwx 三位;chmod 的数字与符号表示法。
- 进程与作业:前台/后台、PID、信号(SIGTERM、SIGKILL)。
- 包管理:不同发行版的包工具(apt、yum、dnf、pacman)。
常用命令速成(按场景)
文件与目录操作
开始要熟练:ls、cd、pwd、mkdir、rmdir、cp、mv、rm、find、tree(若安装)。例子:
- 列出包含隐藏文件并按详细信息:ls -la
- 复制目录并保留属性:cp -a 源 目标
- 查找文件:find /path -name “*.log” -type f
查看与处理文本
文本处理是日常工作的大头:cat、less、head、tail、grep、sed、awk。
- 查看文件尾:tail -n 50 /var/log/syslog
- 搜索关键字并高亮:grep –color=auto -n “error” file
- 用 sed 替换第一处匹配:sed -i ‘s/old/new/’ file
进程与资源监控
掌握 ps、top、htop(若安装)、kill、nice、renice。
- 查看所有进程:ps aux
- 交互式查看:top,按 P 排序按 CPU,按 M 排序按内存。
- 结束进程:kill -15 PID,必要时 kill -9 PID。
权限与所有者
权限搞不清会造成一堆奇怪的错误。常用命令:chmod、chown、chgrp、umask。
- 给文件加执行权限:chmod +x script.sh
- 把文件转移到另一个用户:chown user:group file
- 数字表示法示例:755 => rwxr-xr-x
网络与远程
网络命令包括 ssh、scp、rsync、ping、curl、wget、netstat 或 ip 命令。
- 远程登录:ssh user@host
- 同步文件:rsync -avz local/ user@host:/remote/
- 测试端口连通:nc -zv host port(若安装 netcat)
重定向与管道:把小工具串成链
Linux 的哲学是“小工具做一件事并做好”,通过重定向和管道把它们串起来。记住三类描述符:0 stdin,1 stdout,2 stderr。
- 标准输出重定向:cmd > out.txt
- 追加:cmd >> out.txt
- 管道连接:ps aux | grep nginx | less
- 同时捕获 stdout 和 stderr:cmd >all.out 2>&1
写第一个脚本(入门)
脚本并不复杂,结构清晰就行。下面示例说明基本要点。
示例脚本(记得 chmod +x):
#!/bin/bash
name=”world”
if [ -z “$1” ]; then
echo “Usage: $0 your_name”
exit 1
fi
echo “Hello, $1!”
要点:第一行 shebang,变量赋值不要空格,引用变量用双引号,测试条件使用 [ … ] 或 [[ … ]],用 exit 返回状态码。
调试脚本的小技巧
- 开起跟踪模式:在脚本头或运行时加 set -x,可以看到每条命令展开后的执行。
- 用 set -e 让脚本遇错即停,避免错误扩散。
- 逐步注释法:分块运行、打印变量值(echo 或 printf)。
常见坑与实用建议
- 不要乱用 rm -rf,尤其在 root 下,习惯先用 ls 看看目标。
- 权限问题用 ls -l 确认,再 chown/chmod。
- 配置文件修改前备份:cp file file.bak,或用版本控制(git)管理 /etc 下自有配置。
- 日志是排错第一站,养成 tail -f 查看变动日志的习惯。
实践练习建议(每天15-30分钟)
- 创建一个小练习仓库,写脚本实现备份、日志轮转、简单监控。
- 每天尝试用命令复现一个 GUI 操作,比如用 grep 查找并用 sed 修改文本。
- 记录三条学到的新用法,写成笔记并解释给别人或自己听(费曼回顾)。
速查表(常用命令一览)
| 命令 | 功能 |
| ls | 列出目录内容 |
| cd | 切换目录 |
| cp / mv / rm | 复制 / 移动 / 删除文件 |
| cat / less / head / tail | 查看文本文件 |
| grep / sed / awk | 文本搜索与处理 |
| ps / top / kill | 查看与管理进程 |
| chmod / chown | 修改权限与所有者 |
| ssh / scp / rsync | 远程登录与文件同步 |
| apt / yum / pacman | 包管理(不同发行版) |
| tar / gzip / unzip | 压缩与解压 |
学习资源和下一步
看一点文档、做一点练习、遇到问题就去日志和手册页(man)查:man 命令名。把每次遇到的错误和解决方法写进个人知识库。慢慢地,从记住命令到理解原理,再到能写脚本并自动化日常任务,这个过程其实很有意思——像是在搭积木,一块块堆起来就成了房子。
嗯,就先写到这儿,可能还有很多细节想补充,但一边写一边想也挺好,等你自己开始敲命令的时候,很多概念会突然变得更清晰。