• linux常用命令


    一、查看系统

    1、硬盘

    查硬盘占用情况

    df -h
    -h: 方便阅读

    查看当前目录的硬盘占用情况并按大小倒序

    du -sh * | sort -nr
    -h: 方便阅读
    -s: 汇总文件
    *: 显示每个目录
    sort -n: 按照数值大小排序
    sort -r: 倒序
    

    2、内存

    查看内存使用情况

    free -m
    -m: 以MB为单位
    -h: 以适合的单位
    -s: 间隔秒数刷新
    

    查看某个进程的gc情况

    jstat -gcutil xxxxx 2000 10
    2000: 每隔2秒刷新
    10: 刷新10次
    

    输出某个进程的内存dump信息

    jmap -dump:live,format=b,file=/home/dump xxxxx
    live: 存活的对象
    format=b: 以二进制形式输出
    取到的dump文件在eclipse的mat插件视图中打开(mat可以在Eclipse Maketplace中下载,注意勾选安装所有依赖插件)
    Leak Suspects是可能内存泄漏的地方,Histogram是内存中的对象、对象个数和大小,Dominator Tree是线程和线程下对象占用的空间
    在Histogram中找到最大的对象,右键List Objects --> with incoming reference查看被引用的列表,找到最大的对象,右键Merge Shortest Paths to GC Roots --> exclude all phantom/weak/soft etc. reference去除虚引用、弱引用、软引用只留下强引用,看导致对象无法被GC的强引用是什么

    3、进程

    查看进程列表

    ps -ef 查看所有用户的进程
    ps x 查看当前用户的进程

    根据进程id查找程序位置

    ls -ld /proc/xxxx/exe
    

    4、线程

    查进程中占用cpu高的线程

    ps -mp xxxxx -o THREAD,tid,time | sort -rn
    

    将线程的id从10位转到16位,可以在下面jstack中找到对应线程

    输出线程详细信息

    jstack -l xxxxx | grep xxx -A 30 > 1.txt
    -l: 输出锁相关信息

    5、网络

    查看最大句柄数

    ulimit -n
    

    查网卡信息

    ifconfig
    

    查看所有连接信息

    netstat -anp
    -a: 显示所有连接
    -n: 显示ip而不是域名
    -p: 显示进程名和进程号
    

    统计所有连接状态

    netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    

    查看连接某个端口最多的ip

    netstat -antu | grep :80 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"	",i}' | sort -nr
    

    查看端口关联的连接

    lsof -i:xxxx 

    抓包

    tcpdump tcp -i eth0 -s 0 and host xxx.xxx.xxx.xxx and port xxxx -w log.pcap
    -i:只抓经过接口eth0的包
    -s 0:抓到完整的数据包
    -w:保存在文件
    

    二、文件操作

    1、文件

    创建文件夹

    mkdir xxx
    

    创建文件

    touch xxx.txt
    

    复制文件夹

    cp -r abc /root
    -r 包括子目录和文件
    

    复制文件

    cp xxx.txt /root
    

    重命名文件

    mv a b
    

    移动文件/文件夹

    mv aaa/ bbb
    将aaa目录放入bbb目录中,如果bbb目录不存在,就变成重命名
    

    删除文件夹

    rm -r /abc
    -r 递归删除
    

    删除文件

    rm abc.txt
    

    查找文件 

    find -name xxx
    

    查找大于xx的文件

    find / -type f -size +200M

    获得文件夹及子文件的权限

    chmod -R 777 /xxx/xx
    

    修改文件夹及子文件的权限到其他用户

    chown -R group:user /xxx/xx
    

    拷贝本地文件到服务器

    yum -y install lrzsz
    rz -be
    -b 二进制传输
    -e 对控制字符转义
    

    从服务器下载文件

    sz -be xxx
    

    2、解压

     解压tar、tar.gz

    tar -zxvf aaa.tar
    -z 通过gzip指令处理压缩文件
    -x 从压缩文件中还原文件
    -v显示指令执行过程
    -f 指定压缩文件
    

    解压tar.bz2

    tar -jxvf abc.tar.bz2
    

    解压zip

    unzip abc.zip
    

    三、用户操作

    新增用户

    useradd xxx
    passwd xxx
    

    修改用户

    usermod --help
    

    删除用户

    userdel xxx
    

    切换用户

    su xxx
    

    修改密码

    passwd xxx
    

    三、其他

    1、jdk

    查找jdk文件位置

    java -verbose
    

      

  • 相关阅读:
    (九)springMvc 的 post 提交乱码
    Spring Boot + Spring Cloud 实现权限管理系统 (Spring Security 版本 )
    Spring Boot + Spring Cloud 实现权限管理系统 配置中心(Config、Bus)
    Spring Boot + Spring Cloud 实现权限管理系统 权限控制(Shiro 注解)
    Spring Boot + Spring Cloud 实现权限管理系统 (系统服务监控)
    Spring Boot + Spring Cloud 实现权限管理系统(解决跨域问题)
    SpringBoot使用CORS解决跨域请求问题
    Vue笔记:生命周期和钩子函数
    Vue + Element UI 实现权限管理系统(动态加载菜单)
    Vue + Element UI 实现权限管理系统(第三方图标库)
  • 原文地址:https://www.cnblogs.com/ctxsdhy/p/6081360.html
Copyright © 2020-2023  润新知