https://imgup.oneone.life/app/hide.php?key=R2M2UHVFbUU1Uzc3cGN3OE9ObXRlUEx5SjdlWS9uOWowY2M9

易娃的杂货铺

tcpdump命令使用简介

简单介绍

tcpdump 是一款强大的网络抓包工具,运行在 linux 平台上。熟悉 tcpdump 的使用能够帮助你分析、调试网络数据。

要想使用很好地掌握 tcpdump, 必须对网络报文(TCP/IP 协议)有一定的了解。不过对于简单的使用来说,只要有网络基础概念就行了。

在Ubuntu16.04和Centos7上启用TCP-BBR

  1. 新增atrandys大佬的一键安装脚本,支持centos7+/debian9+/ubuntu16+:
1
2
3
wget --no-check-certificate https://raw.githubusercontent.com/cx9208/Linux-NetSpeed/master/tcp.sh
chmod +x tcp.sh
./tcp.sh
  1. 新增Google原版BBR一键安装脚本:
1
2
3
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

BBR简介

BBR 是 Google 推出的一个「TCP 拥塞控制算法」,它是以 Linux 内核模块的形式加载,可以最大化 Linux Server 的网络吞吐量。

简单地说,开启 BBR 的 Linux Server 和不开启 BBR 的 Linux Server,在持续传输数据方面可以有非常大的不同。

BBR 尽管还没有在主流发行版中默认开启,但 Google 已经在 YouTube 网站上实践了很久,可以说是很成熟的一样技术了。

检测 BBR 是否开启

在开始之前,先看看 BBR 是否已经启用了,执行这条指令可以返回当前 Linux 内核可以使用的 TCP 拥堵控制算法:

grep

用法: grep [选项]… PATTERN [FILE]… 在每个 FILE 或是标准输入中查找 PATTERN。 默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。 例如: grep -i 'hello world' menu.h main.c

  • 正则表达式选择与解释:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    
      -E, --extended-regexp     PATTERN 是一个可扩展的正则表达式(缩写为 ERE)
      -F, --fixed-strings       PATTERN 是一组由断行符分隔的字符串。
      -G, --basic-regexp        PATTERN 是一个基本正则表达式(缩写为 BRE)
      -P, --perl-regexp         PATTERN 是一个 Perl 正则表达式
      -e, --regexp=PATTERN      用 PATTERN 来进行匹配操作
      -f, --file=FILE           从 FILE 中取得 PATTERN
      -i, --ignore-case         忽略大小写
      -w, --word-regexp         强制 PATTERN 仅完全匹配字词
      -x, --line-regexp         强制 PATTERN 仅完全匹配一行
      -z, --null-data           一个 0 字节的数据行,但不是空行
    

Linux下各文件夹的作用

下面内容对应环境为:Ubuntu 16.04

首先放一张根目录下的文件夹图

https://qiniu.oneone.life/img/20220129141454.png

boot 该文件夹存放引导加载器(bootstrap loader)使用的文件,一般我们不会使用这里面的文件

Jmeter

脚本规范:

  • 目录结构按系统级别区分不同的jmx文件,每个系统一个jmx文件进行管理

  • 线程组作为模块级别,命名格式为模块名称

  • 接口作为用例级别,命名格式类似为 :

Linux常用命令

系统

  • uname -a**

    查看内核/操作系统/CPU信息

  • head -n 1 /etc/issue

    查看操作系统版本

  • *cat /proc/cpuinfo

    查看CPU信息

  • hostname**

    查看计算机名

Ubuntu root用户下java -version无法获取java环境变量解决办法

问题现象

​ 按照网上配置java环境变量的方法在/etc/profile文件中添加如下内容,配置之后,如果重启系统后切换到root用户无法获取已配置的java环境变量,在普通用户下可以获取到

1
2
3
4
5
6
7
export JAVA_HOME=/usr/local/java/jdk1.8.0_65

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

解决办法

让其他用户使用oh-my-zsh

如果使用wt用户安装配置了oh-my-zsh,其他用户想要使用相同的主题和配置,可以参考https://askubuntu.com/questions/521469/oh-my-zsh-for-the-root-and-for-all-user 这里介绍一种更简单的方法(亲测有效): 比如让root用户使用和wt用户相同的配置:

Docker-常用基础命令

  • docker 服务重启,关闭,启动及版本查看
1
2
3
4
5
 [root@localhost /] systemctl restart docker.service  #重启服务
 [root@localhost /] systemctl stop docker.service     #关闭服务
 [root@localhost /] systemctl start docker.service    #启动服务
 [root@iZm5e3hwzuo58e05kxjiifZ /] docker -v #docker版本查看
 Docker version 18.06.1-ce, build e68fc7a
  • docker 搜索/下载/查看镜像