[[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. bzoj 5068: 友好的生物

    大意: n个生物, 每个生物有k种属性, 友好度通过下式计算. , C为给定非负数组, 求友好度最大值. k比较小, 求的是最大值并且$C_i$非负, 所以可以暴力枚举正负情况去绝对值号. #incl ...

  2. C# 关键字base用法

    1.调用基类的方法 public class A { public virtual void Hello() { Console.WiriteLine("Hello"); } } ...

  3. 2 第一个Django应用 第1部分(数据库与模型)

    目标应用: 一个公开的网站,可以让访客查看投票的结果并让他们进行投票. 一个后台管理网站,你可以添加.修改和删除选票. 查看django版本 python -c "import django ...

  4. Erlang ETS Table

    不需要显示用锁,插入和查询时间不仅快而且控制为常量,这就是Erlang的ETS Table. 为什么而设计? Erlang中可以用List表达集合数据,但是如果数据量特别大的话在List中访问元素就会 ...

  5. ln 链接命令 简要说明 软硬链接关系说明

    ln [选项] 目标 -s 创建符号链接(软链接) -f 强制创建链接 -i 覆盖前先询问 -v 显示创建链接过程 ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接经常被用到 删除软链接 ...

  6. 谷歌浏览器chrome的vuejs devtools 插件的安装

    (推荐方法2) 安装方法1: 需正常打开chrome商店,搜索vuejs devtools 安装.chrome://extensions/ 开发者工具-扩展程序下启用: 方法2: github下载插件 ...

  7. ef core中如何实现多对多的表映射关系

    文档:https://docs.microsoft.com/en-us/ef/core/modeling/relationships class MyContext : DbContext { pub ...

  8. LocalDate常用技巧

    LocalDate是Java8新增的处理日期的类,使用起来比java.utils.date方便了许多.记录一些常用技巧: // 取当前日期: LocalDate today = LocalDate.n ...

  9. idea2018+maven+web新手maven指南

    CSDN上的博主详细的很 https://blog.csdn.net/hncu1306602liuqiang/article/details/82356097

  10. C#修改json文件中的某些值

    using Newtonsoft.Json; JsonSerializer serialiser = new JsonSerializer(); string newContent = string. ...