常见shell : bash   sh  zsh

windows: git bash    cygwin

MAC : terminal iterm

netstat

  是linux下用于显示网络状态的命令。通过它能统计端口情况,网络连接状态,路由表等信息。在网络开发或运维中,经常会使用netstat来查看网络状态。

  常用参数说明:

    -l或–listening 显示监控中的服务器的Socket。
    -n或–numeric 直接使用IP地址,而不通过域名服务器。
    -p或–programs 显示正在使用Socket的程序识别码和程序名称。
    -t或–tcp 显示TCP传输协议的连线状况。
  日常用法:

    netstat -tnlp
    netstat -tnp
  原文链接:https://blog.csdn.net/weixin_43627624/article/details/107133778

范例:

  netstat -tnp | grep ":22" | awk '{print $5}' | awk -F: '{print $1}' | uniq -c | sort -nr |wc -l

  查看当前网络连接状态,查找关于:22的网络连接,取第五列数据,在第五列数据中以:为分隔符取第一列,去重并统计数量,按数字排序并倒序排序,统一共有多少行。

  head -3  jmeter.log

  查看前三行

  more jmeter.log

  less jmeter.log     -----less 更好用,查询,上下键可以浏览数据

  

  diff 1 2  比较1 和 2 的区别

  cat 120601.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 3

  less 120601.log | awk '{print $7}'| awk -F? '{print $1}' | grep "/topics/[0-9]*/"

  less 120601.log | awk '{print $7}'| awk -F? '{print $1}' | grep  "/topics/[0-9][0-9]5"

  less 120601.log | grep topics | grep -E "/topics/[0-9]{1,10}[?]{1}" | sed -E 's#[0-9]{1,10}#:int:#g' | awk '{print $7}' | sort | uniq -c

  grep topics 120601.log | awk '{print $7}' | sed 's#?.*##g'

  grep topics 120601.log | awk '{print $7}' | sed 's#?.*##g' | sed 's#/topics/[0-9]*$#/topics/topics#' | sort | uniq -c | sort -nr |head -5

  grep topics 120601.log | awk '{print $7}' | sed 's#?.*##g' | sed 's#/topics/[0-9]*$#/topics/topics#' | sed 's#/topics/[0-9]*/replies/[0-9]*/.*#topics/replies#' | sort | uniq -c | sort -nr |head -5

  grep topics 120601.log | grep -v "topoooo"   过滤掉topoooo的信息

http常见协议

  200 30x 400 404 500 503

ps :查看 Linux 中当前运行的进程的命令

  man ps

  ps -ef 斜杠分隔 标准格式输出 ps -e  打印所有进程

    UID    //用户ID、但输出的是用户名 
    PID    //进程的ID 
    PPID    //父进程ID 
    C      //进程占用CPU的百分比 
    STIME  //进程启动到现在的时间 
    TTY    //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 
    CMD    //命令的名称和参数  

    

  ps -eo 获取少数字段,可以进行分析

  ps -o pid 只打印有用的数据

  ps aux  用BSD的格式来显示

    USER      //用户名 
    %CPU      //进程占用的CPU百分比 
    %MEM      //占用内存的百分比 
    VSZ      //该进程使用的虚拟內存量(KB) 
    RSS      //该进程占用的固定內存量(KB)(驻留中页的数量) 
    STAT      //进程的状态

      D      //无法中断的休眠状态(通常 IO 的进程); 
      R      //正在运行可中在队列中可过行的; 
      S      //处于休眠状态; 
      T      //停止或被追踪; 
      W      //进入内存交换 (从内核2.6开始无效); 
      X      //死掉的进程 (基本很少见); 
      Z      //僵尸进程; 
      <      //优先级高的进程 
      N      //优先级较低的进程 
      L      //有些页被锁进内存; 
      s      //进程的领导者(在它之下有子进程); 
      l      //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); 
      +      //位于后台的进程组;
    START    //该进程被触发启动时间 
    TIME      //该进程实际使用CPU运行的时间

  

  for i in {1..8};do sleep 1 ; ps -o %cpu -p pid; done   -------ps -o %cpu -p pid循环八次

  for i in {1..8};do sleep 1 ; ps -o %cpu,%mem -p pid; done   -------ps -o %cpu -p pid循环八次

kill -9 pid    关闭进程

top

  经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

  -d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。

   -b:以批次的方式执行top。

  -n:与-b配合使用,表示需要进行几次top命令的输出结果。

  -p:指定特定的pid进程号进行观察。

  ?:显示在top当中可以输入的命令

  P:以CPU的使用资源排序显示

  M:以内存的使用资源排序显示

  N:以pid排序显示

  T:由进程使用的时间累计排序显示

  k:给某一个pid一个信号。可以用来杀死进程

  r:给某个pid重新定制一个nice值(即优先级)

  q:退出top(用ctrl+c也可以退出top)。

  top -b -p 1132 -n 2 -d 1 | grep --line-buffered 1132 | awk 'BEGIN{print "CPU MEM"}{print $9,$10;c+=$9;m+$10}END{print "-------";print c/NR,M/NR}'

  

  top -b -p 1132 -n 2 -d 1 | grep --line-buffered 1132 | awk 'BEGIN{print "CPU MEM avgc avgs"}{c+=$9;m+=$10}{print $9,$10,c/NR,m/NR}'

  

  jobs -l 查看当前运行进程

  kill pid 杀掉命令

  

  

  

【linux系统】命令学习(八)bash 编程实战学习的更多相关文章

  1. Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程

    Shell高级编程视频教程-跟着老男孩一步步学习Shell高级编程实战视频教程 教程简介: 本教程共71节,主要介绍了shell的相关知识教程,如shell编程需要的基础知识储备.shell脚本概念介 ...

  2. (转)跟着老男孩一步步学习Shell高级编程实战

    原文:http://oldboy.blog.51cto.com/2561410/1264627/  跟着老男孩一步步学习Shell高级编程实战 原创作品,允许转载,转载时请务必以超链接形式标明文章 原 ...

  3. 跟着老男孩一步步学习Shell高级编程实战

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://oldboy.blog.51cto.com/2561410/1264627 本sh ...

  4. Linux 常用命令解析和Bash Shell使用示例脚本演示

     摘要 Linux命令是基于文本格式输入输出的一种程序,依照Unix哲学中强调的程序功能简单,输入宽松,输出严谨,各种程序组合能够具有更强大的功能,而具有这样的灵活性的主要原因是Linux规定程序 ...

  5. 大三仍是Linux系统小白的我给大家讲讲学习历程

    我与Linux结缘是在大三的时候.我与Linux熟识是在偶然遇到<Linux就该这么学>的时候.因为我是电子信息工程专业,在高年级时开设了嵌入式课程,嵌入式系统是一种专用的计算机系统,作为 ...

  6. java并发编程实战学习(3)--基础构建模块

    转自:java并发编程实战 5.3阻塞队列和生产者-消费者模式 BlockingQueue阻塞队列提供可阻塞的put和take方法,以及支持定时的offer和poll方法.如果队列已经满了,那么put ...

  7. Linux系统--命令行安装weblogic10.3.6

    Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

  8. 大数据学习笔记——Hadoop编程实战之Mapreduce

    Hadoop编程实战——Mapreduce基本功能实现 此篇博客承接上一篇总结的HDFS编程实战,将会详细地对mapreduce的各种数据分析功能进行一个整理,由于实际工作中并不会过多地涉及原理,因此 ...

  9. Linux系统从新手到运维老鸟学习指南

    Linux是在1990年底到1991年由芬兰大学的学生LinusTorvalds利用Minix操作系统作为开发平台编写了内核,目前由世界各地的爱好者共同开发和维护的与UNIX兼容的操作系统,也是自由和 ...

随机推荐

  1. webRTC中语音降噪模块ANS细节详解(一)

    ANS(adaptive noise suppression) 是webRTC中音频相关的核心模块之一,为众多公司所使用.从2015年开始,我在几个产品中使用了webRTC的3A(AEC/ANS/AG ...

  2. 从0到1使用Kubernetes系列——Kubernetes入门

    基本概念 Docker 是什么 Docker 起初是 dotCloud 公司创始人 Solomon Hykes 在法国的时候发起的一项公司内部项目,Docker 是基于 dotCloud 公司多年云服 ...

  3. VirtualBox上安装Debian10个人备忘笔记

    准备 VirtualBox 下载链接:Downloads – Oracle VM VirtualBox,下载完成后安装即可. Debian 下载链接:通过 HTTP/FTP 下载 Debian CD/ ...

  4. 将Oracle数据库数据每天备份恢复一次数据到另一台服务器上两份数据

    1.创建用户,授权,创建测试数据 创建用户 CREATE USER test identified by 123; 授权 grant dba to test; 创建测试数据 create table ...

  5. Python读取网页表格数据

    学会了从网格爬取数据,就可以告别从网站一页一页复制表格数据的时代了. 说个亲身经历的事: 以前我的本科毕业论文是关于"燃放烟花爆竹和空气质量"之间关系的,就要从环保局官网查资料. ...

  6. .NET Reflector软件破解

    转自:https://blog.csdn.net/zxy13826134783/article/details/89057871 软件和注册机下载地址: 链接:https://pan.baidu.co ...

  7. SudokuSolver 1.0:用C++实现的数独解题程序 【二】

    本篇是 SudokuSolver 1.0:用C++实现的数独解题程序 [一] 的续篇. CQuizDealer::loadQuiz 接口实现 1 CQuizDealer* CQuizDealer::s ...

  8. GAN实战笔记——第二章自编码器生成模型入门

    自编码器生成模型入门 之所以讲解本章内容,原因有三. 生成模型对大多数人来说是一个全新的领域.大多数人一开始接触到的往往都是机器学习中的分类任务--也许因为它们更为直观:而生成模型试图生成看起来很逼真 ...

  9. 自定义Push/Pop和Present/Dismiss转场

    项目概述 iOS中最常见的动画无疑是Push和Pop的转场动画了,其次是Present和Dismiss的转场动画. 如果我们想自定义这些转场动画,苹果其实提供了相关的API,在自定义转场之前,我们需要 ...

  10. XSS_Labs靶场通关

    XSS-labs靶场(1-20) 开始通关!   0x01 (直接漏洞注入) 反射型xss注入 1.遇到?name=text,尝试参数注入 注入语句: <script>alert('xss ...