FreezeJ' Blog

Linux排错命令

2019-05-10

Linux排错命令

记录一些排错命令和常用软件的日志位置,排错方法。

系统

  • uname -a # 查看内核/操作系统/CPU信息,可以查看主机名、内核版本、系统平台等
  • head -n 1 /etc/issue # 查看操作系统版本
  • cat /proc/cpuinfo # 查看CPU信息
    • processor 逻辑处理器的id。
    • physical id 物理封装的处理器的id。
    • core id 每个核心的id。
    • cpu cores 位于相同物理封装的处理器中的内核数量。
    • siblings 位于相同物理封装的处理器中的逻辑处理器的数量。
  • hostname # 查看计算机名
  • lspci -tv # 列出所有PCI设备
  • lsusb -tv # 列出所有USB设备
  • lsmod # 列出加载的内核模块
  • lspci # 查看pci硬件信息
  • env # 查看环境变量
  • sysctl -a # 查看所有系统内核参数 ,如net.ipv4.ip_forward
  • ifstat # 查看接口流量

查看发行版

  • lsb_release -a # 查看发行版详细信息 (有些发行版需要安装软件)
  • cat /etc/os-release
  • cat /etc/centos-release

资源

  • free -m # 查看内存使用量和交换区使用量
  • df -h # 查看各分区使用情况
  • du -sh <目录名> # 查看指定目录的大小
  • grep MemTotal /proc/meminfo # 查看内存总量
  • grep MemFree /proc/meminfo # 查看空闲内存量
  • uptime # 查看系统运行时间、用户数、负载
  • cat /proc/loadavg # 查看系统负载

磁盘和分区

  • mount | column -t # 查看挂接的分区状态
  • fdisk -l # 查看所有分区
  • swapon -s # 查看所有交换分区
  • hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
  • dmesg | grep IDE # 查看启动时IDE设备检测状况
  • df -T # 查看文件系统
  • df -i # 查看inode数量

网络

  • ifconfig # 查看所有网络接口的属性
  • iptables -L # 查看防火墙设置
  • route -n # 查看路由表
  • netstat -lntp # 查看所有监听端口
  • netstat -antp # 查看所有已经建立的连接
  • netstat -s # 查看网络统计信息
  • ip

进程

  • ps -ef # 查看所有进程
  • top # 实时显示进程状态
  • lsof -u FreezeJ # 查看用户进程
  • strace # 可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。
  • fuser -v FILENAME # 显示出当前哪个程序在使用磁盘上的某个文件

用户

  • w # 查看活动用户
  • id <用户名> # 查看指定用户信息
  • last # 查看用户登录日志
  • cut -d: -f1 /etc/passwd # 查看系统所有用户
  • cut -d: -f1 /etc/group # 查看系统所有组
  • crontab -l # 查看当前用户的计划任务cak

服务

  • chkconfig –list # 列出所有系统服务
  • chkconfig –list | grep on # 列出所有启动的系统服务

日志

  • journalctl -u kubelet # Centos6中没有该命令

程序

  • rpm -qa # 查看所有安装的软件包
  • yum provides glib-compile-resources # 列出提供对应模块的程序
  • yum list # 显示所有已经安装和可以安装的程序包
  • yum grouplist # 批量安装的软件列表
  • yum info package1 显示安装包信息package1
  • yum clean packages 清除缓存目录下的软件包
  • yum deplist package1 查看程序package1依赖情况

SSH

  • ssh -T # 检测ssh连接的连通性
  • ssh -vv # 查看错误详情
  • tail -f /var/log/secure # 查看错误信息
  • vim /etc/ssh/sshd_config # ssh 后台服务配置文件
  • vim /etc/ssh/ssh_config # ssh客户端配置文件

Crontab

tail -f /var/log/cron # 查看crontab执行日志

脚本

  • 使用set指令能设置所使用shell的执行方式,可依照不同的需求来做设置

    • -a 标示已修改的变量,以供输出至环境变量。

    • -b 使被中止的后台程序立刻回报执行状态。

    • -C 所产生的文件无法覆盖已存在的文件。

    • -d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。

    • -e 若指令传回值不等于0,则立即退出shell。

    • -o pipefail 管道失败也跳出

    • -f 取消使用通配符。

    • -m 使用监视模式。

    • -t 执行完随后的指令,即退出shell。

    • -u 当执行时使用到未定义过的变量,则显示错误信息。

    • -v 显示shell所读取的输入值。

    • -x 执行指令后,会先显示该指令及所下的参数。

    • +<参数> 取消某个set曾启动的参数。

    也可以通过bash传入set参数,如bash -euxo pipefail script.sh

Tags: Linux
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏