linux 备忘录
2026-03-07 22:28:13

面向日常开发与运维的 Linux 高价值速查,强调“原理 + 命令 + 风险点”。

1. 先建立三个核心认知

  • Linux 的本质是“一切皆文件”:设备、进程信息、网络状态都可通过文件接口观察。
  • Shell 是“命令解释器”:负责展开变量、管道连接、重定向。
  • 权限模型是“用户/组/其他人 + rwx”:大部分线上事故都和权限或路径误操作有关。

2. 文件与目录(90% 日常操作)

1
2
3
4
5
6
7
8
9
pwd                    # 当前目录
ls -alh # 查看隐藏文件、权限、大小
cd /path # 切换目录
mkdir -p a/b/c # 递归创建目录
touch app.log # 创建空文件或更新时间戳
cp -r src dst # 复制目录
mv old new # 移动或重命名
rm -rf target # 高危:先 ls target 再执行
find . -name "*.log" # 按名称查找

高频风险点:

  • rm -rf 前先 pwd,避免在错误目录执行。
  • 路径中有空格时使用引号:"my dir"
  • 批量操作前先 dry-run:先 echo 命令确认目标集合。

3. 权限与身份

1
2
3
4
5
6
7
whoami
id
ls -l file.txt
chmod 644 file.txt # rw-r--r--
chmod +x script.sh
chown user:group file.txt
sudo -l # 查看当前用户 sudo 权限

简明规则:

  • 文件:常用 644;脚本/可执行:常用 755
  • 避免无脑 777:会放大安全面并掩盖真实权限问题。

4. 进程与资源定位

1
2
3
4
5
6
7
ps -ef | grep python
top # 实时资源
free -h # 内存
df -h # 磁盘容量
du -sh * # 目录体积
kill -15 <pid> # 优雅终止
kill -9 <pid> # 强制终止(最后手段)

排障优先级:

  • 先看 CPU、内存、磁盘是否打满。
  • 再看进程状态(僵尸/阻塞)与日志。

5. 网络与远程

1
2
3
4
5
6
ip a                   # 比 ifconfig 更通用
ss -lntp # 监听端口 + 进程
ping 8.8.8.8
curl -I https://example.com
ssh user@host
scp file user@host:/tmp/

定位端口占用:

  • ss -lntp | grep :端口
  • 再决定是重启服务还是释放旧进程。

6. 包管理与服务管理(Debian/Ubuntu)

1
2
3
4
5
sudo apt update
sudo apt install nginx
systemctl status nginx
systemctl restart nginx
journalctl -u nginx -n 100 --no-pager

建议:

  • 线上改配置后先 systemctl status,再看 journalctl,不要只看“命令执行成功”。

7. 一条最实用工作流

  1. pwd && ls -al 确认上下文。
  2. 修改前备份:cp conf conf.bak
  3. 小步变更,单点验证(端口、日志、健康检查)。
  4. 记录变更命令,保证可复现。