zoukankan      html  css  js  c++  java
  • Linux 命令小记

    1. awk 命令
      删除重复的、非连续的行

      `awk '! a[$0]++'`

      awk 使用特殊分隔符分隔列

      echo "192.168.102.134" | awk -F . '{print $4}'
    2. sed 命令
      截取程序日志中某个时间范围内的文本

      sed -n '/^2015-05-14 15:32:30/,/^2015-05-14 16:12:09/p' access_log > log.txt

      去除空白行的 sed

      SECRET=`sed '/^$/d' file.txt | head -1`

      通过 sed 替换字特殊字符

      echo "12,34,56" | sed 's/,/ /g'

      通过 sed 替换二者之间的字符串内容
      文件内容

      <server id="film-web" address="127.0.0.1" port="6881"> </server>
      [root@localhost /]# cat test.txt 
      <server id="film-web" address="127.0.0.1" port="6881"> </server>
      [root@localhost /]# sed -n "s/( *server.*port=").*(".*)/1abc2/p" test.txt
      <server id="film-web" address="127.0.0.1" port="abc"> </server>
      [root@localhost /]# sed -n "s/( *server.*address=").*(" *port)/1abc2/p" test.txt
      <server id="film-web" address="abc" port="6881"> </server>

      注:sed 里,使用圆括号括起来的内容,可以看做是变量。使用 1 和 2 来输出。
      参见:http://coolshell.cn/articles/9104.html 圆括号匹配
      sed "s/abc/123/g" test.txt 将abc替换为123

    3. grep 命令
      查找文本内容,剔除.jar、.log文件

      grep -i -r --exclude=*.jar --exclude=*.log abc /home/

      查看 tomcat 日志特定内容

      cat catalina.out | grep timecost | grep FamilyController | awk '{if($10 > 100) print $0}'

      查看 tomcat 某天日志

      tail -800000 catalina.out | grep 2016-05-20 > 2016-05-20.log

      grep或操作

      grep -E "pattern1|pattern2" file.txt
      egrep "pattern1|pattern2" file.txt

      grep非操作

      grep -v 'pattern1' file.txt
    4. ps 命令
      cpu / 内存占用率排序

      # linux 下 取进程占用 cpu 最高的前10个进程
      ps auxw --sort=%cpu
      top b -n1 | head -17 | tail -11
      ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head -n 10


      # linux 下 取进程占用内存(MEM)最高的前10个进程
      ps auxw --sort=%mem
      ps aux | awk '{print $2, $4, $6, $11}' | sort -k3rn | head -n 10
      ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head -n 10

      查看端口占用

      lsof -i:8080
      ps -aux | grep java
      ps -aux | grep pid
    5. kill 命令
      批量关闭进程

      kill -9 `ps -ef | grep QQ | grep -v 'grep' | awk {'print $2'}`
    6. vim 命令
      vim 显示 / 隐藏行号

      :set nu 或 :set number
      :set nonu 或 :set nonumber

      vim 替换指定区域匹配文本

      : 10,20 s/10.13.92.1/10.13.92.2/g
    7. date 命令
      打印时间

      echo `date '+%Y-%m-%d %H:%M:%S'`

      时间显示

      date
      date '+%Y-%m-%d %H:%M:%S'
    8. tar 命令
      tar 打包文件,exclude 选项排除指定文件或目录

      ## 将当前目录文件打包为pak.tar.gz,排除logs文件夹
      tar zcvf ../pkg.tar.gz *  --exclude=*.txt --exclude=logs
    9. bashrc 和 profile 的区别
      https://wido.me/sunteya/understand-bashrc-and-profile
  • 相关阅读:
    同步linux服务器的时间
    Esper学习之四:Context
    Haproxy+Keepalived搭建Weblogic高可用负载均衡集群
    C++中的对象指针
    第十五周oj刷题——Problem M: C++习题 矩阵求和--重载运算符
    《人工智能教程(张仰森)》(二)
    JAVA 并发编程-线程池(七)
    新手学測试----Unit Test(单元測试)
    HDU2193-AVL-数据结构-AVL
    Visual Assist X破解版安装(vs2010助手)
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/5501765.html
Copyright © 2011-2022 走看看