linux 常用命令

基础命令

  • grep 文本内容查找命令

  • find 查找文件所在位置

    1
    find . -name FILE_NAME
  • uptime 查看机器启动时间,登陆用户,平均负载等情况 [平均负载指特定时间内队列中运行的平均进程数,一般每个CPU内核对应的活动进程数不大于3个,认为系统运行正常]

  • lsof 列出系统当前打开的文件句柄

    1
    2
    lsof -p <pid>  # 查看进程打开的句柄
    lsof -i:8080 # 查看某个端口的使用方式
  • ulimit linux系统对每一个登陆的用户都限制其最大进程数和打开的最大文件句柄数,可以根据硬件资源进行自定义设置

    1
    ulimit -a # 显示当前系统对用户使用资源的限制
  • curl HTTP调用工具

  • scp 文件传输命令

    1
    scp user@ip:path local
  • dos2unix, unix2dos 常用的win和unix的换行符转换工具

  • ps 显示系统内的所有进程

    1
    ps -elf
  • top 实时查看活动进程的 CPU 和内存信息

  • pidstat 监控全部或指定进程占用系统资源的情况,包括 CPU, 内存, 磁盘 I/O, 线程切换,线程数等情况

    1
    2
    3
    pidstat -u -p 2002 # CPU情况
    pidstat -r -p 2962 # 内存情况
    pidstat -d -p 2002 # 磁盘情况

针对内存

  • free 显示系统的内存使用情况
  • pmap 报告进程中各个模块占用内存的具体情况,用于定位深层次的内存问题

针对 CPU

  • vmstat 显示关于内核进程,虚拟内存,磁盘IO,陷阱和CPU占用率的统计信息

    • buff 是 IO 系统存储的磁盘块文件的元数据的统计信息
    • cache 是操作系统用来缓存磁盘数据的缓冲区,操作系统会自动调节这个参数保障进程可用
    • cs 表示线程环境的切换次数,此数据过大时说明线程的同步机制有问题
    • si和so较大时,说明系统在频繁使用交换区,应该查看系统内存是否够用
    • bi和bo表示IO活动,根据其大小可知道磁盘IO的负载情况
  • mpstat 实时监控系统CPU的统计信息

监控磁盘IO的命令

  • iostat 监控CPU占用率,平均负载值及IO读写速度等

    1
    iostat -x
  • swapon 查看交换分区的使用情况

  • df 查看文件系统的硬盘挂载点和空间使用情况

查看网络及监控

  • ifconfig 显示挂载的网卡情况

  • ping 检测网络故障

  • telnet 远程登陆服务的标准协议

  • nc 网络模拟调试工具

  • mtr 网络连通性测试

    1
    mtr -r baidu.com # 检测丢包率
  • nslookup 检测网络中的dns服务器是否能正确解析域名

  • traceroute 提供从用户机到服务机的路径

  • sar 可以输出每秒的网卡存取速度,适合线上排查问题时使用

  • netstat 显示网络连接,端口信息等

    1
    2
    ps -elf | grep 进程  # 根据进程名查找进程ID
    netstat -nap | grep 2002 # 根据进程 ID 或端口查找进程开启的端口
  • iptraf 实时监控网络流量的交互式的界面

  • tcpdump 网络状况分析和跟踪的工具,可以用来抓包

  • nmap 扫描机器打开的端口和端口提供的服务信息

    1
    nmap -v -A localhost

高级工具

  • pstack 显示每个进程的本地调用栈

  • strace 监控应用所使用的系统调用

  • /proc 信息

    1
    2
    3
    4
    5
    cat /proc/cpuinfo   # cpu信息
    cat /proc/meminfo # 内存信息
    cat /proc/zoneinfo # 详细的内存映射信息
    cat /proc/mounts # 磁盘映射信息
    cat /proc/loadavg # 平均负载均衡
  • 摘要信息

    1
    2
    3
    md5sum file
    sha256sum file
    base64 file

gdisk

1
2
3
4
5
6
gdisk /dev/sda
b
v
b
w
y

smartctl

1
2
3
4
5
6
7
sudo apt install smartmontools
### 查看是否支持
smartctl -i /dev/sda
### 查看健康情况
smartctl -H /dev/sda
## 查看详细情况
smartctl -A /dev/sda

性能测试

网速测试

  • iperf3 工具

    1
    2
    3
    4
    # host 命令
    iperf3 -s
    # client 命令
    iperf3 -c <ip>

linux performace tools