当前位置:首页>Linux>Linux 高频运维命令全梳理,日常工作随手即用

Linux 高频运维命令全梳理,日常工作随手即用

  • 2026-06-28 04:28:47
Linux 高频运维命令全梳理,日常工作随手即用

写在前面

Linux 运维的"基本功"是命令。新人最大的痛苦不是不会用某个工具,而是不知道有这工具存在。老工程师经常 5 分钟搞定的事,新人翻文档 2 小时。

这篇文章把所有高频命令按"场景"分类,每个命令给:

  • 用途
  • 常见参数
  • 一个真实能跑的示例
  • 注意事项 / 风险提示

不写"Hello World"级别的 demo,全部按生产场景来。学完这一篇,日常 80% 的运维操作能直接照着敲

适用读者:

  • 刚开始做 Linux 运维的新人
  • 想系统梳理命令体系的初中级工程师
  • DevOps 工程师,跨工种需要 Linux 排错能力

一、命令速查索引

分类
核心命令
系统信息
uname
hostnameuptimedatecalwhowlast
进程
ps
tophtoppidofpgreppkillkillpstreenicerenicesystemctl
CPU
top
mpstatsar -uvmstatlscputurbostatperf top
内存
free
vmstatsar -rslabtopsmempmapnumastat
网络
ip
ssnetstatcurlwgettcpdumpiftopnethogsmtrtraceroutencethtoolsar -n
磁盘
df
dulsblkblkidmountfdiskpartediostatiotopfuserlsof
文件
find
locatestatfiletreelschmodchownlnrsyncscptarzip
日志
tail
headlessgrepawksedjournalctldmesglogrotate
用户
useradd
usermoduserdelpasswdchagegroupaddidsusudo
服务
systemctl
journalctlsystemd-analyze
包管理
yum
dnfaptrpmdpkg
定时
crontab
atflock
性能分析
strace
ltraceperfbccbpftrace
文本三剑客
grep
awksedxargssortuniqcuttrcolumn
工具
tmux
screenglancesdstatnmonsysstat

下面分类详讲。

二、系统信息命令

2.1 uname

uname -a# Linux host-01 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linuxuname -r# 5.15.0-91-generic# 看内核版本,模块编译时要用uname -m# x86_64# 看架构,aarch64 / x86_64 / i686

2.2 hostname

hostname# 看主机名hostnamectl set-hostname redis-prod-01# 永久改主机名(systemd 机器)hostname -I# 看所有 IP

2.3 uptime

uptime# 14:30:00 up 200 days, 10:00,  3 users,  load average: 0.50, 0.40, 0.30# - up 200 days:开机时间# - 3 users:登录用户数# - load average:1 / 5 / 15 分钟平均负载# 负载除以 CPU 核数,> 1 说明忙

2.4 date

date# 看时间date -s "2026-06-13 14:30:00"# 改时间(生产别瞎改,会打乱业务)date -d "@1700000000"# 时间戳转时间date +%s# 当前时间戳date -d "yesterday" +%Y-%m-%d# 算昨天

2.5 w / who / last

w# 看当前登录的用户,正在做什么# 14:30:00 up 200 days,  3 users,  load average: 0.50, 0.40, 0.30# USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT# root     pts/0    10.20.0.100      14:00    0.00s  0.10s  0.00s wwho# 看登录用户,简版last# 看历史登录,从 /var/log/wtmp 读# 排查谁登陆过服务器last -i# 看 IP

三、进程命令

3.1 ps

# BSD 风格ps aux# USER  PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND# root    1   0.0  0.0  169404 11556 ?        Ss   Jun10   0:08 /sbin/init# System V 风格ps -ef# UID  PID  PPID  C STIME TTY          TIME CMD# 看指定进程ps -ef | grep nginx# 按 CPU 排序ps aux --sort=-%cpu | head# 按内存排序ps aux --sort=-%mem | head# 看进程树ps auxf# 详细字段ps -eo pid,ppid,user,stat,pcpu,pmem,vsz,rss,etime,cmd# etime:进程运行时长# 看线程ps -eLf# LWP(线程 ID)列

3.2 top

top# 进入交互:# - P:按 CPU 排序# - M:按内存排序# - T:按时间排序# - 1:展开多核 CPU# - c:显示完整命令行# - V:森林视图(进程树)# - k:kill 进程# - r:renice# 一次性输出,不进入交互top -bn1 | head -20# 字段含义:# %CPU:CPU 占用# %MEM:内存占用# VSZ:虚拟内存大小# RSS:实际物理内存# STAT:状态#   R:运行#   S:睡眠(可中断)#   D:不可中断睡眠(等 IO)#   Z:僵尸#   T:停止#   I:空闲#   <:高优先级#   N:低优先级#   L:有锁页在内存#   s:会话首进程#   +:前台进程组

3.3 htop

yum install -y htophtop# 比 top 直观,鼠标可点# - F2:配置# - F3:搜索# - F4:过滤# - F5:树状# - F6:排序列# - F9:kill# - F10:退出

3.4 pidof / pgrep / pkill

# 找 PIDpidof nginx# 1234 5678pgrep -f nginx# 按命令行匹配pgrep -u mysql mysqld# 按用户匹配# 杀进程pkill nginx# 杀所有 nginxpkill -9 -f "python.*app.py"# -9:SIGKILL# -f:按命令行# 慎用 pkill 模糊匹配,可能误杀

3.5 kill

# 信号# 1 SIGHUP:重新加载配置(nginx -s reload)# 2 SIGINT:中断(Ctrl+C)# 9 SIGKILL:强制杀# 15 SIGTERM:优雅退出(默认)# 18 SIGCONT:继续# 19 SIGSTOP:暂停kill <pid># 优雅退出,给进程清理时间kill -9 <pid># 强制杀,可能丢数据# 按进程名killall nginxpkill nginx# 杀指定用户进程pkill -u username# 列所有信号kill -l

风险提示:kill -9 是高危命令,会跳过进程的清理逻辑:

  • 数据库可能丢未提交事务。
  • 应用可能丢未刷盘的日志。
  • 文件可能丢未关闭的句柄。

3.6 nice / renice

# 调整进程优先级# nice 范围 -20 ~ 19,-20 最高# 普通用户只能 0 ~ 19# root 可以 -20 ~ 19# 启动时设优先级nice -n 10 python3 backup.py# 调整已运行进程renice -n -5 -p 1234# 把 PID 1234 的优先级调为 -5# 看进程的 nicetop# NI 列

3.7 systemctl

# 服务管理systemctl start nginxsystemctl stop nginxsystemctl restart nginxsystemctl reload nginx# 重新加载配置,不中断(nginx / haproxy 支持)systemctl status nginx# 看服务状态、日志、PIDsystemctl enable nginx# 开机自启systemctl disable nginx# 禁用开机自启systemctl is-active nginx# 是否在运行systemctl is-enabled nginx# 是否开机自启systemctl list-units --type=service# 列出所有 servicesystemctl list-units --state=failed# 看失败的服务systemctl mask nginx# 禁用服务(连手动起都起不来)systemctl daemon-reload# 重载 systemd 配置

风险提示:systemctl mask 会创建 /dev/null 软链,禁用后连 systemctl start 都起不来。要恢复用 systemctl unmask

四、CPU 命令

4.1 lscpu

lscpu# Architecture:          x86_64# CPU op-mode(s):        32-bit, 64-bit# Byte Order:            Little Endian# CPU(s):                16# On-line CPU(s) list:   0-15# Thread(s) per core:    2# Core(s) per socket:    8# Socket(s):             1# NUMA node(s):          2# ...# 16 核、超线程、2 个 NUMA node

4.2 mpstat

yum install -y sysstatmpstat -P ALL 1# -P ALL:所有 CPU# 1:1 秒一次# 14:30:00  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle# 14:30:01  all    5.00    0.00    2.00    1.00    0.00    0.00    0.00    0.00   92.00# 14:30:01    0    6.00    0.00    2.00    0.00    0.00    0.00    0.00    0.00   92.00# ...# 关键:# %usr:用户态# %sys:内核态# %iowait:等 IO# %idle:空闲# %steal:被虚拟化偷走的时间

4.3 sar -u

sar -u 1 5# CPU 利用率,1 秒一次取 5 次# 看历史(需要 sysstat 收集器)sar -u -f /var/log/sa/sa13# 看 13 号的 CPU 历史

4.4 turbostat

# 看 CPU 频率、C-state、实际跑的频率yum install -y kernel-toolsturbostat --interval 5# 5 秒一次输出# 关键:# Avg_MHz:实际平均频率# Bzy_MHz:忙时的频率# TSC_MHz:标称频率# 如果 Avg_MHz 远低于 TSC_MHz,CPU 在节电,可能影响性能

4.5 perf

yum install -y perf# top 类似perf top# 默认按调用栈展示热点函数# -g:显示调用栈# 录 10 秒perf record -a -g sleep 10perf report# 看报告# 看指定进程perf top -p <pid># 看 cache missperf stat -e cache-misses,cache-references -p <pid> sleep 5

风险提示:perf record -a 在生产慎用,会记录所有 CPU 事件,存储压力很大。

五、内存命令

5.1 free

free -h#               total        used        free      shared  buff/cache   available# Mem:            62G         20G        30G        1.0G         12G         40G# Swap:          4.0G        100M        3.9G# 关键:# total:总内存# used:已用(不含 buff/cache)# free:完全空闲# shared:共享内存(/dev/shm)# buff/cache:页缓存和 buffer# available:实际可用(free + 可回收的 buff/cache)

5.2 /proc/meminfo

cat /proc/meminfo# MemTotal:       65876988 kB# MemFree:        31457280 kB# MemAvailable:   41943040 kB# Buffers:         1024000 kB# Cached:         10240000 kB# SwapCached:            0 kB# Active:         12345678 kB# Inactive:        5678900 kB# Dirty:             12345 kB# Writeback:             0 kB# AnonPages:      15728640 kB# Mapped:           524288 kB# ...# 关键:# Dirty:脏页(待写盘)# Writeback:正在写盘的页# AnonPages:匿名页(堆、栈)# Mapped:被 mmap 的文件页

5.3 slabtop

slabtop# 看内核 slab 分配器的占用# 排查内核内存泄漏常用# top 字段:# OBJS:对象数# ACTIVE:活跃对象# USE:每个对象大小# SIZE:总大小

5.4 smem

yum install -y smemsmem -tk# 按 RSS / PSS / USS 排序# PSS(Proportional Set Size)更准确,多进程共享的库按比例算# 看指定用户smem -u mysql# 看指定进程smem -p <pid>

5.5 pmap

# 看进程内存映射pmap -x <pid># Address           Kbytes     RSS   Dirty Mode  Mapping# 00007f1234000000   524288  524288       0 r-x-- libmysqlclient.so.21.0.30# 00007f1246000000      128     128       0 r-x-- [vdso]# ...# 看内存峰值pmap -x <pid> | tail -1#  total kB         524288   524288       0

5.6 numastat

yum install -y numactlnumastat -m# 看 NUMA 节点内存分配# 跨 NUMA 访问性能差,要避免# Per-node numastat 0#                    Node 0     Node 1# Numa_Hit         12345678  12345678# Numa_Miss             1234      5678# Foreign                 0         0# Interleave_Hit     123456    123456# Local_Node       12000000  12000000# Other_Node          12345    12345

六、网络命令

6.1 ip

# 替代 ifconfigip a# 看所有 IPip addr show eth0ip link show# 看链路状态ip r# 看路由表ip route get 8.8.8.8# 查具体走哪条路由# 加 IPip addr add 10.20.0.20/24 dev eth0# 删 IPip addr del 10.20.0.20/24 dev eth0# 起 / 关网卡ip link set eth0 upip link set eth0 down# 加路由ip route add 192.168.0.0/16 via 10.20.0.1# 删路由ip route del 192.168.0.0/16 via 10.20.0.1

6.2 ss

# 替代 netstatss -tunap# -t:TCP# -u:UDP# -n:数字(不解析服务名)# -a:所有# -p:显示进程# 看监听端口ss -tlnp# 看连接数ss -s# TCP:   100 (estab 80, closed 10, orphaned 0, timewait 5)# ...# 看 timewaitss -tan state time-wait | wc -l# 看 establishedss -tan state established | wc -l# 按状态统计ss -tan | awk 'NR>1{print $1}' | sort | uniq -c

6.3 netstat

# 还能用,但推荐迁到 ssnetstat -tunlpnetstat -an | grep ESTABLISHED | wc -lnetstat -s# 各种协议统计

6.4 curl

# HTTP 调试curl -v https://example.com# -v:详细curl -X POST -d "key=value" https://api.example.com/userscurl -X POST -H "Content-Type: application/json" -d '{"name":"test"}' https://api.example.com/userscurl -H "Authorization: Bearer xxx" https://api.example.com# 看响应头curl -I https://example.com# 保存文件curl -O https://example.com/file.zipcurl -o file.zip https://example.com/file.zip# 限速curl --limit-rate 1m -O https://example.com/bigfile.iso# 走代理curl -x http://proxy.example.com:8080 https://example.com# 测速curl -o /dev/null -s -w "time_total: %{time_total}\n" https://example.com# 多次请求curl -o /dev/null -s -w "%{time_total}\n" -H 'Cache-Control: no-cache' https://example.com/api# 拿 P50 / P99for i in {1..100}; do    curl -o /dev/null -s -w "%{time_total}\n" https://example.com/apidone | sort -n | awk '{a[NR]=$1}END{print "P50:" a[int(NR*0.5)]; print "P99:" a[int(NR*0.99)]}'

6.5 wget

# 下载wget https://example.com/file.zip# 断点续传wget -c https://example.com/bigfile.iso# 限速wget --limit-rate=1m https://example.com/bigfile.iso# 镜像整个网站wget -m -p -k https://example.com# 整页保存wget -p -k -E -np https://example.com/page.html

6.6 tcpdump

# 抓包tcpdump -i eth0# 指定网卡tcpdump -i eth0 port 80# 端口过滤tcpdump -i eth0 host 10.20.0.10# 主机过滤tcpdump -i eth0 src 10.20.0.10# 源 IP 过滤tcpdump -i eth0 dst port 6379# 目标端口tcpdump -i eth0 -w capture.pcap# 保存到文件tcpdump -r capture.pcap# 读取文件# 抓 HTTP 请求tcpdump -i eth0 -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'# 抓 DNStcpdump -i eth0 port 53# 看 TCP 握手tcpdump -i eth0 -nn -S 'tcp[tcpflags] & (tcp-syn|tcp-fin|tcp-rst) != 0'

风险提示:tcpdump 在生产慎用,可能捕获敏感信息(密码、token)。抓包文件要妥善保管。

6.7 iftop

yum install -y iftopiftop -i eth0# 实时看网络流量# -i:网卡# -n:不解析 IP# -N:不解析端口# -B:以 byte/s 显示# 看本机 IP 的流量iftop -i eth0 -f "src host 10.20.0.10"

6.8 nethogs

yum install -y nethogsnethogs eth0# 按进程看网络流量# 看到哪个进程在狂用带宽

6.9 mtr

yum install -y mtrmtr -r 8.8.8.8# -r:report 模式# 输出到目的地每一跳的丢包率 / 延迟# 持续mtr 8.8.8.8# Ctrl+C 退出# 看 TCP 路径mtr --tcp example.com

6.10 traceroute

traceroute 8.8.8.8# 看路由路径# 走 TCPtraceroute -T example.com# 走 ICMPtraceroute -I example.com

6.11 nc(netcat)

# 测端口nc -zv 10.20.0.10 80# -z:只测端口不开连接# -v:详细# 监听端口(调试用)nc -l 12345# 发送数据echo"hello" | nc 10.20.0.10 12345# 文件传输# 接收端nc -l 12345 > file# 发送端nc 10.20.0.10 12345 < file# 端口扫描nc -zv 10.20.0.10 20-30

风险提示:nc 监听端口可能带来安全风险,生产慎用。

6.12 ethtool

# 看网卡信息ethtool eth0# 看网卡驱动ethtool -i eth0# 看网卡 ring bufferethtool -g eth0# 看网卡统计ethtool -S eth0# 改网卡速率(高危)# ethtool -s eth0 speed 1000 duplex full autoneg off# 不建议临时改

6.13 sar 网络

# 实时sar -n DEV 1# -n DEV:网卡流量# IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil# eth0     1234.00   5678.00   100.00    500.00      0.00      0.00      0.00      0.00# TCP / ETCPsar -n TCP,ETCP 1# active/s:每秒主动建立连接# passive/s:每秒被动接受连接# retrans/s:每秒重传# 历史sar -n DEV -f /var/log/sa/sa13

七、磁盘命令

7.1 df

df -h# 人性化单位df -i# 看 inodesdf -T# 看文件系统类型df --total# 汇总

7.2 du

du -sh /*# 各级目录大小du -sh /var/log/*# 详细目录du -h --max-depth=1 /var/log# 限制深度# 排序du -sh /var/log/* | sort -h | tail# 排除du -sh --exclude='*.log' /var# 看大于 1G 的文件find / -type f -size +1G -exec du -sh {} \; 2>/dev/null | sort -h

7.3 lsblk

lsblk# 块设备树状结构lsblk -f# 看文件系统、UUIDlsblk -d -o NAME,SIZE,MODEL,ROTA,TRAN# 看物理盘类型lsblk -o NAME,SIZE,USED,AVAIL,FSTYPE,MOUNTPOINT,UUID# 详细

7.4 mount / umount

mount# 看所有挂载mount | grep sda# 过滤mount -o remount,rw /data# 重新挂载mount -t nfs 10.20.0.100:/nfs /mnt/nfsumount /data# 卸umount -f /data# 强制fuser -m /data# 看谁在用

7.5 iostat

iostat -xz 1# -x:扩展# -z:忽略 0 活动# 1:1 秒一次# 输出每个设备的 r/s、w/s、rkB/s、wkB/s、await、%util 等

7.6 iotop

iotop# 按进程看 IOiotop -ao# -a:累计# -o:只显示有 IO 的进程

7.7 fuser

# 看谁在用这个文件 / 目录fuser -m /data# 列出 PID# 杀占用fuser -km /data# -k:杀# -m:挂载点# 风险:会 kill 占用进程,先确认

7.8 lsof

# 看进程开了哪些文件lsof -p <pid># 看谁在用这个文件lsof /var/log/messages# 看谁在用这个目录lsof +D /data# 看谁占用端口lsof -i :80# 看 TCP 连接lsof -i tcp

八、文件命令

8.1 find

# 按名字find / -name "*.log"# 按类型find / -type f -name "*.log"# -type f:文件# -type d:目录# -type l:软链# 按大小find / -type f -size +1G# +1G:大于 1G# -1G:小于 1G# 按时间find / -type f -mtime +7# mtime +7:7 天前修改# mtime -7:7 天内修改# mtime 7:刚好 7 天# atime:访问时间# ctime:变化时间# 按用户find / -user mysql# 按权限find / -perm 777# 执行操作find / -name "*.log" -exec rm {} \;# 注意 \; 转义# 或者用 + 减少 forkfind / -name "*.log" -exec rm {} +# 限制深度find / -maxdepth 3 -name "*.log"# 多个条件find / -type f \( -name "*.log" -o -name "*.tmp" \)# 找 .log 或 .tmp# 排除目录find / -path "/proc" -prune -o -name "*.log" -print# 输出格式find / -name "*.log" -printf"%s %p\n"# 打印大小 路径# 找大文件并排序find / -type f -size +100M -exec du -h {} \; 2>/dev/null | sort -hr | head -20

8.2 locate

yum install -y mlocateupdatedb# 建索引(生产慎用,扫全盘 IO 大)locate nginx.conf# 快速找# 局限:updatedb 之后新增的文件找不到# 优势:比 find 快得多

8.3 stat

stat file.txt# File: file.txt# Size: 1234            Blocks: 8          IO Block: 4096   regular file# Access: 2026-06-13 14:00:00.000000000 +0800# Modify: 2026-06-13 14:00:00.000000000 +0800# Change: 2026-06-13 14:00:00.000000000 +0800# Birth: 2026-06-13 14:00:00.000000000 +0800

8.4 file

file file.txt# 看文件类型file -i file.txt# 看 MIME

8.5 tree

yum install -y treetree /data# 树状结构tree -L 2 /data# 限制 2 层tree -h /data# 人性化大小tree -I "*.log|cache" /data# 排除

8.6 chmod / chown

# 权限chmod 755 file# 7:rwx# 6:rw-# 5:r-x# 4:r--# 3:-wx# 2:-w-# 1:--x# 0:---# 字母模式chmod u+x file  # 用户加执行chmod g+w file  # 组加写chmod o-r file  # 其他去读chmod a+x file  # 所有人加执行# 递归chmod -R 755 /data# 风险提示:chmod -R 777 / 是灾难性操作,会破坏系统安全# 属主chown mysql:mysql filechown -R mysql:mysql /data# 改组chown :mysql file

8.7 ln

# 软链ln -s /data/file.txt /tmp/file.txt# 硬链ln /data/file.txt /tmp/file.txt# 软链常用场景:# - 链接到当前版本的代码# - 链接到日志目录# 看软链指向readlink /tmp/file.txt# /data/file.txt

8.8 rsync

# 本地同步rsync -av /src/ /dst/# 末尾 / 表示目录内容# 不带 / 表示目录本身# 远程同步rsync -av /src/ user@remote:/dst/# 排除rsync -av --exclude='*.log' /src/ /dst/# 断点续传rsync -avP /src/ user@remote:/dst/# 删除目标多余文件(同步删除)rsync -av --delete /src/ /dst/# 风险:--delete 目标端多出来的文件会被删,先 dry-run# dry-runrsync -avn --delete /src/ /dst/# 限速rsync -av --bwlimit=10m /src/ user@remote:/dst/# 走 ssh keyrsync -av -e "ssh -i /root/.ssh/id_rsa" /src/ user@remote:/dst/

8.9 scp

# 上传scp file.txt user@remote:/data/# 下载scp user@remote:/data/file.txt /tmp/# 目录scp -r /data/dir user@remote:/data/# 限速scp -l 1000 file.txt user@remote:/data/# -l 1000:限 1000 Kbit/s# 走 keyscp -i /root/.ssh/id_rsa file.txt user@remote:/data/

8.10 tar

# 打包tar -cvf archive.tar /data# -c:创建# -v:详细# -f:文件# 解包tar -xvf archive.tar# 看内容不解tar -tvf archive.tar# gzip 压缩tar -czvf archive.tar.gz /data# -z:gzip# 解 gziptar -xzvf archive.tar.gz# bzip2 压缩tar -cjvf archive.tar.bz2 /data# -j:bzip2# xz 压缩(最高压缩比)tar -cJvf archive.tar.xz /data# -J:xz# 解到指定目录tar -xvf archive.tar -C /dst/# 排除tar --exclude='*.log' -czvf archive.tar.gz /data

8.11 zip / unzip

# 压zip -r archive.zip /data# 解unzip archive.zip# 解到指定目录unzip archive.zip -d /dst/# 看内容unzip -l archive.zip# 排除zip -r archive.zip /data -x "*.log"

九、日志命令

9.1 tail

# 看文件尾tail file.log# 默认 10 行tail -n 100 file.log# 100 行tail -f file.log# 实时跟踪(ctrl+c 退出)tail -F file.log# -F:跟踪 + 重试(文件被删重建也能继续追)# 强烈推荐 -F

9.2 less / more

# 翻页查看less file.log# 空格下一页,b 上一页,/搜索,q 退出# 打开就跳到尾less +F file.log# 类似 tail -f# 多个文件less file1.log file2.log# :n 下一个,:p 上一个

9.3 grep

# 基础grep "error" file.log# 找含 error 的行# 多个文件grep "error" *.loggrep -r "error" /var/log/# 大小写不敏感grep -i "error" file.log# 上下文grep -A 5 "error" file.log# -A 5:后面 5 行grep -B 5 "error" file.log# -B 5:前面 5 行grep -C 5 "error" file.log# -C 5:前后各 5 行# 反选grep -v "info" file.log# 不含 info# 计数grep -c "error" file.log# 行号grep -n "error" file.log# 正则grep -E "ERROR|WARN" file.log# 等价于 egrepgrep -E "192\.168\.[0-9]+\.[0-9]+" file.log# 匹配 IP# 限制目录grep -r --include="*.log""error" /var/log/# 排除目录grep -r --exclude-dir=".git""TODO" /src/# 统计grep -c "error" /var/log/*.log

9.4 awk

# 基础awk '{print $1}' file.log# 打印第一列awk '{print $1, $3}' file.log# 打印第 1 和 3 列# 自定义分隔符awk -F: '{print $1}' /etc/passwd# /etc/passwd 用 : 分隔# 条件awk '$3 > 100 {print $1}' file.log# 多个分隔符awk -F'[:,]''{print $1, $3}' file.log# 计数awk '{count++} END {print count}' file.log# 求和awk '{sum += $1} END {print sum}' file.log# 复杂条件awk '$3 > 100 && $4 == "OK" {print $0}' file.log# BEGIN / ENDawk 'BEGIN {print "start"} {print $1} END {print "end"}' file.log# 关联数组awk '{count[$1]++} END {for (k in count) print k, count[k]}' file.log# 按第一列分组计数# 处理 nginx access logawk '{print $1}' access.log | sort | uniq -c | sort -rn | head# 访问 IP 排行

9.5 sed

# 替换sed 's/old/new/' file.log# 替换每行第一个sed 's/old/new/g' file.log# 替换所有sed -i 's/old/new/g' file.log# 直接改文件# 风险:-i 不可逆,先备份或先输出# 删行sed '/pattern/d' file.log# 删含 pattern 的行sed '5d' file.log# 删第 5 行sed '5,10d' file.log# 删 5-10 行# 打印sed -n '5,10p' file.log# 打印 5-10 行# 多个命令sed -e 's/old/new/g' -e '/^$/d' file.log# 直接改文件sed -i.bak 's/old/new/g' file.log# 备份为 file.log.bak# 行尾添加sed 's/$/ END/' file.log# 行首添加sed 's/^/START /' file.log# 提取行sed -n '/start/,/end/p' file.log# 提取 start 到 end 之间的行

风险提示:sed -i 是直接改文件,不可逆。先备份或先验证:

# 安全做法sed 's/old/new/g' file.log > newfile.log# 确认 OK 再覆盖mv newfile.log file.log

9.6 journalctl

# 看 systemd 日志journalctl# 跟某个服务journalctl -u nginx# 实时跟踪journalctl -u nginx -f# 时间范围journalctl --since "1 hour ago"journalctl --since "2026-06-13 14:00" --until "2026-06-13 15:00"# 优先级journalctl -p err# -p err:只显示 err 及以上# 0: emerg# 1: alert# 2: crit# 3: err# 4: warning# 5: notice# 6: info# 7: debug# 内核日志journalctl -k# 看启动日志journalctl -b# -b -1:上次启动# -b -2:上上次# 占用journalctl --disk-usage# 清理journalctl --vacuum-time=7djournalctl --vacuum-size=500M

9.7 dmesg

# 内核日志dmesg# 实时dmesg -w# 时间戳dmesg -T# 看指定级别dmesg --level=err,crit,alert,emerg# 看 OOMdmesg | grep -i "out of memory"# 看网卡dmesg | grep -i eth

9.8 logrotate

# 手动跑logrotate -f /etc/logrotate.conf# -f:强制跑(即使没到时间)# 看配置cat /etc/logrotate.d/nginx# 验证配置logrotate -d /etc/logrotate.conf# -d:debug,不真转

十、用户与权限命令

10.1 useradd / usermod / userdel

# 加用户useradd -m -s /bin/bash username# -m:建 home# -s:指定 shell# 改用户usermod -aG sudo username# 加 sudo 组# 注意 -a 不能漏,否则覆盖# 改 shellusermod -s /bin/zsh username# 锁用户usermod -L username# 删用户userdel -r username# -r:连带 home

10.2 passwd / chage

# 改密码passwd username# 强制定期改chage -M 90 username# 90 天# 立即过期chage -d 0 username# 看密码策略chage -l username

10.3 groupadd / gpasswd

groupadd developers# 加成员gpasswd -a username developers# 删成员gpasswd -d username developers# 看用户组id usernamegroups username

10.4 su / sudo

# 切用户su - username# 加载环境变量# 跑单条命令sudo -u mysql /usr/bin/mysqld --version# 看 sudo 权限sudo -l

10.5 visudo

# 改 sudo 配置visudo# 用 visudo 而不是直接 vim,会检查语法# 加一条username ALL=(ALL) NOPASSWD: ALL# ALL 主机# (ALL) 用户# NOPASSWD:免密

风险提示:username ALL=(ALL) NOPASSWD: ALL 给某个用户全 sudo 免密,等于 root。

十一、服务管理

11.1 systemd 服务

# 服务文件位置/etc/systemd/system//usr/lib/systemd/system/# 自定义服务cat > /etc/systemd/system/myapp.service << 'EOF'[Unit]Description=My ApplicationAfter=network.target[Service]Type=simpleUser=myuserWorkingDirectory=/opt/myappExecStart=/usr/bin/python3 /opt/myapp/main.pyRestart=alwaysRestartSec=5[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reloadsystemctl start myappsystemctl enable myapp

11.2 systemd-analyze

# 看启动耗时systemd-analyze# 看每个服务耗时systemd-analyze blame# 关键路径systemd-analyze critical-chain# 启动图systemd-analyze plot > /tmp/boot.svg# 浏览器打开 /tmp/boot.svg

11.3 journalctl 过滤

见 9.6。

十二、包管理

12.1 yum / dnf(RHEL/CentOS)

# 装yum install -y nginxyum install -y epel-release# 卸yum remove nginx# 升级yum updateyum update nginx# 查包yum search nginxyum list | grep nginxyum info nginx# 看已装yum list installedyum list installed | grep nginx# 查某个文件属于哪个包yum provides /usr/bin/htop# 清理yum clean allyum makecache# 仓库yum repolistyum-config-manager --enable epel# 锁定版本yum install -y yum-plugin-versionlockyum versionlock nginx-1.20.1-1.el7

12.2 apt(Ubuntu/Debian)

# 装apt-get install -y nginx# 卸apt-get remove nginxapt-get purge nginx# purge:连配置一起删# 升级apt-get updateapt-get upgradeapt-get dist-upgrade# dist-upgrade 允许替换依赖关系# 查包apt-cache search nginxapt list --installed# 查文件apt-file search /usr/bin/htop# 没装先装 apt-file# apt-get install -y apt-file# apt-file update# 锁版本apt-mark hold nginxapt-mark unhold nginx

12.3 rpm

# 装rpm -ivh package.rpm# -i:install# -v:verbose# -h:进度# 卸rpm -e nginx# 升级rpm -Uvh package.rpm# 查rpm -qarpm -qa | grep nginx# 看包详情rpm -qi nginx# 看包文件rpm -ql nginx# 查文件属于哪个包rpm -qf /usr/bin/htop

12.4 dpkg

# 装dpkg -i package.deb# 卸dpkg -r nginxdpkg -P nginx# -P:purge,连配置# 查dpkg -ldpkg -l | grep nginx# 查包文件dpkg -L nginx# 查文件属于哪个包dpkg -S /usr/bin/htop

十三、定时任务

13.1 crontab

# 编辑crontab -e# 用户级 crontab# 看crontab -l# 删crontab -r# 风险:直接删整张表,慎用# 系统级/etc/crontab/etc/cron.d//etc/cron.daily//etc/cron.hourly//etc/cron.weekly//etc/cron.monthly/

crontab 格式:

# 分 时 日 月 周 命令# 0 2 * * * /opt/backup.sh# */5 * * * * /opt/check.sh# 0 0 * * 0 /opt/weekly.sh# 30 9 * * 1-5 /opt/workday.sh

13.2 flock 防重入

# 防止脚本并发跑* * * * * flock -n /tmp/mytask.lock -c "python3 /opt/mytask.py"# -n:拿不到锁就放弃# /tmp/mytask.lock:锁文件# -c:跟命令# 锁文件位置# -w /var/lock/mytask.lock# 写法flock -n /var/lock/mytask.lock python3 /opt/mytask.py

13.3 at

# 一次性定时echo"command" | at 14:30echo"command" | at now + 5 minutesecho"command" | at 2026-06-15# 看队列atq# 删atrm <job-id>

13.4 systemd-timer

更现代的定时方式:

# /etc/systemd/system/backup.timer[Unit]Description=Daily Backup[Timer]OnCalendar=dailyOnCalendar=Mon..Fri 02:00Persistent=true[Install]WantedBy=timers.target
# /etc/systemd/system/backup.service[Unit]Description=Backup[Service]ExecStart=/opt/backup.sh
systemctl daemon-reloadsystemctl enable --now backup.timersystemctl list-timers

十四、性能分析命令

14.1 strace

yum install -y strace# 跟踪进程strace -p <pid># 跟踪新进程strace command# 看系统调用strace -p <pid> -e trace=network# -e trace=network:只看网络相关# -e trace=open,read,write:看文件操作# -e trace=memory:内存相关# 统计系统调用strace -p <pid> -c# 看时间strace -p <pid> -t# 输出到文件strace -p <pid> -o /tmp/strace.log

风险提示:strace 在生产慎用,会让进程变慢,且高并发场景下日志会爆。

14.2 ltrace

yum install -y ltrace# 跟踪库调用ltrace -p <pid># 跟指定库ltrace -p <pid> -l "libssl*"

14.3 perf

见 4.5。

14.4 bcc 工具

# 装(需要 kernel-devel)yum install -y bcc-tools# 工具位置ls /usr/share/bcc/tools/# biolatency  tcpconnect  opensnoop  ...# biolatency:块设备 IO 延迟/usr/share/bcc/tools/biolatency 1 10# 输出 latency 分布# tcpconnect:实时 TCP 连接/usr/share/bcc/tools/tcpconnect# 看谁在连谁# opensnoop:跟踪 open 系统调用/usr/share/bcc/tools/opensnoop# 看哪些文件被打开# execsnoop:跟踪 exec/usr/share/bcc/tools/execsnoop# 看哪些进程被启动# capable:跟踪 capability 检查/usr/share/bcc/tools/capable

14.5 bpftrace

yum install -y bpftrace# 简单 one-linerbpftrace -e 'tracepoint:syscalls:sys_enter_openat { printf("%s %s\n", comm, str(args->filename)); }'# 看进程执行的命令bpftrace -e 'tracepoint:syscalls:sys_enter_execve { printf("%s -> %s\n", comm, str(args->filename)); }'

风险提示:bcc / bpftrace 在生产慎用,可能导致性能波动。

十五、文本三剑客

15.1 xargs

# 把 stdin 转成命令参数echo"a b c" | xargs -n 1 echo# a# b# c# -n 1:每次传 1 个参数# 删 .log 文件find . -name "*.log" | xargs rm# 用 -I 替换find . -name "*.log" | xargs -I {} mv {} /backup/# 限制并发find . -name "*.txt" | xargs -P 4 -I {} cp {} /dst/# -P 4:4 个并发

15.2 sort

# 排序sort file# 数字排序sort -n file# 倒序sort -rn file# 按列sort -k 2 file# 按第 2 列# 去重sort -u file# human-readable 排序sort -h file# 1K, 2M, 3G

15.3 uniq

# 去重(要求已排序)sort file | uniq# 计数sort file | uniq -c | sort -rn# 出现次数排行# 看重复sort file | uniq -d# 看非重复sort file | uniq -u

15.4 cut

# 按列cut -d: -f1 /etc/passwd# -d:分隔符# -f:取第几列# 按字符cut -c1-10 file# 取每行 1-10 字符

15.5 tr

# 替换echo"hello" | tr 'a-z''A-Z'# HELLO# 删字符echo"hello 123" | tr -d '0-9'# hello# 压缩重复echo"hello      world" | tr -s ' '# hello world

15.6 column

# 对齐输出mount | column -t# 自定义分隔符cat /etc/passwd | column -t -s:

15.7 paste

# 合并两个文件paste file1 file2# 1行 file1 1行 file2 拼一起# 自定义分隔符paste -d'|' file1 file2

15.8 diff / comm

# diffdiff file1 file2# 统一格式diff -u file1 file2# 生成 patch# commcomm file1 file2# 三列:只在 file1、只在 file2、共有# 抑制某列comm -23 file1 file2# 只看 file1 独有的comm -13 file1 file2# 只看 file2 独有的

十六、实用工具

16.1 tmux

yum install -y tmux# 新建 sessiontmux new -s mysession# 分离# Ctrl+b d# 列 sessiontmux ls# 重新连接tmux attach -t mysession# 快捷键# Ctrl+b c:新建 window# Ctrl+b n / p:next / prev window# Ctrl+b ":水平分屏# Ctrl+b %:垂直分屏# Ctrl+b 方向键:切换 pane# Ctrl+b x:关闭 pane# Ctrl+b [:进入复制模式(PgUp/PgDn 翻页)# Ctrl+b ]:粘贴# Ctrl+b ?:帮助

16.2 screen

yum install -y screen# 新建screen -S mysession# 分离# Ctrl+a d# 列screen -ls# 重新连接screen -r mysession

16.3 glances

yum install -y glancesglances# 综合监控# CPU / 内存 / 网络 / 磁盘 / 进程 / 传感器 / 文件系统# 支持 web 模式glances -w# 输出到文件glances --export csv --export-csv-file /tmp/glances.csv

16.4 dstat

yum install -y dstat# 组合输出dstat -cdngym 1# c: cpu# d: disk# n: net# g: page# y: sys# m: mem# 高级dstat --top-cpu --top-io --top-mem 1

16.5 nmon

# 下载wget http://sourceforge.net/projects/nmon/files/nmon16e_mpginc.tar.gztar xzf nmon16e_mpginc.tar.gzchmod +x nmon_x86_64_rhel7mv nmon_x86_64_rhel7 /usr/local/bin/nmon# 跑nmon# 进入交互# c:CPU# m:内存# d:磁盘# n:网络# t:top 进程# h:帮助# 录数据nmon -f -s 5 -c 60# -f:文件# -s 5:5 秒一次# -c 60:录 60 次 = 5 分钟# 输出 hostname_YYMMDD_HHMM.nmon 文件# 用 nmon analyser 打开(Windows 工具)

16.6 sysstat

sysstat 是一组工具的集合:

  • iostat:磁盘 IO
  • mpstat:CPU
  • pidstat:进程
  • sar:系统活动
  • sadc:数据收集器
  • sa1 / sa2:cron 跑的脚本
# 启用历史收集vim /etc/cron.d/sysstat# 取消这行注释# */5 * * * * root /usr/lib64/sa/sa1 1 1# 启用 sadcsystemctl enable sysstatsystemctl start sysstat# 看历史ls /var/log/sa/# sa13: 二进制# sar13: 文本sar -u -f /var/log/sa/sa13sar -d -f /var/log/sa/sa13sar -r -f /var/log/sa/sa13sar -n DEV -f /var/log/sa/sa13

十七、SSH 与远程

17.1 ssh

# 登录ssh user@host# 指定端口ssh -p 2222 user@host# 跑命令ssh user@host "ls /tmp"# 传文件scp file user@host:/tmp/# 免密登录ssh-keygen -t rsa -b 4096ssh-copy-id user@host# 跳板ssh -J user@jumphost user@dest# 端口转发# 本地转发ssh -L 8080:remote-host:80 user@host# 访问本地 8080 转到 remote-host:80# 远程转发ssh -R 8080:localhost:80 user@host# 远程访问 host:8080 转到本地 80# 动态转发(SOCKS 代理)ssh -D 1080 user@host# 本地 1080 起 SOCKS 代理

17.2 ssh config

vim ~/.ssh/config# Host prod-redis#     HostName 10.20.0.11#     User deploy#     Port 22#     IdentityFile ~/.ssh/id_rsa# 之后直接ssh prod-redis

17.3 ssh-agent

# 启动 agenteval $(ssh-agent)# 加 keyssh-add ~/.ssh/id_rsa# 看ssh-add -l# 锁ssh-add -x# 解锁ssh-add -X

十八、网络调试命令

18.1 ping / ping6

# 测连通ping 8.8.8.8# 限次ping -c 5 8.8.8.8# 限时间ping -w 10 8.8.8.8# IPv6ping6 ipv6.google.com

18.2 host / dig / nslookup

# 简单查host example.com# example.com has address 93.184.216.34# digdig example.comdig example.com +shortdig @8.8.8.8 example.com# 指定 DNS# 反向dig -x 8.8.8.8# MX 记录dig example.com MX# 跟踪dig +trace example.com# nslookup(老的)nslookup example.com

18.3 telnet

# 测端口telnet 10.20.0.10 80# 连上说明端口通# 风险提示:telnet 传明文,生产慎用# 替代用 ncnc -zv 10.20.0.10 80

十九、运维实战套路

19.1 排查一个慢请求

# 1. 看进程(CPU 高的)top -c# 找到 PID# 2. 看进程详情ps -p <pid> -o pid,ppid,user,stat,pcpu,pmem,vsz,rss,etime,cmd# 3. 看进程 IOpidstat -d -p <pid> 1# 4. 看进程打开的文件lsof -p <pid># 5. 看进程系统调用strace -p <pid> -c# 统计strace -p <pid># 实时# 6. 看进程内存pmap -x <pid># 7. 看进程网络连接ss -tnp | grep <pid># 8. 看应用日志tail -F /var/log/app.log

19.2 找占用端口的进程

# 1. 看端口ss -tlnp | grep 80# LISTEN 0  128  *:80  *:*  users:(("nginx",pid=1234,fd=6))# 2. 看进程lsof -i :80# 3. 找到 PID 后看进程ps -p 1234 -o cmd# 4. 找到配置文件ls -l /proc/1234/cwd# 进程工作目录

19.3 找大文件

# 1. 看磁盘df -h# 找满的盘# 2. 看大目录du -sh /* 2>/dev/null | sort -h | tail# 3. 看大目录的子目录du -sh /var/* | sort -h | tail# 4. 看具体大文件find / -type f -size +1G 2>/dev/null -exec ls -lh {} \;find / -type f -size +100M 2>/dev/null -exec du -h {} \;# 5. 排序find / -type f -size +100M 2>/dev/null -exec du -h {} \; | sort -h | tail -20

19.4 找吃 CPU 的进程

# 1. toptop -c# 找 %CPU 高的# 2. psps aux --sort=-%cpu | head# 3. pidstatpidstat -u 1# 4. 找到进程后看堆栈jstack <pid>  # Java# 或strace -p <pid> -c# 统计# 5. 看调用栈perf top -p <pid> -g

19.5 看端口连接数

# 总连接数ss -s# 各状态ss -tan | awk 'NR>1{print $1}' | sort | uniq -c# 某 IP 的连接ss -tan | grep 10.20.0.10 | wc -l# 哪 IP 最多连接ss -tan | awk 'NR>1{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head# 哪端口被连接最多ss -tan | awk 'NR>1{print $4}' | cut -d: -f2 | sort | uniq -c | sort -rn | head# ESTABLISHED 状态ss -tan state established | wc -l

19.6 网络抖动排查

# 1. 看连通ping -c 100 host# 看延迟 / 丢包# 2. 路由追踪mtr -r -c 100 host# 3. TCP 重传sar -n TCP,ETCP 1# 看 retrans/s# 4. 网卡丢包ifconfig eth0# 看 RX/TX dropped# 5. 网卡 ring bufferethtool -g eth0# 6. 网卡统计ethtool -S eth0 | grep -i drop

19.7 CPU 飙高排查

# 1. 看 toptop -c# 2. 看进程ps -eo pid,pcpu,pmem,cmd --sort=-pcpu | head# 3. 看进程线程top -H -p <pid># 找到线程# 4. 线程转 16 进制printf"%x\n" <tid># 1a1b# 5. 看 jstackjstack <pid> | grep -A 30 "1a1b"# Java# 6. 看 perfperf top -p <pid> -g# C/C++ / Go# 7. 看系统调用strace -p <pid> -c

19.8 内存泄漏排查

# 1. 看 freefree -h# 2. 看 processps aux --sort=-%mem | head# 3. 看进程内存变化whiletruedo    ps -p <pid> -o rss,vsz    sleep 5done# 4. pmap 看哪段大pmap -x <pid> | sort -k2 -nr | head# 5. Java 用 jmap / jstatjmap -heap <pid>jstat -gc <pid> 1s# 6. valgrind(开发用)valgrind --leak-check=full ./app

19.9 启动慢排查

# 1. 看启动耗时systemd-analyze# 2. 看哪个服务慢systemd-analyze blame# 3. 看关键路径systemd-analyze critical-chain# 4. 看启动日志journalctl -b# 上次启动失败的原因

二十、危险命令清单

下面是生产绝对不要用或者要非常小心的命令。每条都是真实的事故。

20.1 rm -rf

rm -rf /# 删根目录# 真实事故:脚本里没传路径,默认 . → 反复递归 → 系统全废rm -rf /* > /dev/null# 删根目录所有文件rm -rf $VAR/*# VAR 没定义 → rm -rf /*# 安全做法# 1. 用 trash-cliyum install -y trash-clitrash-put file# 软删除# 2. 删除前确认ls $VAR/rm -rf $VAR/*# 看到 ls 输出再删# 3. 限制 rm 范围rm -rf /data/cache/*# 先确认 /data/cache 存在且不是 /

20.2 dd if=/dev/zero of=/dev/sda

dd if=/dev/zero of=/dev/sda# 清空整块磁盘# 真实事故:# if=/dev/zero of=/dev/sdb bs=1M# 本来想写 sdb1(sdb 的第一个分区)# 错写成 sdb(整块盘)# 数据全废# 安全做法# 1. lsblk 看盘lsblk# 2. 确认盘符fdisk -l /dev/sdb# 3. 写到具体分区dd if=/dev/zero of=/dev/sdb1 bs=1M count=100# count=100 限制大小# 4. 加 conv=sync 跳过错误dd if=/dev/zero of=/dev/sdb1 bs=1M count=100 conv=sync

20.3 chmod -R 777

chmod -R 777 /# 全部文件 777,安全灾难# 真实事故:# 一个新人 root 上 chmod -R 777 /var/www# 整个 web 目录全 777# 等于给攻击者开了后门# 安全做法# 1. 限制目录chmod -R 755 /var/www/html# 2. 文件 vs 目录分开处理find /var/www -type f -exec chmod 644 {} \;find /var/www -type d -exec chmod 755 {} \;# 3. 永远不要用 777

20.4 kill -9 数据库

kill -9 mysqld# 数据库可能丢数据# 真实事故:# kill -9 mysqld# 之后数据库启动不起来# 因为 redo log 没刷盘,崩溃恢复失败# 安全做法# 1. 先 kill 15kill <pid># 给 30 秒清理# 2. kill 9 之前先 SHUTDOWNmysql -e "SHUTDOWN"# MySQL 自己的清理# 3. 看进程响应kill -0 <pid># 不真杀,只检测

20.5 > /etc/

> /etc/passwd# 清空 /etc/passwd# 真实事故:# echo "xxx" > /etc/sudoers  # 报错 Permission denied# > /etc/environment         # 错写成 /etc/passwd# 机器上所有用户进不来# 安全做法# 1. 用 >> 而不是 > (追加)echo"xxx" >> /etc/environment# 2. 改前 cpcp /etc/passwd /etc/passwd.bak# 3. 用 vim 编辑而不是重定向vim /etc/passwd

20.6 history -c

history -c# 抹操作记录# 真实事故:# 事故后 history -c# 调查时不知道谁干了什么# 失去追责依据# 安全做法# 1. 不要用 history -c# 2. 保留 history 给 audit# 3. 把 history 写到统一日志服务器

20.7 mkfs 写错

mkfs.ext4 /dev/sda# 格式化整块盘,不是分区# 数据全废# 安全做法# 1. mkfs 之前先确认盘lsblkfdisk -l /dev/sda# 2. 加 -f 前确认mkfs.ext4 /dev/sda1# 写具体分区,不是 sda

20.8 fdisk / parted 写错

fdisk /dev/sdb# 然后 w 写错# 分区表破坏# 安全做法# 1. 改前备份分区表sfdisk -d /dev/sda > /tmp/sda-part.bak# 2. 重要盘先 umountumount /data# 3. 操作前看多一遍 fdisk -l

二十一、命令历史与审计

21.1 history

# 看历史history# 跑历史的某条!1234# 找命令history | grep "rm -rf"# 时间戳export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "# 之后 history 显示时间# 写到统一文件export HISTFILE=/var/log/bash_history/$(whoami)_$(date +%Y%m).log

21.2 auditd

yum install -y auditd# 看规则auditctl -l# 加规则:监控 /etc/passwd 修改auditctl -w /etc/passwd -p wa -k passwd_changes# 触发后看ausearch -k passwd_changes# 永久规则vim /etc/audit/rules.d/audit.rules-w /etc/passwd -p wa -k passwd_changes-w /etc/shadow -p wa -k shadow_changes-w /etc/sudoers -p wa -k sudoers_changes

21.3 sudo 日志

cat /var/log/secure# CentOS / RHELcat /var/log/auth.log# Ubuntu / Debian# 看 sudo 行为grep sudo /var/log/secure

二十二、命令效率提升

22.1 快捷键

# bash 快捷键Ctrl + A    # 行首Ctrl + E    # 行尾Ctrl + U    # 删到行首Ctrl + K    # 删到行尾Ctrl + W    # 删一个词Ctrl + R    # 反向搜索历史Ctrl + L    # 清屏Ctrl + C    # 中断Ctrl + D    # 退出Ctrl + Z    # 暂停# 翻命令↑ / ↓       # 历史# Tab       # 补全# !        # 执行历史!!          # 上条!$          # 上条最后一个参数!*          # 上条所有参数!123        # 历史第 123 条

22.2 别名

# ~/.bashrcalias ll='ls -lh'alias la='ls -lah'alias l='ls -CF'alias rm='rm -i'alias cp='cp -i'alias mv='mv -i'# -i:覆盖前确认# 注意:rm -i 是个双刃剑,脚本里 rm 会被卡alias h='history'alias psg='ps -ef | grep'alias ports='ss -tlnp'alias myip='curl -s ifconfig.me'alias reload='source ~/.bashrc'# 服务器组alias prod='ssh user@prod-01'alias stage='ssh user@stage-01'# 危险命令再确认alias rm='echo "Use trash-put instead"'

22.3 函数

# 找大文件bigfiles() {    find / -type f -size +${1:-100M} 2>/dev/null | xargs du -h 2>/dev/null | sort -h | tail -${2:-20}}bigfiles 1G 10# 杀进程kp() {    ps -ef | grep "$1" | grep -v grepecho -n "Kill? [y/N]: "read answerif [ "$answer" = "y" ]; then        pkill "$1"fi}# 快速 SSHsshhost() {    ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $@}

22.4 提示符

# ~/.bashrcPS1='\u@\h:\w\$ '# user@host:cwd$# 带颜色PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '# 显示 git 分支parse_git_branch() {    git branch 2>/dev/null | grep '*' | sed 's/* //'}PS1='\u@\h:\w(\$(parse_git_branch))\$ '

二十三、命令组合实战

23.1 找空文件

find / -type f -empty# 删空文件find /tmp -type f -empty -delete

23.2 批量改后缀

# 全部 .txt 改成 .mdfor f in *.txt; do    mv "$f""${f%.txt}.md"done# 用 renamerename 's/\.txt$/.md/' *.txt

23.3 找被改过但没提交的文件大小

git status --porcelain | awk '{print $2}' | xargs -I {} ls -lh {}

23.4 跑远程命令

# 一台ssh user@host "ls /tmp"# 多台for host in prod-01 prod-02 prod-03; doecho"=== $host ==="    ssh user@$host"uptime"done# 用 psshpssh -h hosts.txt -i "uptime"# hosts.txt 一行一个 host# 用 ansibleansible all -i hosts -m shell -a "uptime"

23.5 文件批量处理

# 批量改权限find /data -type d -exec chmod 755 {} \;find /data -type f -exec chmod 644 {} \;# 批量打包find /data -name "*.log" -exec tar -czf logs.tar.gz {} +# 批量传find /data -name "*.log" | xargs -I {} scp {} user@backup:/backup/

23.6 查 Linux 系统信息

# 一行查系统版本cat /etc/os-release# NAME="CentOS Linux"# VERSION="7 (Core)"# ID="centos"# ID_LIKE="rhel fedora"# Ubuntulsb_release -a# No LSB modules are available.# Distributor ID: Ubuntu# Description:    Ubuntu 22.04.3 LTS# Release:        22.04# Codename:       jammy# 内核uname -a# CPUlscpu | head# 内存free -h# 磁盘df -h# 网络ip a# 启动时长uptime# 整体hostnamectl

二十四、命令时间与调度

24.1 time

# 看命令耗时time ls# real    0m0.001s# user    0m0.000s# sys     0m0.001s# 详细/usr/bin/time -v ls#    User time (seconds): 0.00#    System time (seconds): 0.00#    Percent of CPU this job got: 0%#    Elapsed (wall clock) time: 0:00.00#    ...

24.2 timeout

# 命令超时timeout 10 ping 8.8.8.8# 10 秒后自动停# 跑慢命令timeout 600 long_running_command# 超时后发信号timeout --signal=9 10 ping 8.8.8.8# 超时后 SIGKILL

二十五、文件传输与同步

25.1 rsync 详细

# 基本rsync -av /src/ /dst/# 远程rsync -av /src/ user@host:/dst/# 走 SSH 选项rsync -av -e "ssh -p 2222" /src/ user@host:/dst/# 排除rsync -av --exclude='*.log' --exclude='cache/' /src/ /dst/# 排除文件rsync -av --exclude-from='exclude.txt' /src/ /dst/# exclude.txt 一行一个模式# 限速rsync -av --bwlimit=10m /src/ user@host:/dst/# 断点续传rsync -avP /src/ user@host:/dst/# -P:--partial --progress# 同步删除rsync -av --delete /src/ /dst/# dry-runrsync -avn --delete /src/ /dst/# 压缩rsync -avz /src/ /dst/# 保留硬链rsync -avH /src/ /dst/# -H:硬链

25.2 scp 详细

# 基础scp file user@host:/dst/# 目录scp -r dir user@host:/dst/# 限速scp -l 1000 file user@host:/dst/# 1000 Kbit/s# 走 keyscp -i ~/.ssh/key file user@host:/dst/# 保留权限scp -p file user@host:/dst/

二十六、磁盘管理命令

26.1 fdisk

# 看fdisk -l# 改fdisk /dev/sda# m 帮助# p 打印# n 新建# d 删# t 改类型# w 写# q 不保存退出

26.2 parted

# 看parted /dev/sda print# 改parted /dev/sda mklabel gptparted /dev/sda mkpart primary xfs 0% 100%# 删parted /dev/sda rm 1# 改大小parted /dev/sda resizepart 1 200GiB

26.3 mkfs

# ext4mkfs.ext4 /dev/sda1# xfsmkfs.xfs /dev/sda1 -L data -f# btrfsmkfs.btrfs /dev/sda1# 加参数mkfs.ext4 -L data -m 1 /dev/sda1# -m 1:保留块 1%# -L:卷标

26.4 mount

# 临时挂载mount /dev/sda1 /data# 写 fstabblkid /dev/sda1# 拿 UUIDecho"UUID=xxx /data xfs defaults,noatime 0 0" >> /etc/fstab# 验证mount -a# 重新挂载mount -o remount,rw /data

二十七、LVM 命令

# PVpvcreate /dev/sdbpvspvdisplay# VGvgcreate data-vg /dev/sdbvgextend data-vg /dev/sddvgsvgdisplay# LVlvcreate -L 100G -n data-lv data-vglvextend -l +100%FREE /dev/data-vg/data-lvlvreduce -L 100G /dev/data-vg/data-lv# 缩 LV 高危lvslvdisplay# 扩 FSxfs_growfs /dataresize2fs /dev/data-vg/data-lv

二十八、文本统计与分析

28.1 wc

wc -l file# 行数wc -w file# 词数wc -c file# 字节数wc -m file# 字符数

28.2 head / tail

head -n 10 file# 前 10 行tail -n 10 file# 后 10 行tail -F file# 实时跟踪

28.3 split

# 按行数拆split -l 1000 file prefix_# 每个 1000 行# 按大小拆split -b 100m file prefix_# 按行数拆带后缀split -l 1000 -d -a 3 file prefix_# prefix_000, prefix_001, ...

28.4 nl

# 加行号nl file# 空行不加nl -ba file

二十九、其他常用

29.1 date / cal

datedate +%F# 2026-06-13date +%T# 14:30:00date +"%F %T"# 2026-06-13 14:30:00cal# 当月日历cal 6 2026# 2026 年 6 月

29.2 echo / printf

echo"hello"echo -e "a\tb"# -e:解释转义echo"$var"printf"%s\n""hello"printf"%d %s\n" 123 "abc"# 格式化输出

29.3 yes

yes | command# 自动回答 yyes "no" | command# 回答 no

29.4 seq / xargs

seq 1 10# 1 2 3 ... 10seq 1 2 10# 1 3 5 7 9# 步长 2# 配合seq 1 10 | xargs -I {} echo"task {}"

29.5 bc

# 计算器echo"1+1" | bc# 2echo"scale=2; 10/3" | bc# 3.33

29.6 watch

# 每秒跑一次watch -n 1 "ls -lh /tmp"# 默认 2 秒# 高亮变化watch -d -n 1 "free -h"

29.7 man

# 帮助man ls# 查命令man -k network# 模糊查询# 章节man 5 passwd# 1 命令# 2 系统调用# 3 库函数# 4 设备# 5 配置文件# 6 游戏# 7 其他# 8 系统管理命令

三十、运维命令速查表

# 系统uname -a, hostname, uptime, date, who, w, last# 进程ps aux, top, htop, kill, pkill, pgrep, pidof, pstree# CPUtop, mpstat, sar -u, lscpu, perf top# 内存free, vmstat, sar -r, slabtop, pmap# 网络ip, ss, netstat, ping, mtr, traceroute, tcpdump, iftop, nethogs, curl, wget, nc, ethtool# 磁盘df, du, lsblk, blkid, mount, fdisk, parted, iostat, iotop, fuser, lsof# 文件find, locate, stat, file, tree, ls, ln, chmod, chown, rsync, scp, tar, zip, dd# 日志tail, head, less, grep, awk, sed, journalctl, dmesg, logrotate# 用户useradd, usermod, userdel, passwd, chage, groupadd, id, su, sudo# 服务systemctl, journalctl, systemd-analyze# 包yum, dnf, apt-get, rpm, dpkg# 定时crontab, at, flock, systemd-timer# 性能strace, ltrace, perf, bcc, bpftrace# 工具tmux, screen, glances, dstat, nmon

三十一、上线 Checklist

  • [ ] bash / zsh 配好 alias
  • [ ] HISTTIMEFORMAT 配好
  • [ ] history 写到统一日志
  • [ ] 命令行编辑键熟练
  • [ ] 危险命令(rm / dd / chmod)有防线
  • [ ] auditd 装上,关键路径监控
  • [ ] sudo 日志在收
  • [ ] ssh 免密 + config 配置
  • [ ] tmux / screen 熟练使用
  • [ ] 编辑器 vim / nano 熟练
  • [ ] 监控告警命令背得出来(iostat / ss / df)
  • [ ] 紧急排错 Runbook 写好
  • [ ] 命令速查表存在 ~/.cheatsheet
  • [ ] 所有工具版本号记录
  • [ ] 包管理源换好
  • [ ] 常用 alias 同步到所有机器
  • [ ] 关键命令输出格式熟记
  • [ ] 知根知底能解释每个命令

文章到这里就结束了。命令这一块,没别的捷径,就是天天用、用熟。但更重要的不是"会用",而是"知道什么时候用、什么时候不用、用了风险是什么"。生产里 rm -rf 出事的,十有八九是"知道这命令、不知道后果"。

把这篇存一份到本地或者收藏夹,日常忘了就翻一下,比搜索引擎更准。

文末福利

网络监控是保障网络系统和数据安全的重要手段,能够帮助运维人员及时发现并应对各种问题,及时发现并解决,从而确保网络的顺畅运行。

谢谢一路支持,给大家分享6款开源免费的网络监控工具,并准备了对应的资料文档,建议运维工程师收藏(文末一键领取)。

备注:【监控合集】

100%免费领取

一、zabbix

二、Prometheus

内容较多,6款常用网络监控工具(zabbix、Prometheus、Cacti、Grafana、OpenNMS、Nagios不再一一介绍, 需要的朋友扫码备注【监控合集】,即可100%免费领取。

 以上所有资料获取请扫码

备注:【监控合集】

100%免费领取

(后台不再回复,扫码一键领取)

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 03:48:08 HTTP/2.0 GET : https://f.mffb.com.cn/a/499557.html
  2. 运行时间 : 0.118714s [ 吞吐率:8.42req/s ] 内存消耗:4,700.32kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=be0c40f3db4a261390b9aaba83cbd7e5
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000613s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000796s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000369s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000306s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000570s ]
  6. SELECT * FROM `set` [ RunTime:0.000271s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000618s ]
  8. SELECT * FROM `article` WHERE `id` = 499557 LIMIT 1 [ RunTime:0.007268s ]
  9. UPDATE `article` SET `lasttime` = 1783021688 WHERE `id` = 499557 [ RunTime:0.001765s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000290s ]
  11. SELECT * FROM `article` WHERE `id` < 499557 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000650s ]
  12. SELECT * FROM `article` WHERE `id` > 499557 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000534s ]
  13. SELECT * FROM `article` WHERE `id` < 499557 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.014302s ]
  14. SELECT * FROM `article` WHERE `id` < 499557 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.008282s ]
  15. SELECT * FROM `article` WHERE `id` < 499557 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.011838s ]
0.120390s