Linux 命令小记

Posted Mr黄瑞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
    [[email protected] /]# cat test.txt 
    <server id="film-web" address="127.0.0.1" port="6881"> </server>
    [[email protected] /]# sed -n "s/\( *server.*port=\"\).*\(\".*\)/\1abc\2/p" test.txt
    <server id="film-web" address="127.0.0.1" port="abc"> </server>
    [[email protected] /]# sed -n "s/\( *server.*address=\"\).*\(\" *port\)/\1abc\2/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 / 内存占用率排序

    ps auxw --sort=%cpu
    ps auxw --sort=%mem

    查看端口占用

    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 命令小记的主要内容,如果未能解决你的问题,请参考以下文章

Linux 帮助命令小记

Linux 命令小记:dmesg命令

Linux下date命令的使用小记

Linux小记 — 命令备忘录

linux 命令小记

Linux下关机命令小记