常见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. FastAPI 学习之路(八)路径参数和数值的校验

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  2. Mydoom样本分析报告

    文件检测 信息 值 文件名 1.virus 文件类型 WIN 32 EXE 文件大小 41664 bytes MD5 3d466b0f8ba9f3fe03e137a34d79f682 SHA-256 ...

  3. Intellij IDEA使用姿势

    Intellij IDEA 智能补全的 10 个姿势,太牛逼了.. Intellij Idea非常6的10个姿势

  4. 【UE4 C++】UGameplayStatics 源代码

    // Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" # ...

  5. 【UE4 C++】 解析与构建 Json 数据

    准备条件 Json 格式 { "Players":[ { "Name": "Player1", "health": 20 ...

  6. 【UE4】 补丁Patch 与 DLC

    概述 UE4 中主要使用 Project Launcher 来进行补丁和DLC的制作 补丁与 DLC 都需要基于某个版本而制作 补丁 与 DLC 最后以 Pak 形式表现, 补丁的 pak 可以重命名 ...

  7. Golang通脉之错误处理

    在实际工程项目中,总是通过程序的错误信息快速定位问题,但是又不希望错误处理代码写的冗余而又啰嗦.Go语言没有提供像Java.C#语言中的try...catch异常处理方式,而是通过函数返回值逐层往上抛 ...

  8. 第31篇-方法调用指令之invokevirtual

    invokevirtual字节码指令的模板定义如下: def(Bytecodes::_invokevirtual , ubcp|disp|clvm|____, vtos, vtos, invokevi ...

  9. sip信令跟踪工具sngrep

    概述 在VOIP的使用过程中,最常见的问题就是信令不通和语音质量问题. 通常的问题跟踪手段包括日志分析.抓包分析. 抓包的工具有wireshark.tcpdump等等,如果是只针对sip信令的抓包,则 ...

  10. Beta阶段初始任务分配

    项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-计划-Beta阶段说明书 一.Beta阶段总体规划 根据用户反馈与测试结果修复alpha版本的bu ...