一、系统资源查看命令
| 命令 | 作用 | 常用示例 | 记忆点 |
|---|---|---|---|
top |
动态查看系统负载和进程 | top(按 q 退出,P 按CPU排序,M 按内存排序) |
实时监控 |
htop |
top 的增强版(需安装) | htop(支持鼠标、颜色) |
更友好 |
ps aux |
查看所有进程 | `ps aux | grep nginx` |
ps ef |
查看进程树(显示父子关系) | ps ef |
e very full format |
netstat |
查看网络连接、端口、进程 | netstat -tunlp |
t cp, u dp, n umeric, l istening, program |
free |
查看内存使用 | free -h(人类可读) |
空闲内存 |
w |
查看系统负载、登录用户 | w |
who |
uptime |
查看系统负载和运行时间 | uptime |
系统跑了多久 |
vmstat |
查看系统整体状态(CPU/内存/IO) | vmstat 2(每2秒刷新) |
虚拟内存统计 |
iostat |
查看磁盘 I/O | iostat -x 1 |
IO 统计 |
dstat |
全能监控(需安装) | dstat -c -m -d |
替换 vmstat/iostat/netstat |
netstat -tunlp 记忆口诀:
t cp,u dp,n umeric(数字显示端口),l istening(监听),program(显示程序名)
二、文本处理命令
| 命令 | 作用 | 常用示例 | 记忆点 |
|---|---|---|---|
cat |
查看完整文件(小文件) | cat file.txt |
连接 |
less |
分页浏览(支持上下翻页、搜索) | less large.log(/搜索,q退出) |
更少=更多? |
more |
分页浏览(只能往下) | more file.txt(空格翻页) |
|
head |
查看文件开头 | head -n 20 file.txt |
头 |
tail |
查看文件结尾,动态跟踪 | tail -f app.log |
尾 |
grep |
行匹配/过滤 | grep -rn "error" /var/log/ |
全局正则打印 |
cut |
列提取 | cut -d ',' -f 1,3 data.csv |
切 |
awk |
强大的行/列处理 | awk '{print $1, $NF}' file.txt |
三个人名 |
sed |
流式替换/删除/增加 | sed 's/old/new/g' file.txt |
流编辑器 |
sort |
排序 | sort -t ',' -k 2 -n data.csv |
排序 |
uniq |
去重(需先排序) | `sort file.txt | uniq -c` |
wc |
统计行数/字数/字节 | wc -l file.txt |
word count |
grep 参数记忆:
V 反 A 后 B 前,C 包上下文,c 计数 l 列名,n 行号 i 忽略
awk 核心公式:
bash
awk '条件 { 动作 }' 文件
# $0=整行,$1=第1列,NR=行号,NF=列数
sed 核心公式:
bash
sed '范围 动作' 文件
# s/old/new/ 替换,d 删除,p 打印
三、磁盘与文件系统命令
| 命令 | 作用 | 常用示例 | 记忆点 |
|---|---|---|---|
df |
查看文件系统磁盘使用情况 | df -h |
disk free |
du |
查看目录/文件大小 | du -sh /home |
disk usage |
fdisk |
磁盘分区(MBR,CentOS 6) | fdisk -l |
|
gdisk |
磁盘分区(GPT,CentOS 7+) | gdisk -l /dev/sda |
GPT + fdisk |
lsblk |
列出块设备树形结构 | lsblk -f |
list block |
blkid |
查看设备 UUID 和类型 | blkid |
block id |
mount |
挂载文件系统 | mount /dev/sdb1 /mnt |
|
umount |
卸载文件系统 | umount /mnt |
|
mke2fs |
创建 ext 文件系统 | mke2fs -t ext4 /dev/sdb1 |
make ext2 fs |
mkfs |
创建文件系统(通用) | mkfs.ext4 /dev/sdb1 |
make fs |
fsck |
检查/修复文件系统 | fsck /dev/sda1 |
fs check |
df vs du 区别:
| 命令 | 作用 | 特点 |
|---|---|---|
df |
查看文件系统整体大小 | 从分区层面看,包括已删除但未释放的空间 |
du |
查看目录/文件实际大小 | 从文件层面看,逐个文件累加 |
经典场景: df 显示磁盘满了,但 du 统计不到大文件 → 可能是文件被删除但进程还在占用。
四、系统信息命令
| 命令 | 作用 | 常用示例 | 记忆点 |
|---|---|---|---|
uname -a |
查看内核版本和系统信息 | uname -r(只看内核版本) |
Unix name |
cat /etc/os-release |
查看发行版信息 | ||
hostname |
查看/设置主机名 | hostnamectl set-hostname new-name |
|
whoami |
查看当前用户 | ||
id |
查看用户 UID/GID | id root |
|
last |
查看登录历史 | last -10 |
|
history |
查看命令历史 | `history | grep ssh` |
五、用户与权限命令
| 命令 | 作用 | 常用示例 |
|---|---|---|
useradd |
创建用户 | useradd -m -s /bin/bash tom |
usermod |
修改用户 | usermod -aG wheel tom |
userdel |
删除用户 | userdel -r tom |
passwd |
修改密码 | passwd tom |
groupadd |
创建组 | groupadd dev |
chmod |
修改权限 | chmod 755 script.sh |
chown |
修改所有者 | chown tom:dev file.txt |
sudo |
以 root 执行 | sudo command |
六、进程管理命令
| 命令 | 作用 | 常用示例 |
|---|---|---|
ps |
查看进程 | `ps aux |
kill |
终止进程 | kill -9 PID(强制) |
pkill |
按名称杀进程 | pkill nginx |
killall |
杀所有同名进程 | killall nginx |
jobs |
查看后台任务 | |
bg |
将任务放到后台 | |
fg |
将任务放到前台 | |
nohup |
后台运行(不受终端关闭影响) | nohup ./app & |
七、网络命令
| 命令 | 作用 | 常用示例 |
|---|---|---|
ping |
测试网络连通性 | ping -c 4 google.com |
curl |
发送 HTTP 请求 | curl -I https://example.com |
wget |
下载文件 | wget https://example.com/file.zip |
ss |
查看 socket 统计(替代 netstat) | ss -tunlp |
ip |
查看/配置网卡(替代 ifconfig) | ip addr show |
scp |
远程复制文件 | scp file.txt user@host:/path/ |
rsync |
增量同步文件 | rsync -avz /src/ /dst/ |
ssh |
远程登录 | ssh user@host -p 22 |
八、压缩与打包命令
| 命令 | 作用 | 常用示例 |
|---|---|---|
tar |
打包/解包 | tar -czvf archive.tar.gz /path(打包压缩) tar -xzvf archive.tar.gz(解压) |
gzip |
压缩 .gz | gzip file.txt |
gunzip |
解压 .gz | gunzip file.txt.gz |
zip |
压缩 .zip | zip -r archive.zip /path |
unzip |
解压 .zip | unzip archive.zip |
tar 参数记忆:
c reate(创建),x tract(解压),z (gzip),j (bzip2),v erbose(详细),file(文件)
九、查找命令
| 命令 | 作用 | 常用示例 |
|---|---|---|
find |
按条件找文件 | find / -name "*.log" -mtime -7 |
locate |
快速查找(需 updatedb) | locate nginx.conf |
which |
查找命令路径 | which python |
whereis |
查找命令、源码、帮助 | whereis nginx |
grep |
在文件内容中查找 | grep -r "error" /var/log/ |
十、重要目录说明
| 目录 | 作用 |
|---|---|
/etc |
系统配置文件(如 nginx.conf、passwd) |
/bin |
系统命令(ls、cat、grep 等) |
/sbin |
管理员命令(fdisk、mkfs 等) |
/usr |
用户软件安装目录 |
/usr/local |
手动编译安装的软件 |
/var |
日志文件(/var/log)、缓存 |
/home |
用户家目录 |
/root |
root 用户家目录 |
/tmp |
临时文件(重启清空) |
/dev |
设备文件(/dev/sda 硬盘) |
/proc |
进程信息虚拟文件系统 |
/lib |
系统库文件 |
十一、系统调优要点
| 类别 | 操作 |
|---|---|
| 时间同步 | 配置 NTP 时间服务器 |
| 用户安全 | 避免直接使用 root,用 sudo |
| 软件源 | 配置国内 yum/apt 源(阿里云、清华) |
| 远程管理 | SSH 密钥登录,修改默认 22 端口 |
| 文件备份 | 定期备份 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow |
| SELinux | 配置合理规则,勿直接关闭 |
| 防火墙 | 配置 firewalld/iptables 规则 |
| 内核参数 | 调整 sysctl.conf(如 net.ipv4.tcp_tw_reuse) |
| 资源限制 | 配置 ulimit 和 /etc/security/limits.conf |
十二、快速记忆卡片
bash
# 系统状态
top / htop # 实时负载
ps aux # 所有进程
netstat -tunlp # 端口监听
free -h # 内存
df -h # 磁盘
du -sh # 目录大小
# 文本处理
grep -rn "key" # 递归搜索
sed 's/old/new/g' # 替换
awk '{print $1}' # 切列
sort -k 2 -n # 排序
wc -l # 统计行数
# 查找
find / -name "*.log"
which nginx
# 权限
chmod 755 file
chown user:group file