Linux排查问题常用命令

  1. 查看运行内存使用情况命令:

    • free -g(单位GB)
    • free -m(单位MB)
  2. 查看磁盘空间使用情况命令:

    • df -h
  3. lsof命令:

    • 诊断网络问题和分析系统资源利用情况非常有用
bash 复制代码
 - `lsof -n`:查看已经删除的文件,空间没有释放
   - `lsof -n | grep deleted`:查

看已经删除的文件,空间没有释放,可以kill掉对应进程的PID

  1. 查看磁盘IO常用命令格式:

    • iostat [参数] [时间] [次数]
    • 参数说明:
      • -c:显示CPU使用情况
      • -d:显示磁盘使用情况
      • -k:以K为单位显示
      • -m:以M为单位显示
      • -N:显示磁盘阵列(LVM)信息
      • -n:显示NFS使用情况
      • -p:可以报告出每块磁盘的每个分区的使用情况
      • -t:显示终端和CPU的信息
      • -x:显示详细信息
      • 其他参数可根据需要自行添加
  2. 显示当前系统网络连接和网络监听情况命令:

    • netstat -tulnp
  3. 显示当前系统上运行的进程命令:

bash 复制代码
   - ps aux
  1. 通过journalctl命令查看系统日志

  2. 查看指定服务的状态命令:
    - systemctl status <service>

  3. 查看当前开放的网络连接,检查是否有异常连接:

    • ss -tulwn
    • ss命令用于查看套接字统计信息,可帮助排查网络连接问题
  4. MySQL筛选语言查询表空间使用情况的示例语句

bash 复制代码
SELECT 
    a.tablespace_name AS '表空间名',
    b.total AS '表空间大小',
    a.free AS '表空间剩余大小',
    (b.total - a.free) AS '表空间使用大小',
    b.total / (1024 * 1024 * 1024) AS '表空间大小(G)',
    a.free / (1024 * 1024 * 1024) AS '表空间剩余大小(G)',
    (b.total - a.free) / (1024 * 1024 * 1024) AS '表空间使用大小(G)',
    ROUND(((b.total - a.free) / b.total) * 100, 4) AS '使用率 %'
FROM (
    SELECT tablespace_name, SUM(file_size) AS free
    FROM information_schema.FILES
    WHERE TABLESPACE_NAME IS NOT NULL
    GROUP BY tablespace_name
) a
JOIN (
    SELECT tablespace_name, SUM(file_size) AS total
    FROM information_schema.FILES
    WHERE TABLESPACE_NAME IS NOT NULL
    GROUP BY tablespace_name
) b ON a.tablespace_name = b.tablespace_name;
  1. find命令的常见用法,包括按时间、用户、组、大小、权限等条件搜索文件的示例
bash 复制代码
#按修改时间搜索:
find / -mtime -1:#搜索在过去24小时内修改的文件
find / -mmin -30:#搜索在过去30分钟内修改的文件
#按用户和组搜索:
find / -user username:搜索属于指定用户的所有文件
find / -group groupname:搜索属于指定组的所有文件
#组合条件搜索:
find / -name "*.log" -mtime -7:#搜索在过去7天内修改过的所有.log文件
find / -size +1M -size -5M:#搜索大小在1MB到5MB之间的文件
#忽略某些目录:
find / -path /path/to/exclude -prune -o -name "*.txt" -print:#搜索所有.txt文件
#按权限搜索:
find / -perm 644:搜索权限精确匹配644的文件
find / -perm 

/u=r:搜索用户可读的文件

  1. crontab是用于在Linux系统上定时执行任务的命令。通过排查定时任务,可以查看潜在的攻击任务。在安全事件响应中,是常见的步骤之一。以下是一些 crontab 命令的常见用法:
    . 编辑当前用户的 crontab:
bash 复制代码
crontab -e
此命令会打开当前用户的 crontab 文件,您可以在其中编辑定时任务。
. 列出当前用户的 crontab:
crontab -l
此命令会列出当前用户的 crontab 中的定时任务。
 删除当前用户的 crontab:
crontab -r

命令会删除当前用户的 crontab 中的所有定时任务。

  1. grep命令及应用示例,可结合awk和sed等命令用于文本搜索和替换操作
    grep命令一般和awk 和sed等命令结合使用。用来分析日志中的安全响应事件,如对账号和密码的暴力破解。
bash 复制代码
grep 'Failed' /var/log/secure #从日志中获取登录失败的信息
awk -F ':' '{print $1}' /etc/passwd
该命令使用awk命令,指定以冒号作为字段分隔符(-F ':'参数),并打印/etc/passwd文件中每行的第一列,通常用于获取用户账号信息。
sed 's/old/new/g' file.txt
该命令使用sed命令,将file.txt文件中所有出现的"old"字符串替换为"new"。

其中's'表示替换操作,'g'表示全局替换,即一行中出现的所有匹配项都会被替换。

相关推荐
007php0075 小时前
linux服务器上CentOS的yum和Ubuntu包管理工具apt区别与使用实战
linux·运维·服务器·ubuntu·centos·php·ai编程
人类群星闪耀时5 小时前
深度学习在灾难恢复中的作用:智能运维的新时代
运维·人工智能·深度学习
djykkkkkk5 小时前
ubuntu编译遇到的问题
linux·运维·ubuntu
LinkTime_Cloud5 小时前
GitLab 将停止为中国区用户提供服务,60天迁移期如何应对? | LeetTalk Daily
大数据·运维·gitlab
qq_429856576 小时前
linux 查看服务是否开机自启动
linux·运维·服务器
就爱学编程6 小时前
重生之我在异世界学编程之C语言:数据在内存中的存储篇(下)
java·服务器·c语言
Smile丶凉轩6 小时前
Docker核心技术和实现原理
运维·docker·容器
清风细雨_林木木6 小时前
Docker使用——国内Docker的安装办法
运维·docker·容器
运维&陈同学6 小时前
【Kibana01】企业级日志分析系统ELK之Kibana的安装与介绍
运维·后端·elk·elasticsearch·云原生·自动化·kibana·日志收集
7yewh7 小时前
Linux驱动开发 IIC I2C驱动 编写APP访问EEPROM AT24C02
linux·arm开发·驱动开发·嵌入式硬件·嵌入式