开发工程师必会的Linux命令

之前分享过一篇有关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 [email protected]:/config/ //root是用户名

  • 复制远程文件到本地
    scp [email protected]:/config/app.config /config/ //root是用户名

你可能感兴趣的:(开发工程师必会的Linux命令)