Skip to content

常用的Linux命令有什么

1. 文件与目录(定位、复制、清理)

  • 查看与定位:pwdls -lhtree
  • 目录操作:cdmkdir -prmdir
  • 复制移动:cp -rmv
  • 删除:rm -rf(谨慎)
ls -lh
mkdir -p /data/app/logs
du -sh /data/app
df -h

2. 查找与权限(线上排查高频)

  • 查找文件:findlocate
  • 权限与所有者:chmodchown
find . -name "*.log" -mtime -1
chmod 644 app.log
chown -R app:app /data/app

3. 文本与日志(看日志的正确姿势)

  • 查看:cat(小文件)、less(大文件)、headtail -f
  • 过滤:grep -ngrep -r
  • 文本处理:awksedsortuniqxargs
tail -f app.log
grep -n "ERROR" app.log | head
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head

4. 进程与资源(CPU/内存/磁盘)

  • 进程:ps auxtop/htopkill -9
  • 资源:free -hvmstatiostat(需工具包)、uptime
ps aux | grep java
top -Hp <pid>
free -h

5. 网络与诊断(连通性与端口排查)

  • 连通性:pingtraceroute
  • HTTP 调试:curl -vwget
  • 端口与连接:ss -lntplsof -i
curl -v https://example.com
ss -lntp | grep 8080
lsof -i :8080

6. 服务管理与系统日志

  • systemctl:启动/停止/重启/查看状态
  • journalctl:查看 systemd 管理的日志
systemctl status nginx
journalctl -u nginx --since "1 hour ago"

7. 调试与抓包

当“看日志看不出来、但就是慢/卡/连不上”时,常用的进阶工具有:

  • strace:跟踪系统调用,判断卡在网络、磁盘还是锁上。
  • tcpdump:抓包看三次握手、重传、RST、TLS 握手等。
  • dig/nslookup:排查 DNS 解析与缓存问题。
# 跟踪某个进程的系统调用(谨慎使用,可能有开销)
strace -p <pid> -f -tt -T

# 抓 8080 端口的 TCP 流量(示例)
tcpdump -i any tcp port 8080 -nn -vv

# DNS 查询
dig example.com