让你成为 Linux 糕手之 Linux 基础指令
Linux 的命令行操作是成为“糕手”(高手)的第一步。以下内容针对零基础到能熟练操作服务器的阶段,精选真正高频、实用、必会的命令,按照实际使用场景分类整理。
强烈建议:边看边敲,在虚拟机、WSL、云服务器或 Linux 手机终端上实际操作一遍,才是真正的掌握。
1. 定位与导航(先知道我在哪、去哪)
| 命令 | 作用 | 常用写法示例 | 记忆口诀 / 说明 |
|---|---|---|---|
pwd | 显示当前工作目录(绝对路径) | pwd | Print Working Directory |
cd | 切换目录 | cd /etccd ..cd ~cd - | ~ = 家目录,- = 上一次目录,. = 当前,.. = 上级 |
ls | 列出目录内容 | lsls -lls -lals -lh | -l 详细,-a 含隐藏,-h 人类可读大小 |
tree | 以树状显示目录结构 | tree -L 2 | 需要安装:sudo apt install tree |
小技巧:
cd后直接回车 → 回到家目录cd -→ 在两个目录间快速切换(超级实用)
2. 文件与目录基本操作(创建、复制、移动、删除)
| 命令 | 作用 | 常用写法示例 | 注意事项 |
|---|---|---|---|
touch | 创建空文件 / 更新文件时间戳 | touch file.txttouch -t 202512312359 file | 多文件:touch a.txt b.txt c.log |
mkdir | 创建目录 | mkdir dirmkdir -p a/b/c | -p 递归创建 |
cp | 复制文件/目录 | cp file.txt /backup/cp -r dir1 dir2 | -r 递归,-p 保留权限时间,-v 显示过程 |
mv | 移动 / 重命名 | mv old.txt new.txtmv file.txt /tmp/ | 跨分区相当于 cp + rm |
rm | 删除文件/目录 | rm filerm -r dirrm -rf dir | rm -rf / 极其危险!慎用! |
安全习惯:
- 养成先
ls确认再rm的习惯 - 重要操作先用
cp -r备份
3. 查看文件内容(最常用 Top 6)
| 命令 | 作用 | 常用写法示例 | 适用场景 |
|---|---|---|---|
cat | 显示全部内容 | cat file.txtcat -n file | 小文件一次性看完 |
tac | 倒序显示 | tac file | 看日志最后几行 |
more | 分页查看(空格翻页) | more big.log | 老派工具 |
less | 更强大的分页查看(上下翻) | less /var/log/syslogless +F(类似 tail -f) | 最推荐的文件查看器 |
head | 查看文件开头 | head -n 10 access.loghead -20 | 默认前10行 |
tail | 查看文件结尾 | tail -n 50 error.logtail -f access.log | -f 实时跟踪日志(神器) |
组合神技:
tail -n 100 access.log | less # 先看最后100行,再上下翻
tail -f app.log # 实时监控日志(Ctrl+C 退出)
4. 文件查找与查找内容(定位利器)
| 命令 | 作用 | 常用写法示例 | 说明 |
|---|---|---|---|
find | 根据文件名/属性查找文件 | find / -name "*.log"find . -type f -size +100M | 强大但慢,可加 -maxdepth 3 限深度 |
locate | 快速查找文件名(基于数据库) | locate nginx.confsudo updatedb 更新库 | 速度快,但需定期更新数据库 |
grep | 在文本中查找字符串 | grep "error" app.loggrep -r "todo" . | -r 递归,-i 忽略大小写,-n 显示行号 |
which | 查找可执行文件位置 | which pythonwhich -a python | 看 PATH 中哪个程序先被执行 |
whereis | 查找二进制、源码、man页 | whereis mysql | 比 which 更全面 |
grep 进阶:
grep -E "error|warn" error.log # 正则 或
grep -v "success" log.txt # 取反(不包含)
ps aux | grep java | grep -v grep # 经典:过滤掉 grep 自身
5. 查看系统状态与资源(运维常用)
| 命令 | 作用 | 常用写法示例 | 说明 |
|---|---|---|---|
df -h | 查看磁盘使用情况 | df -h | -h 人类可读 |
du -sh | 查看目录/文件占用大小 | du -sh /vardu -sh * | sort -hr | 找占用大户 |
free -h | 查看内存使用 | free -h | -h 人类可读 |
top / htop | 实时查看进程、CPU、内存 | tophtop(需安装) | htop 更友好 |
ps aux | 查看所有进程 | ps aux | grep nginx | aux 最常用组合 |
uptime | 查看系统运行时间、负载 | uptime | 1min/5min/15min 负载 |
6. 权限与用户(安全基础)
| 命令 | 作用 | 常用写法示例 | 说明 |
|---|---|---|---|
chmod | 修改权限 | chmod 755 script.shchmod -R 644 dir/ | r=4 w=2 x=1 |
chown | 修改所有者/所属组 | chown user:group filechown -R www-data:www-data /var/www | -R 递归 |
sudo | 以超级用户执行命令 | sudo apt update | 临时提权 |
su - | 切换用户 | su - root | – 表示加载目标用户环境 |
whoami | 显示当前用户 | whoami | 快速确认身份 |
7. 管道与重定向(Linux 哲学核心)
| 符号 | 作用 | 示例 | 说明 |
|---|---|---|---|
> | 覆盖重定向 | ls > list.txt | 会覆盖原文件 |
>> | 追加重定向 | echo "new line" >> log.txt | 追加不覆盖 |
2> | 错误输出重定向 | command 2> error.log | 只重定向 stderr |
&> / >& | 标准输出+错误一起重定向 | command &> all.log | 全部输出到文件 |
| | 管道 | ps aux | grep java | 前命令输出作为后命令输入 |
经典组合:
tail -n 100 access.log | grep "404" | wc -l # 统计404错误数量
find /var/log -name "*.log" -mtime +30 | xargs rm # 删除30天前日志
快速上手建议(成为 Linux 糕手路线)
- 先把上面 7 大类 每个命令敲 3–5 次
- 每天练习 3 个组合命令(管道 + grep + awk/sed)
- 做一个小项目:写脚本统计日志中 IP 访问次数前 10
- 熟悉
man命令:man ls、man grep(最权威文档)
你现在最想先掌握哪一类?
或者想看某个命令的进阶玩法(如 find + exec、awk 初步、sed 替换等)?
直接告诉我,我继续陪你练!