开发工程师必会的Linux命令

作者: JavaQ | 来源:发表于2017-10-25 22:27 被阅读231次

    之前分享过一篇有关Linux的操作命令,内容很全,但是比较基础。然而,实际工作中用到的比那些稍复杂些,本篇分享一些开发工程师必须具备的

    1.日志查询类

    • 按关键字不分页查询
      grep "applyId” app.log //applyId为要查询的关键字,app.log为日志名

    • 按关键字从前往后分页查询
      cat -n app.log | grep "applyId" | more
      以上命令会分页输出,使用空格键翻页,使用回车键显示更多

    • 按关键字只显示最后M行查询
      tail -n M app.log | grep “applyId” //M为行数

    • 按关键字动态显示最新M行查询
      tail -f M app.log | grep “applyId" //M为行数

    • 日志太多,将相关日志输出到文件后查看
      cat -n app.log | grep "applyId" >app-new.log //app-new.log为文件名

    • 按日期范围查询
      sed -n '/2017-10-17 10:10:10/,/2017-10-17 10:15:00/p' app.log
      注意:
      2017-10-17 10:10:10 和 2017-10-17 10:15:00必须是日志中真实打印输出过的

    • 动态输出最新M行日志
      tail -100f app.log

    2.端口查询类

    • 查看端口使用情况
      netstat -tln

    • 查看指定端口使用情况
      netstat -ano | grep 2181 //查看2181端口使用情况

    • 查看占用指定端口的进程
      sudo lsof -i :2181 //查看2181端口被哪个进程占用

    3.查看网络连接

    • 列出所有打开的网络连接(tcp和udp)
      lsof -i

    • 列出所有打开的tcp网络连接
      lsof -i tcp

    • 列出所有打开的udp网络连接
      lsof -i udp

    • 列出指定的tcp端口情况
      lsof -i tcp:80

    • 列出指定的udp端口情况
      lsof -i udp:55

    4.查看资源使用情况

    • 查看CPU使用率、内存、虚拟内存交换情况、IO读写情况
      vmstat 5 //每5秒刷新一次

    • 查看系统中各个进程的资源占用状况
      top //使用top命令后,按Shift+M, 显示结果将按照进程内存占用率排序

    • 查看内存使用情况
      free -m //以MB为单位

    • 查看磁盘空间使用情况
      df -h

    5.进程操作

    • 根据名称查询进程
      ps -ef | grep java //使用标准格式显示
      ps aux | grep java //使用BSD的格式显示

    • 杀掉进程
      kill -9 pid //pid为相应的进程号

    6.文件复制

    scp是一种安全方式的文件复制,基于ssh

    • 复制本地文件到远程机器
      复制本地文件app.config到远程192.168.10.190服务器/config/目录下
      scp /config/app.config root@192.168.10.190:/config/ //root是用户名

    • 复制远程文件到本地
      scp root@192.168.10.190:/config/app.config /config/ //root是用户名

    相关文章

      网友评论

        本文标题:开发工程师必会的Linux命令

        本文链接:https://www.haomeiwen.com/subject/kygcpxtx.html