【运维Linux基础之高频Linux命令】

文章目录


本手册聚焦企业线上运维日常工作,涵盖服务器登录、文件管理、日志排查、故障定位、权限管理、定时任务、磁盘故障处理全场景,摒弃内核、编译等底层原理,全部为即用、可排错、线上高频实操案例。

一、服务器基础登录 & 日常文件操作

1、远程登陆服务器

场景:日常登陆线上服务器、测试服务器,进行运维操作。

bash 复制代码
# 基础登录 格式:ssh 用户名@服务器IP -p 端口(默认22端口可省略-p)
ssh root@192.168.1.100
ssh admin@192.168.1.101 -p 2222

# 免密登录(运维常用,跳过密码输入)
# 1. 本地生成密钥
ssh-keygen
# 2. 推送公钥到服务器
ssh-copy-id root@192.168.1.100

2、查文件、改配置、删除垃圾文件

场景:查看业务配置、修改项目配置、清理服务器临时垃圾文件

bash 复制代码
# 1. 查找文件(线上最常用)
find /home -name "*.conf"       # 查找home目录下所有配置文件
find /var/log -name "*.log"     # 查找所有日志文件
find / -name "nginx.conf"       # 全局查找指定配置文件

# 2. 查看文件内容(配置、日志)
cat /etc/nginx/nginx.conf       # 查看完整配置文件
more /etc/profile               # 分页查看大文件
less /etc/redis/redis.conf      # 上下翻页查看配置,运维首选

# 3. 修改配置文件
vi /etc/nginx/nginx.conf
vim /home/project/app.ini
# 编辑后保存退出:ESC → :wq  不保存退出:ESC → :q!

# 4. 清理垃圾文件(临时文件、无用缓存、过期包)
rm -rf /tmp/*                   # 清空tmp临时垃圾文件
rm -rf *.log.old                # 清理过期归档日志
rm -rf /var/cache/yum/*         # 清理yum缓存垃圾

二、线上故障排查核心命令(进程、端口、负载)

场景:服务器卡顿、服务挂掉、端口占用、CPU负载高、程序异常闪退排查

1、top查看服务器负载、CPU、进程状态

bash 复制代码
# 直接执行,实时监控服务器状态
top

# 实操排错解读
# 1. load average 三个数值:1分钟、5分钟、15分钟负载,超过CPU核心数即为负载过高
# 2. %CPU、%MEM 查看占用CPU/内存最高的进程
# 3. 快捷键 P:按CPU排序  M:按内存排序

2、ps精准查询业务流程

bash 复制代码
# 查看所有进程
ps -ef

# 排查指定业务进程(最常用)
ps -ef | grep nginx
ps -ef | grep java
ps -ef | grep mysql

# 杀死异常进程(服务卡死、僵尸进程)
kill -9 进程ID

3、netstat / ss排查端口占用、连接数

bash 复制代码
# 高频故障 服务启动失败 / 提示端口被占用
# netstat 查看端口、连接
netstat -tulpn                 # 查看所有监听端口及对应进程
netstat -an | grep 80          # 查看80端口是否被占用
netstat -an | grep 3306        # 排查数据库端口状态

# ss 更快、更高效(运维新版首选,替代netstat)
ss -tulpn                      # 查看所有监听端口
ss -s                          # 查看服务器网络连接统计,排查连接爆满

三、磁盘爆满故障排查(线上最高频故障TOP1)

场景:服务写入失败、日志无法输出、程序报错、磁盘空间不足

1、df -h 查看整体磁盘占用

bash 复制代码
# 查看所有磁盘分区使用率
df -h

# 排错判断
# 若某个分区 Use% 达到90%+,说明磁盘即将/已经爆满,急需清理
# 重点关注:/ 根分区、/home、/var 分区(日志、业务文件都存这里)

2、du-sh 定位大文件/目录

bash 复制代码
# 查看当前目录所有文件夹大小
du -sh *

# 逐级排查,定位大文件
du -sh /var/log/*              # 查看日志目录哪个日志文件过大
du -sh /home/project/*         # 查看业务项目文件占用

# 排查出GB级超大日志/垃圾文件后,直接清理
rm -rf 超大日志文件名

四、日志排查实操(运维每日必用:tail + grep)

场景:业务报错、接口异常、服务启动失败、通过日志定位问题

1、tail实时监控日志

bash 复制代码
# 实时滚动查看最新日志(线上排查首选)
tail -f /var/log/nginx/access.log
tail -f /home/project/app.log

# 查看最后100行日志(排查近期报错)
tail -n 100 /var/log/messages

2、grep过滤报错日志

bash 复制代码
# 过滤日志中的错误信息
grep "error" /home/project/app.log
grep "Exception" /home/project/app.log

# 实时监控并过滤报错(超高频组合命令)
tail -f app.log | grep "error"

# 统计报错次数
grep -c "500" access.log

五、权限管理(线上安全刚需:chmod、chown、sudo)

场景:文件无法读取、服务无写入权限、普通用户需要执行管理员命令、权限安全加固

1、chmod修改文件读写执行权限

bash 复制代码
# 给脚本添加执行权限(部署项目必备)
chmod +x start.sh

# 目录授权,读写执行权限
chmod 755 /home/project
# 文件授权,只读权限
chmod 644 /etc/nginx/nginx.conf

2、chown修改文件所属用户、用户组

bash 复制代码
# 将文件夹归属给nginx用户(解决服务无权限读取文件)
chown -R nginx:nginx /usr/local/nginx

# 递归修改所有文件归属
chown -R admin:admin /home/project

3、sudo权限配置

bash 复制代码
# 编辑sudo配置文件
visudo

# 添加配置,让admin用户拥有所有管理员权限
admin  ALL=(ALL)       ALL

# 普通用户执行管理员命令
sudo systemctl restart nginx
sudo df -h

六、定时任务 crontab(线上自动化运维核心)

场景:定时备份数据、定时清理过期日志、定时同步业务数据、定时巡检服务器

1、crontab基础操作

bash 复制代码
# 编辑定时任务
crontab -e
# 查看所有定时任务
crontab -l
# 删除所有定时任务
crontab -r

2、线上高频实战案例

bash 复制代码
# 案例1:每天凌晨2点 定时清理7天前的日志文件
0 2 * * * find /home/project/logs -name "*.log" -mtime +7 -rm -rf

# 案例2:每天凌晨3点 定时备份MySQL数据库
0 3 * * * /usr/local/mysql/backup.sh

# 案例3:每小时定时同步业务数据
0 * * * * /home/project/sync_data.sh

# 案例4:每周日凌晨4点 清理服务器临时垃圾
0 4 * * 0 rm -rf /tmp/*

七、综合线上排错实战流程

故障场景:业务访问异常、服务器卡顿

运维排查标准步骤:

  1. 查负载:top 查看CPU、内存是否过载
  2. 查进程:ps -ef | grep 业务进程 看服务是否挂掉
  3. 查端口:ss -tulpn 看端口是否监听、是否被占用
  4. 查磁盘:df -h 看是否磁盘爆满,du -sh 定位大文件清理
  5. 查日志:tail -f 日志 | grep error 定位代码/配置报错
  6. 修复验证:改配置、重启服务、清理垃圾、授权后验证业务恢复
相关推荐
云计算磊哥@18 分钟前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
weixin_5231853223 分钟前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
天天进步20151 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
凡人叶枫1 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽1 小时前
玩转RK3506SDK
linux·嵌入式硬件
极客先躯1 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结2 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
志栋智能2 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化
kong@react2 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
凡人叶枫3 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++