云计算百科
云计算领域专业知识百科平台

Linux 运维全套命令手册

适用:CentOS7/8、麒麟 Kylin V10、Rocky、Ubuntu;覆盖日常运维、故障排查、文件、网络、进程、磁盘、权限、软件、日志、压缩、shell、系统状态。 标注常用★,生产高频重点标记。

一、基础系统信息

uname -a # ★查看内核、系统全部信息
uname -r # 内核版本
cat /etc/os-release # ★查看发行版本(麒麟、CentOS)
hostname # 主机名
hostnamectl set-hostname app01 # 修改主机名
uptime # ★系统运行时间、负载
date # 当前时间
timedatectl # ★时区时间状态
timedatectl set-timezone Asia/Shanghai # 设置上海时区
whoami # 当前用户
who # 登录用户
w # ★登录用户+负载
last # 登录历史
history # ★历史命令
history -c # 清空当前会话历史

二、文件与目录操作

pwd # ★显示当前路径
ls # 列出文件
ls -l # ★详细列表
ls -la # ★含隐藏文件
ls -lh # ★人性化大小显示
ls -lt # 按时间排序
cd /data # 切换目录
cd .. # 返回上一级
cd ~ # 回到家目录
cd – # 返回上一次目录

mkdir test # 创建文件夹
mkdir -p /data/logs/tomcat # ★递归创建多级目录

rm file.txt # 删除文件
rm -rf dir # ★强制递归删除(高危!谨慎)

cp a.txt /tmp/ # 复制文件
cp -r dir1 dir2 # 复制目录

mv old.txt new.txt # ★移动/重命名

touch file.txt # 创建空文件

find /data -name "*.log" # ★查找文件
find /data -type f -size +100M # 查找大于100M文件
find /data -mtime -7 # 7天内修改文件

ln -s /usr/local/tomcat9 /tomcat # ★软链接
ln 源 目标 # 硬链接

三、文件查看编辑

cat file.txt # 全部输出
more file.txt # 分页浏览
less file.txt # ★推荐分页查看,q退出
head -n20 file.txt # ★看前20行
tail -n20 file.txt # ★看末尾20行
tail -f catalina.out # ★实时跟踪日志
tail -F catalina.out # ★日志轮转也可跟踪

grep "error" catalina.out # ★过滤关键字
grep -i "error" catalina.out # 忽略大小写
grep -v "info" catalina.out # 排除匹配行
grep -rn "Exception" /data/tomcat # ★递归目录搜索关键字

vi /etc/profile # vi编辑器
# vi快捷键
i # 编辑
esc # 退出编辑
:w # 保存
:q # 退出
:wq # ★保存退出
:q! # ★强制不保存退出
dd # 删除一行
yy # 复制一行
p # 粘贴
/关键词 # 向下搜索
?关键词 # 向上搜索
set nu # 显示行号

四、权限 & 用户管理

id # 查看当前用户uid gid
useradd tomcat # 创建用户
userdel -r tomcat # 删除用户+家目录
passwd tomcat # 设置密码

usermod -aG wheel tomcat # 添加到sudo组

chmod 755 run.sh # ★修改权限
chmod +x run.sh # ★增加执行权限

chown tomcat:tomcat /data/tomcat9 -R # ★递归修改属主属组

su – tomcat # ★切换用户,加载环境变量
sudo command # 管理员执行

# 权限数字记忆
# r=4 w=2 x=1
# 755:rwxr-xr-x
# 644:rw-r–r–

五、磁盘空间

df -h # ★磁盘分区使用
df -i # inode使用
du -sh * # ★当前目录各文件大小
du -sh /data # 目录总大小
du -sh /data/* | sort -hr # ★按大小排序,找大文件

lsblk # 查看块设备
fdisk -l # 磁盘分区
mount /dev/sdb1 /data # 挂载
umount /data # 卸载
blkid # 获取UUID
cat /etc/fstab # ★开机挂载配置文件

六、进程、内存、CPU

top # ★系统资源监控
# top快捷键
P 按CPU排序
M 按内存排序
q 退出

htop # 增强top(需安装)
free -h # ★内存、swap
ps -ef # ★查看全部进程
ps aux # 进程详细
ps -ef | grep tomcat # ★过滤进程

pgrep -f tomcat # 获取进程PID

kill 1234 # 正常终止进程
kill -9 1234 # ★强制杀进程(尽量少用)

nice / renice # 调整进程优先级

# 查看线程
ps -T -p PID
top -Hp PID

七、网络命令

ip addr # ★查看网卡IP
ifconfig # 老工具
ip route # 路由表
route -n

ping 192.168.1.100 # ping测试连通
telnet 192.168.1.100 8080 # ★端口连通测试
curl -v http://127.0.0.1:8080 # ★访问http服务
wget url # 下载文件

netstat -tulnp # ★查看监听端口(需net-tools)
ss -tulnp # ★替代netstat,性能更好
ss -s # 统计连接数

# 防火墙 firewalld(CentOS/麒麟V10)
firewall-cmd –list-all
firewall-cmd –add-port=8080/tcp –permanent
firewall-cmd –reload
systemctl status firewalld
systemctl stop firewalld

# ubuntu ufw
ufw status
ufw allow 8080
ufw reload

# DNS
cat /etc/resolv.conf
nslookup baidu.com
dig baidu.com

# 抓包
tcpdump -i any port 8080 -w test.pcap
tcpdump -i eth0 host 192.168.1.10

八、服务管理 systemd(CentOS7+/ 麒麟 V10)

systemctl list-unit-files –type=service # 列出所有服务

systemctl start tomcat # ★启动
systemctl stop tomcat # ★停止
systemctl restart tomcat # ★重启
systemctl status tomcat # ★查看状态
systemctl enable tomcat # ★开机自启
systemctl disable tomcat # 取消开机自启
systemctl daemon-reload # ★修改service后重载

journalctl -u tomcat -f # ★查看systemd服务日志实时
journalctl -u tomcat –since "2026-09-07 10:00:00" # 指定时间日志

九、软件包管理

YUM(CentOS / Kylin V10)

yum list installed # 已安装包
yum search xxx
yum install -y xxx # ★安装
yum remove -y xxx # 卸载
yum update -y # 更新
yum clean all # 清理缓存

yum install -y net-tools lsof wget vim telnet tcpdump

APT(Ubuntu)

apt update
apt install -y xxx
apt remove xxx
apt list –installed

RPM(本地包)

rpm -ivh xxx.rpm # 安装rpm包
rpm -qa | grep java # 查询已安装
rpm -e xxx # 卸载

十、压缩解压

# tar.gz 最常用
tar -zcvf app.tar.gz /data/app # ★压缩
tar -zxvf app.tar.gz -C /tmp # ★解压到指定目录

# tar.bz2
tar -jcvf xxx.tar.bz2 dir
tar -jxvf xxx.tar.bz2

# zip/unzip
zip -r app.zip /data/app
unzip app.zip -d /tmp

gzip file
gunzip file.gz

十一、文本处理(sed awk sort cut)

cut -d: -f1 /etc/passwd # 按:分割取第1列
sort file.txt # 排序
sort -hr # 人类数字大小排序
uniq -c # 去重统计行数

sed -i 's/old/new/g' a.txt # ★sed替换文件内容
sed -i '/^#/d' file.conf # 删除#开头行

awk '{print $1,$3}' test.txt # ★awk打印第1、3列
awk '/error/{print}' log.txt # 匹配行输出

十二、定时任务 cron

crontab -e # ★编辑定时任务
crontab -l # ★查看定时任务
crontab -r # 删除定时任务

# cron格式 分 时 日 月 周
# 0 2 * * * /bin/sh /data/backup.sh >>/data/backup.log 2>&1
# 每天凌晨2点执行脚本

systemctl status crond # centos
systemctl status cron # ubuntu

十三、系统调试故障排查

lsof -i :8080 # ★查看哪个进程占用8080端口
lsof | grep deleted # ★查找已删除未释放文件(磁盘不释放)

vmstat 1 # ★系统状态每秒输出
iostat -x 1 # ★磁盘IO监控
sar -n DEV 1 # ★网络流量监控

dmesg # ★内核日志,硬件、OOM报错
dmesg | grep -i oom

cat /var/log/messages # ★系统日志 centos/麒麟
cat /var/log/syslog # ubuntu

# OOM查看
grep -i oom-killer /var/log/messages

十四、远程传输

ssh root@192.168.1.100 # ssh登录

scp /data/file.tar.gz root@192.168.1.100:/tmp # ★本地传到远程
scp root@192.168.1.100:/tmp/file.tar.gz ./ # 远程下载到本地

# rsync增量同步(生产备份)
rsync -avz /data/ root@192.168.1.100:/backup/

十五、环境变量

env # 查看全部环境变量
echo $JAVA_HOME # 打印变量

# 全局环境变量
/etc/profile # 所有用户登录加载
/etc/bashrc # shell打开加载
~/.bash_profile # 当前用户
~/.bashrc # 当前用户shell

source /etc/profile # ★生效配置
export JAVA_HOME=/xxx # 设置环境变量

十六、shell 脚本常用内置

$0 #脚本名
$1 $2 #第1、2传入参数
$# #参数个数
$? # ★上一条命令返回值,0成功非0失败

&& # 前面成功才执行后面
|| # 前面失败执行后面
; # 顺序执行

# 判断示例
if [ $? -eq 0 ];then echo ok;fi

十七、快捷实用小技巧

!123 # 执行history编号123命令
!! # 重复上一条命令
ctrl + c # 终止当前运行程序
ctrl + z # 挂起程序到后台
jobs # 后台任务
bg %1 # 后台运行
fg %1 # 切回前台

> log.txt # ★清空文件内容(不要rm,文件被占用时rm不释放空间)

十八、生产故障排查速查清单(命令组合)

  • 磁盘满
  • df -h # 查看各个磁盘分区使用率、挂载点,-h人性化显示单位GB/MB
    du -sh /* | sort -hr # 统计根目录下所有目录总大小,sort -hr按文件大小从大到小排序,快速定位大目录
    lsof | grep deleted # 查找已经被rm删除,但进程还持有句柄未释放的文件;文件删除空间不释放必查

  • 端口占用
  • ss -tulnp |grep 8080 # ss:新一代网络工具;-t tcp,-u udp,-l监听端口,-n数字不解析主机名,-p显示进程PID;过滤8080,查哪个进程在监听该端口
    lsof -i :8080 # lsof(list open files),-i指定网络;查询占用8080端口的进程PID、用户

  • 进程 CPU 高
  • top # 系统实时监控面板,查看整体CPU、内存,按P可按CPU使用率排序,M按内存排序
    ps -efH # -e全部进程,-f完整格式,-H显示进程父子树关系;看进程父子关系,定位业务进程PID
    top -Hp PID # -H显示线程,-p指定PID;查看该进程内部各个线程CPU占用,定位Java等程序高CPU线程

  • 内存异常
  • free -h # 查看总内存、已用、空闲、缓存buffer/cache、swap交换分区使用情况
    vmstat 1 # 虚拟内存统计,每秒刷新1次;观察si(换入)、so(换出),判断是否内存不足发生swap交换
    dmesg |grep -i oom # dmesg读取内核环形日志;过滤OOM Killer日志,OOM即内存溢出,内核杀掉进程时会打印记录

  • 日志报错
  • tail -f xxx.log # -f实时跟踪日志文件末尾输出;动态看应用滚动日志,中断按Ctrl+C
    grep -i error xxx.log # -i忽略大小写;在日志文件中筛选所有包含error的报错行
    journalctl -u 服务名 -f # -u指定systemd服务单元,-f实时跟踪;查看systemd托管服务的系统日志(如tomcat.service)

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Linux 运维全套命令手册
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!