软鸭资源库

下面是最常用的 Linux 命令,建议保存备用:

# 列出所有文件(含隐藏)
ls -la

# 查看目录占用
du -sh /var/log

# 递归搜索关键字
grep -r "error" /var/log/

# 按名称查找文件
find / -name "*.conf" 2>/dev/null

# 修改文件权限
chmod 755 script.sh

# 查看进程
ps aux | grep nginx

# 实时查看资源占用
top

掌握这些命令,日常服务器排查基本够用。

代码改错了不要慌,记住这几条命令:

# 撤销工作区修改
git checkout -- file.txt

# 撤销暂存区的修改
git reset HEAD file.txt

# 撤销最近一次提交,保留修改
git reset --soft HEAD~1

# 彻底回退到上一个版本
git reset --hard HEAD~1

# 生成一个反向提交(远程协作推荐)
git revert HEAD

# 找回误删的提交
git reflog

reset --hard 会丢失修改,执行前务必确认。

配置免密登录后,就不用每次输密码了:

# 1. 本地生成密钥
ssh-keygen -t ed25519 -C "your@email.com"

# 2. 复制公钥到服务器
ssh-copy-id user@192.168.1.100

# 3. 配置别名(~/.ssh/config)
Host my-server
    HostName 192.168.1.100
    User root
    Port 22
    IdentityFile ~/.ssh/id_ed25519

# 4. 之后直接连接
ssh my-server

服务器端要确保 ~/.ssh/authorized_keys 权限为 600。

现代 Linux 发行版都用 systemd 管理服务:

# 查看服务状态
systemctl status nginx

# 启动 / 停止 / 重启
systemctl start nginx
systemctl stop nginx
systemctl restart nginx

# 设置开机自启并立即启动
systemctl enable --now nginx

# 查看日志
journalctl -u nginx -f

自定义服务可编写 /etc/systemd/system/myapp.service,然后执行 daemon-reload

定时任务格式:分 时 日 月 周 命令

# 编辑当前用户的任务
crontab -e

# 查看已有任务
crontab -l

# 每天凌晨 3 点执行备份脚本
0 3 * * * /opt/backup.sh

# 每 5 分钟同步一次数据,并记录日志
*/5 * * * * /opt/sync.sh >> /var/log/sync.log 2>&1

# 每周一早上 6 点重启服务
0 6 * * 1 systemctl restart myapp

建议把输出重定向到日志文件,方便排查任务是否执行成功。

出问题时先看日志,常用排查命令:

# 实时跟踪日志
tail -f /var/log/nginx/error.log

# 查看最后 100 行
tail -n 100 app.log

# 过滤错误关键字
grep "ERROR" app.log | tail -20

# 查看 systemd 服务日志
journalctl -u nginx -f

# 按时间过滤
journalctl --since "10 minutes ago"

先用 tail -f 观察实时输出,再用 grep 缩小范围。