刚开始用 Linux 的人,最大的坎往往不是命令多,而是面对一个黑乎乎的终端不知道敲什么。这份手册就是想把最常用的命令过一遍:每个命令给一条最实在的示例,先能上手,回头再慢慢深入。
我这里按「你一般想干什么」来分,没按命令名硬排。它跟 Windows CMD 版 是一套对照,很多概念两边其实是相通的——那边学会了,这边上手更快。
目录
- 基础概念
- 获取帮助
- 文件与目录
- 查看文件内容
- 搜索与查找
- 符号链接与通配符
- 权限管理
- 用户与提权
- 环境变量与别名
- 进程管理
- 磁盘与内存
- 网络
- 压缩与打包
- 管道与重定向
- 文本处理
- 包管理(apt)
- 系统信息
- 编辑器入门
- Shell 脚本入门
- 定时任务
- 服务管理
- 其他实用命令
- 快捷键与技巧
- 推荐学习路线
1. 基础概念
- Shell:你敲命令、和系统交互的程序(常见
bash、zsh)。
- 提示符:
user@host:~$ —— user 用户名、host 主机名、~ 当前目录(家目录)、$ 普通用户(# 是 root)。
- 命令结构:
命令 [选项] [参数],例如 ls -l /home(-l 是选项,/home 是参数)。
2. 获取帮助
1 2 3 4
| ls --help man ls which python type ls
|
3. 文件与目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| ls ls -l ls -a ls -lh
cd /tmp cd ~ cd .. cd -
mkdir mydir mkdir -p a/b/c
touch file.txt
cp a.txt b.txt cp -r dir1 dir2
mv a.txt b.txt
rm file.txt rm -r dir rm -rf dir
|
⚠️ rm -rf 没有回收站,误删不可恢复。
4. 查看文件内容
1 2 3 4 5 6 7
| cat file.txt less file.txt head file.txt head -n 20 file tail file.txt tail -f log.txt wc -l file.txt
|
5. 搜索与查找
1 2 3 4 5 6 7 8
| grep "关键词" file.txt grep -r "关键词" ./dir grep -i "hello" file grep -n "hello" file
find . -name "*.txt" find /home -type d -name "my*" find . -mtime -7
|
grep 常配合管道用(见第 14 节),是日常最高频的命令之一。
6. 符号链接与通配符
1 2 3 4 5 6 7 8 9 10
| ln -s /原始/路径 linkname ln -s /opt/app/bin/app ~/bin/app readlink linkname
ls *.txt ls file?.txt ls file[1-3].txt cp -r {a,b,c} dest
|
7. 权限管理
ls -l 第一列形如 -rwxr-xr--,含义:
| 部分 |
含义 |
| 第 1 位 |
类型(- 文件、d 目录、l 链接) |
| 第 2-4 位 |
属主(user)权限 |
| 第 5-7 位 |
属组(group)权限 |
| 第 8-10 位 |
其他人(other)权限 |
r=读(4) w=写(2) x=执行(1)。
1 2 3 4 5
| chmod +x script.sh chmod 755 script.sh chmod u+x script.sh
chown user:group file
|
8. 用户与提权
1 2 3 4 5
| sudo apt update sudo -i id adduser 新用户名 passwd
|
9. 环境变量与别名
1 2 3 4 5 6 7 8 9 10 11
| echo $PATH echo $HOME env export NAME=value
alias ll='ls -lh' unalias ll
echo 'alias ll="ls -lh"' >> ~/.bashrc source ~/.bashrc
|
装完一个命令行工具发现「命令找不到」,十有八九是它的目录不在 $PATH 里。
10. 进程管理
1 2 3 4 5 6 7 8 9 10 11 12 13
| ps aux ps aux | grep python top htop
kill 1234 kill -9 1234 pkill -f "关键词"
命令 & jobs fg Ctrl+Z
|
11. 磁盘与内存
1 2 3 4
| df -h du -sh ./dir du -sh * free -h
|
12. 网络
1 2 3 4 5 6 7 8 9 10
| ping baidu.com ip addr ss -ltnp
curl http://example.com curl -o file.html URL wget URL
ssh user@1.2.3.4 scp file user@host:/path
|
13. 压缩与打包
1 2 3 4 5 6 7 8
| tar -czf a.tar.gz dir/ tar -xzf a.tar.gz tar -xzf a.tar.gz -C /tmp
zip -r a.zip dir/ unzip a.zip gzip file gunzip file.gz
|
14. 管道与重定向
这是 Linux 最强大的组合拳:把上一个命令的输出接到下一个命令。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| ps aux | grep python | less
命令 > file.txt 命令 >> file.txt 命令 < input.txt 命令 2> err.txt 命令 &> all.txt
cmd1 && cmd2 cmd1 || cmd2 cmd1 ; cmd2
|
15. 文本处理
1 2 3 4 5 6 7
| cut -d: -f1 /etc/passwd sort file.txt sort -n file.txt uniq tr 'a-z' 'A-Z' < file sed 's/old/new/g' file awk '{print $1}' file
|
进阶:sed、awk 是两大文本处理神器,先会用 grep + cut + sort + uniq 就够了。
16. 包管理(apt)
Debian / Ubuntu 系(WSL2 默认也是):
1 2 3 4 5 6
| sudo apt update sudo apt upgrade sudo apt install vim sudo apt remove vim sudo apt search 关键词 apt list --installed
|
17. 系统信息
1 2 3 4 5 6
| uname -a lsb_release -a hostname date uptime history
|
18. 编辑器入门
nano(简单友好,适合新手):
vim(强大但学习曲线陡):
一开始用 nano 就能干活;vim 值得后面花时间学(会了效率翻倍)。
19. Shell 脚本入门
把一串命令写进 .sh 文件,一次执行——自动化/部署全靠它。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #!/bin/bash # 第一行 shebang,指定解释器
name="world" echo "hello $name"
for i in 1 2 3; do echo "第 $i 次" done
if [ -f file.txt ]; then echo "文件存在" else echo "文件不存在" fi
greet() { echo "hi, $1" } greet "小明"
|
1 2 3
| chmod +x script.sh ./script.sh bash script.sh
|
变量、$1、if、for 这几个会了,就能读懂和写大部分脚本。
20. 定时任务
1 2 3 4 5 6 7
| crontab -e crontab -l
0 9 * * * /path/script.sh */5 * * * * echo hi >> log.txt 30 22 * * 1 tar -czf backup.tar.gz /data
|
21. 服务管理
1 2 3 4 5 6 7
| systemctl status ssh systemctl start ssh systemctl stop ssh systemctl restart ssh systemctl enable ssh systemctl disable ssh journalctl -u ssh -f
|
现代 Ubuntu 用 systemctl;老系统(如 WSL1 或旧容器)可能要用 service ssh start。
22. 其他实用命令
1 2 3 4 5 6 7 8
| file a.txt stat a.txt diff a.txt b.txt tee out.txt watch -n1 df -h nohup 命令 & xargs echo a b c | xargs mkdir
|
23. 快捷键与技巧
| 快捷键 |
作用 |
Tab |
自动补全文件名/命令 |
Ctrl+C |
中断当前命令 |
Ctrl+Z |
暂停当前命令 |
Ctrl+D |
退出终端 / 发送 EOF |
Ctrl+L |
清屏 |
Ctrl+R |
反向搜索历史命令 |
Ctrl+A / Ctrl+E |
光标跳到行首 / 行尾 |
Ctrl+U |
删除光标前整行 |
↑ / ↓ |
上下翻历史命令 |
!! |
重复上一条命令 |
!$ |
上一条命令的最后一个参数 |
1 2 3
| cd - history | grep apt
|
24. 推荐学习路线
先练熟高频 20 个:ls / cd / pwd / mkdir / cp / mv / rm / cat / less / head / tail / grep / find / chmod / sudo / ps / kill / df / free / ping。
搞懂管道和重定向(| > >>),这是理解 Linux 的关键。
学会看日志:tail -f + grep。
装一个 tldr 看命令的简洁示例(比 man 更友好):
1 2
| sudo apt install tldr tldr tar
|
学点 Shell 脚本(第 19 章),自动化、部署都靠它。
做做练习:上 linuxsurvival.com 或 OverTheWire 的 bandit 闯关。
学习原则:不要死记,多用 --help / man 查;命令看不懂就 man 命令,记不住就 history | grep 找回来。