[[TOC]]

iostat - 查看系统I/O状况

  • -k Display statistics in kilobytes per second
  • -m Display statistics in megabytes per second.
  • -d Display the device utilization report.

示例:

[root@epic-phy-9-21 ~]# iostat -d -m
Linux 3.10.0-514.26.1.el7.x86_64 (epic-phy-9-21) 12/15/2017 _x86_64_ (32 CPU) Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 209.95 2.26 3.46 19564882 29937790
sdc 0.00 0.00 0.00 3 0
sde 0.00 0.00 0.00 3 0

sar (网络traffic)

说明:

sar - Collect, report, or save system activity information
-n { keyword [,...] | ALL }
Report network statistics. Possible keywords are DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 and UDP6. With the DEV keyword, statistics from the network devices are reported. The following values are displayed:

示例:

// 每5s抽样一次,总共抽样2次
[root@epic-phy-9-21 ~]# sar -n DEV 5 2 | grep lo
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
02:34:38 PM lo 309.60 309.60 498.68 498.68 0.00 0.00 0.00
02:34:43 PM lo 1241.20 1241.20 842.29 842.29 0.00 0.00 0.00
Average: lo 775.40 775.40 670.48 670.48 0.00 0.00 0.00

top

查看每个CPU核是使用率

操作:按键1;

top - 10:23:11 up 100 days, 14 min,  5 users,  load average: 9.25, 9.17, 9.38
Tasks: 2002 total, 11 running, 1990 sleeping, 0 stopped, 1 zombie
%Cpu0 : 7.4 us, 0.7 sy, 0.0 ni, 92.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 3.0 us, 1.3 sy, 0.0 ni, 87.3 id, 8.3 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 67.3 us, 2.6 sy, 0.0 ni, 30.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 32.2 us, 1.3 sy, 0.0 ni, 66.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 34.3 us, 1.0 sy, 0.0 ni, 64.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

线程角度来查看CPU消耗

操作:Shift+H

查看指定进程

top -p pid

byte转Mb、GB等

操作:Shift+e


awk

打印文件制定的列,并指定分隔符

  • $1: 第一列
  • -F: 指定分隔符
awk '{print $1}' -F "-" access.log

筛选指定行,并打印指定列

awk '/google/{print $5,$6}' access.log

查询length大于40的行,打印第3列

  • $0: 表示当前行
awk 'length($0)>40{print $3}' access.log

对内容进行格式化输出

awk '{line = sprintf ( "method:%s, response:%s", $3 , $7 ); print line}' access.log

将处理文本放在指定文件

awk -f testawk access.log

sed

替换文件中的item为items输出,文件内容不发生变化

sed 's/item/items/' test.properties

输出文件的12-16行

  • -n : 表示只输出指定行
sed -n '12,14p' test.properties

删除指定行输出,文件内容不发生变化

// 删除包含pool的行
sed '/pool/d' test.properties

在每行的行首插入文本

sed -e 'i\This is header of every line' test.properties

output:
This is header of every line
performance.indicator.graphite.item[1].key=pm_statistic_memory_used_size
This is header of every line
performance.indicator.graphite.item[1].targetQuery=aliasByNode(EPIC.pm.*.memory.memory.used, 2)
This is header of every line
performance.indicator.graphite.item[1].metricType=Gauge

在每行的行尾追加文本

 sed -e 'a\end' test.properties

output:
performance.indicator.graphite.item[2].metricType=Gauge
end
performance.indicator.graphite.item[2].targetParamPattern=^(?<hostId>.*)$
end
performance.indicator.graphite.item[2].skipNullMax=8
end

对匹配的行进行替换

查找/pool/匹配的行,用poolnew对匹配的行进行替换

sed -e '/pool/c\poolnew' test.properties

tcpdump抓包工具

tcpdump -i any -A tcp port 2003 and host 192.168.46.32 -vvv

参数解释:

  • -i: 表示网卡接口,如:eth0,当设置为any时,表示任一网卡;
  • -A: 以ASCII形式显示;
  • tcp port xxxudp port xxx等;
  • host xxx.xxx.xxx.xxx
  • -vvv: 多一个v就表示输出更详细一些;
  • and:多个判断条件直接的连接符;

nc命令

判断某端口是否打开

nc -zv ip host

示例:

[root@epic-phy-9-21 kubernetes]# kubectl exec epic-mgmt-4172821423-206kj -- nc -zv 172.30.29.13 8008

output:
172.30.29.13 (172.30.29.13:8008) open (当显示类似这条语句,表示该port打开)

telnet命令

判读某端口是否打开

telnet ip port

example:
telnet 192.168.3.42 2121

netstat 命令

查看某个端口是否被占用

netstat -anp | grep 8080

curl

  • -i: 包含header
  • -I: 仅仅包含Header
  • -H: 请求包含header信息
  • --request: 指定请求方法,默认是GET,可以是POST、PUT、DELETE等,一般不需要指定
  • -d: 使用post请求发送指定数据

Get方式请求token,包含header

curl -H "Content-Type:application/x-www-form-urlencoded" http://10.254.9.21:30111/v1/user/oauth/token?grant_type=password\&username=epic\&password=epic1234

POST方式请求token(多个-d将多个key-value分开)

curl -H "Content-Type:application/x-www-form-urlencoded" -d grant_type=password -d username=epic -d password=epic1234 http://10.254.9.21:30111/v1/user/oauth/token

POST方式请求token(1个-d传递多个key-value)

curl -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=password&username=epic&password=epic1234" http://10.254.9.21:30111/v1/user/oauth/token

post方式请求(raw数据,json格式)

curl -H "Content-Type:application/json" -H "Authorization:Bearer 1429a901-9236-40eb-a53c-e6c7ef71fff6" -d '{
"dateformat": "NUMERIC",
"metrics": [
{
"resourceType": "splitter",
"resourceId": "f8021c6606c7494b96d256a7c8951d89",
"metricItem": "splitter_realtime_cpu_avg_util_percent"
}
]
}' --request POST http://192.168.29.222:8008/v2/pools/7b8f0f5e2fbb4d9aa2d5fd55466dsij2/performance/query

【常用命令】Linux相关命令的更多相关文章

  1. 常用的linux基础命令

    常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...

  2. 常用的Linux系统调用命令

    常用的Linux系统调用命令   下面一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数将在前面标上“*”号以示区别.   一.进程控制 ...

  3. [ SHELL编程 ] 编程常用的ORACLE相关命令

    本文主要描述shell编程中常用的Oracle相关命令. 1.sqlplus -L/-S参数 sqlplus -L user/password #-L参数表示用户只尝试登录一次, 而不是在出错时再次提 ...

  4. day 2克隆虚拟机器minimal需要注意的问题和制作本地yum源和常用的Linux的命令

    ------- 克隆bee2 PS:因为复制机器后,又多了一个网卡eth1.本来只有一个网卡eth0,下面是解决方案. 解决克隆后eth0不见的问题 1.直接修改vi  /etc/sysconfig/ ...

  5. 开发常用Git/Linux/idea命令快捷键总结(持续更新)

    在开发过程中,会使用越来越多的命令,或快捷键,来帮助我们提高工作效率.本文记录了我在平时积累的常用命令,分享给大家. git命令 基本命令 set LESSCHARSET=utf-8 --idea T ...

  6. Django命令行相关命令 以及创建一个空白网页的步骤

    django相关命令行命令: django.admin.py是Django的一个用于管理任务的命令行工具,manage.py是对django-admin.py的简单包装,每个Django Projec ...

  7. linux 常用文本操作相关命令

    平时工作经常会对文本进行相关操作,包括读写.替换.统计等等,借此整理和学习一下有关命令. 1. cat 查看文件中的内容, -n 查看时为每一行加编号; -b 和-n类似,只不过对于空白行不编号: 2 ...

  8. 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令

    目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...

  9. Linux 基础——常用的Linux网络命令

    一.学Linux网络命令有什么好处 网络的出现,我们的生活更方便了,处理事情的效率也越来越高,也可以看到全世界文化的差异.同时我们接受新事物的信息越来越来强,新事物的信息也越来越来多.网络对于我们尔等 ...

  10. 使用配置hadoop中常用的Linux(ubuntu)命令

    生成key: $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized ...

随机推荐

  1. Flask之SQLAlchemy,flask_session以及蓝图

    数据库操作 ORM ORM 全拼 Object-Relation Mapping,中文意为 对象-关系映射.主要实现模型对象到关系数据库数据的映射 优点 : 只需要面向对象编程, 不需要面向数据库编写 ...

  2. php 添加环境变量

    1.php添加环境变量主要为了能在 cmd和软件的客户端用php来运行 首先我们要做的第一步: 添加环境变量(记住php.exe的路径,然后再环境变量中编辑path 多个用逗号分隔开,保存重启电脑) ...

  3. HTML中引用外部JS文件失效原因

    今天在练习中碰到“引用外部的一个js文件但是却失效”的情况,实在不懂,百度后才知是引用的位置不对,错误的代码如下: <head> <meta charset="UTF-8& ...

  4. 201621123075 week8-集合

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的contains源代码 indexOf中对 ...

  5. C# 中的冒泡排序

    int num; , , , , , , , , , }; ; i < arr.Length; i++) { ; j < arr.Length; j++) { if (arr[j] > ...

  6. vue+canvas踩坑之旅

    let img=new Image(); if(img.complete) { console.log('dd'); } img.src="http://localhost:8888/sta ...

  7. jQuery键盘敲击事件,换键的话换键码就可以

    $("body").keyup(function () { if (event.which == 13){ $("#Btn_login").trigger(&q ...

  8. 使用md5加密算法完成简单的登录和注册功能

    原理: 登录:后端controller层获取到客户的密码,通过下面代码:new Sha256Hash(pwd).toHex();将密码转换成md5散列,生成一个新的字符串与数据库的值进行比对,根据不同 ...

  9. python笔记12-字典

    1.定义字典#定义字典--字典里面的key是不能重复的info = { 'name':'xiaoming', 'sex':'nan', 'age':20, 'id':1,}2.字典取值 #取值:方法1 ...

  10. Problem F: 平面上的点——Point类 (VI)

    Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...