精灵王


  • 首页

  • 文章归档

  • 所有分类

  • 关于我

  • 搜索
设计模式-行为型 设计模式-创建型 设计模式-结构型 设计 系统设计 设计模式之美 分布式 Redis 并发编程 个人成长 周志明的软件架构课 架构 单元测试 LeetCode 工具 位运算 读书笔记 操作系统 MySQL 异步编程 技术方案设计 集合 设计模式 三亚 游玩 转载 Linux 观察者模式 事件 Spring SpringCloud 实战 实战,SpringCloud 源码分析 线程池 同步 锁 线程 线程模型 动态代理 字节码 类加载 垃圾收集器 垃圾回收算法 对象创建 虚拟机内存 内存结构 Java

Java 开发中常用Linux命令总结

发表于 2020-12-22 | 分类于 Linux | 0

作为一个Java开发人员,我们的服务基本上都是部署在Linux环境,所以常用的Linux命令必须掌握。本文不对所以的命令进行详细的解释,只给出关键的命令,如果当你看了一眼想不起它的详细用法,那就说明是时候再去学习巩固一下了。这只是我对部分知识的一个整理,方便后面学习和查阅。


查询命令帮助手册

man  <command>

进程相关

  1. 查看Java进程

    ps -ef | grep java
    
  2. 查看端口属于哪个进程

    lsof -i :8080
    
  3. 杀掉进程

    kill -9 pid #强制
    

JAVA JVM相关

  1. 查看yum库中的Java安装包

    yum -y list java*
    
  2. 使用yum安装Java

    # 注:“*”表示将java-1.8.0-openjdk的所有相关Java程序都安装
    yum -y install java-1.8.0-openjdk*    
    
  3. 显示进程信息

    jps
    
  4. 查看JVM参数

    jinfo pid
    
  5. 查看GC日志

    jstat -options 可用选项
    jstat -gccause 19692 1s 每秒输出GC情况  
    
  6. 线程dump

    jstack -l pid 
     jstack -l pid > /home/pid.log 
    
  7. 堆转储

    jmap -histo:live <pid>
    // or
    jmap -dump:live,format=b,file=d:/19692_dump  <pid>
    
  8. 后台运行进程

    nohup  java  -jar  a.jar  &
    
  9. 编译JAVA代码

    javac fileName.java
    
  10. 运行JAVA文件

    java fileName
    
  11. 代码反编译

    javap -c fileName
    

网络网关

  1. 显示网络设备信息

    ifconfig
    
  2. 下载网络文件

    wget  download_url
    
  3. 访问访问地址

    curl   www.example.com
    
  4. 地址检测

    ping www.baidu.com
    
  5. 登录远程主机

    telnet  IP <port>
    
  6. SSH 远程登录

    ssh  username@IP -p  端口号
    

权限相关

  1. 切换用户

    su -username
    
  2. 获得权限

    sudo
    
  3. 修改文件/目录权限

    chmod 777 file.txt
    
  4. 使脚本具有执行权限

    chmod  +x  ./test.sh
    
  5. 修改密码

    passwd 
    

资源占用查看

  1. 显示磁盘空间的使用情况

    ## du的英文原义为“disk usage”
    du -h
    
  2. 磁盘空间占用信息

    # disk free 以千字节为单位显示磁盘空间信息
    df -k
    
    Filesystem     1K-blocks     Used Available Use% Mounted on
    /dev/vda1       51474044 10046024  38806656  21% /
    devtmpfs          498632        0    498632   0% /dev
    tmpfs             508256       60    508196   1% /dev/shm
    tmpfs             508256      312    507944   1% /run
    tmpfs             508256        0    508256   0% /sys/fs/cgroup
    tmpfs             101652        0    101652   0% /run/user/0
    
    kbytes 文件系统中可用空间的总大小
    used 已用空间量
    avail 可用空间量
    capacity 已用空间量,表示为总容量的百分比
    mounted on 挂载点
    
    如果用户删除了一个正在运行的应用程序所打开的某个目录下的文件:
    	du命令返回的值,显示出减去了该文件后的总大小
    	df命令返回的值,则不显示减去该文件后的大小(文件句柄还在被使用),
      直到该运行的应用程序关闭了这个打开的文件(才会真正释放空间)
    
    
  3. 查看内存使用

    free -m
    
  4. 查看程序的cpu、内存使用情况

    top   top -Hp pid
    
  5. 查看端口占用情况

    netstat -ntl
    -a或--all:显示所有连线中的Socket;
    -n或--numeric:直接使用ip地址,而不通过域名服务器
    -t或--tcp:显示TCP传输协议的连线状况
    -l或--listening:显示监控中的服务器的Socket
    

文件

  1. 创建空白文件

    touch  a.txt
    
  2. 创建文件夹

    mkdir
    
  3. 删除文件或目录

    rm
    
  4. 复制文件

    cp source dest
    
  5. 远程复制

    scp user@host:a.txt  b.txt
    
  6. 移动文件

    mv file  dir/file
    
  7. 重命名文件

    mv  a.txt  b.txt
    
  8. 远程拷贝

    scp
    
  9. 查看文件,包含隐藏文件

    ls -al
    
  10. 输出当前工作目录

    pwd
    
  11. 查找文件

    find
    
  12. 查找并删除指定目录小于100k的文件:

    find /usr/local/test -size -100k -exec rm {} \;
    
  13. 解压 tar包

    tar –xvf file.tar
    
  14. unzip解压

    unzip test.zip
    tar -zxvf filename. tar.gz
    

文本查看

  1. 查看整个文本

    cat  a.txt
    
  2. 分页查看文本

    more  a.txt
    
  3. 查看文本文档的前N行

    head -n 20 a.txt
    
  4. 查看文本文档的最后N行

    tail -n 20 a.txt
    
  5. 持续动态刷新显示文本内容

    tail -f a.log
    tailf  a.log
    
  6. 浏览文本

    less a.log
    
  7. 从文本按指定字段查找

    grep "key" a.log
    
  8. 统计文本出现的次数

    grep "o" pom.xml| wc -l 
    grep "o" pom.xml -c
    
  9. 使用正则表达式匹配邮箱

    # -o显示只匹配的地方
    grep -E -o '([a-zA-Z0-9_\-\.\+]+)*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}' all.txt
    
  10. 求和

    grep '' 1 | awk -F '(ms)' '{print $1}' | awk -F ' ' '{print $2}' | awk '{sum+=$1}END{print sum}'
    查询语句耗时: 1ms
    查询语句耗时: 5ms
    查询语句耗时: 59ms
    

其他

Linux 命令学习网站

后记

其实在工作中需要用到的Linux 命令远不止于此,需要学习的命令还有很多很多,学习没有终点,们要做的就是多思考,多学习,多总结,加油!

精 灵 王 wechat
👆🏼欢迎扫码关注微信公众号👆🏼
  • 本文作者: 精 灵 王
  • 本文链接: https://jinglingwang.cn/archives/javainlinux
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
# 设计模式-行为型 # 设计模式-创建型 # 设计模式-结构型 # 设计 # 系统设计 # 设计模式之美 # 分布式 # Redis # 并发编程 # 个人成长 # 周志明的软件架构课 # 架构 # 单元测试 # LeetCode # 工具 # 位运算 # 读书笔记 # 操作系统 # MySQL # 异步编程 # 技术方案设计 # 集合 # 设计模式 # 三亚 # 游玩 # 转载 # Linux # 观察者模式 # 事件 # Spring # SpringCloud # 实战 # 实战,SpringCloud # 源码分析 # 线程池 # 同步 # 锁 # 线程 # 线程模型 # 动态代理 # 字节码 # 类加载 # 垃圾收集器 # 垃圾回收算法 # 对象创建 # 虚拟机内存 # 内存结构 # Java
⑦SpringCloud 实战:引入Sleuth组件,完善服务链路跟踪
如何实现Java类隔离加载?
  • 文章目录
  • 站点概览
精 灵 王

精 灵 王

青春岁月,以此为伴

106 日志
14 分类
48 标签
RSS
Github E-mail
Creative Commons
Links
  • 添加友链说明
© 2023 精 灵 王
渝ICP备2020013371号
0%