zoukankan      html  css  js  c++  java
  • linux

    linux运行级别  vim /etc/inittab

    0停机

    1单用户模式,用于系统维护,不能远程登录

    2不联网的多用户状态

    3 能联网的多用户状态

    4暂时无

    5图形界面

    6重启,反复不断地重启

    找回root密码:设置为单用户模式登录,用passwd root修改root密码。(单用户模式不需要root密码登录)

     

    /etc/passwd  管理用户配置文件

    /etc/shadow  用户口令配置

    /etc/group    管理组信息

     

    常用linux命令

    touch{1..10}.txt

    mkdir

    mv [移动,重命名]

    cp -r 目录  递归

    rm -r 目录    递归

    rmdir

    cat/tac  -n 文件名 | more  (-n分行数,more分页)

    more   less 用于查看大型文件,不会一下子加载出来看到哪加载哪. enter向下一页,space向下一行)

    grep:在一堆文件中查找特定字符

    >覆盖    >>追加

    cal显示日历

     

    删除java相关所有

    rpm -qa | grep java | xargs sudo rpm -e --nodeps

     

     

    常用快捷键:

    shift + pageUp向上翻动

    shift + pageDown 向下翻动

     

    软连接(快捷方式): ln  -s 文件地址 连接名

        

     

     

    查找指令: whereis  find  locate

    locate查询文件路径

    先更新数据库updatedb;   再查找 locate  hello.txt

    whereis 只从数据库中查找,只能搜索二进制文件,源代码文件

    find  强大 ,不但可以通过文件类型,文件名进行搜索,还可以通过文件时间,文件权限搜索

    sudo  find  /tmp/  -name(-user  -size)  first.txt

    sudo  find  /tmp  -newer  /tmp/homework  找到比homework更新的文件

     

     

    文件压缩解压指令:

    zip 打包后的名称   文件名(文件路径)

    -r递归打包  -q安静模式  -1...9 文件压缩级别(9压缩的最狠,压缩体积最小,耗时最久)

    unzip 解压

    unzip  压缩文件.zip  -d  指定目录

    unzip  -l  文件.zip  (只查看内容不解压)

     

    查看文件容量  du  -h  -d  文件名   (-h人类可读,-d 深度)

     

    tar命令: tar  -zcvf 压缩     tar  -zxvf   -C解压    

    tar  -cf  打包名.tar  文件名(文件路径)   对文件进行打包成 打包名.tar

    tar  -xf  打包名.tar  -C   路径          对打包名.tar进行解压到路径

     

     

     

    磁盘管理:

    主分区:最多创建四个,当存在四个的时候就没有扩展分区,也就没有逻辑分区

    扩展分区:除了主分区以外,剩下的磁盘空间都为扩展分区,扩展分区不能直接使用

    逻辑分区:在扩展分区基础上划分出的分区

    (只有主分区和逻辑分区可以格式化

    1-4号只能是主分区和扩展分区,逻辑分区从5号开始

    扩展分区不能直接使用,扩展分区基础上的逻辑分区可以使用)

     

     

    df 查看整体磁盘使用容量  df  -h  /etc  (查看/etc下的磁盘容量)

    du 查看文件夹容量  du  -h  /tmp (查看tmp目录下文件夹容量)

    fdisk 磁盘分区

    (-n添加新分区  -p 查看分区信息  -d 删除分区  -w 保存  -q直接退出)

     

     

    格式化  mkfs(make  filesystem)   mkfs.ext  磁盘名

    挂载磁盘到目录树   mount  -o  loop  -t ext4 磁盘名   目录名

    卸载已挂载磁盘 sudo  unmount  /mnt

     

     

     

    帮助命令

    something  --help

    man  something

     

     

    Linux添加定时任务 crontab

    sudo  cron  -f &    (启动crontab)

    crontab  -e  (为当前用户添加定时任务)

    (minute hour day month week  command)

    *所有

    ,和     1,10  1分钟和第10分钟

    -到     1-10  1分钟到第10分钟

    /n每  */3   每三个月执行一次

    23-7/1    从晚上23点到7点 每一个小时执行一次

    crontab%是有特殊含义的,表示换行的意思,如果要用的话必须进行转义  \%

    date +%Y%M%D  改成 date  +\%Y\%M\%D

     

     

     

    Cut命令:

    cut /etc/passwd  -d  :  -f  2,6  打印/etc/passwd :为分隔符,第二个和第六个字段

    cut  /etc/passwd  -c  -5 打印/etc/passwd 文件中每一行的前5个字符

     

     

     

     

     

    grep匹配字符串搜索:

    -n匹配行和行号    -i忽略大小写

    export  |  grep .*txt  查找以*txt结尾的环境变量

     

     

    wc统计文本

    wc -l  统计行数

    wc -w 统计单词数

    wc -c 统计字节数

     

     

    sort排序

    cat  /etc/passwd  |  sort

     

     

    正则表达式regex

    *表示前面的字符出现0-n

    +表示前面的字符至少出现一次

    ?表示前面的字符最多出现一次

    z]匹配任意小写字母 a-z

     

     

    进程管理:

    ps  -aux 显示所有进程信息

    kill  -9  pid  强制结束进程

     

    创建进程并设置优先级: nice  -n  -5  vim&

    对已经存在进程修改优先级: renice  -5  pid

     

     

     linux系统变慢 查询

    LINIX常用命令: (系统变慢原因 逐个排查)

    1. 查看整机 top     

     top查看当前机器使用情况   

    结果参数:

     

    负载均衡 load average: 0.08, 0.20, 0.23  三个值代表1分钟 5分钟 15分钟系统平均负载值, 系统负载均衡   三个值相加 /3 * 100% 如果高于 60%说明系统负担压力重

    %CPU — 上次更新到现在的CPU时间占用百分比
    %MEM — 进程使用的物理内存百分比

    uptime  简单版top

     

    2. 查看CPU vmstat

    vmstat - n 2 3        采样时间每次间隔2秒   采样3次

    结果参数:

    r   正在运行或等待cpu的进程数   理论上不能超过cpu总核数的两倍

    b  等待资源的进程数  如磁盘I/O 网络I/O等 

     

    us  用户进程消耗CPU时间百分比   如果长期大于50% 需要优化程序

    sy  系统进程消耗CPU时间百分比

    us+sy 如果大于20CPU任务重  如果大于80说明CPU不足 

    id  cpu空闲率 越高越好

     

    mpstat -P All 2    每两秒钟查看一次cpu状况

     

    内存 free

    free -m  查看内存

     

    硬盘 df

    df  -h  查看磁盘使用情况

     

    磁盘IO  iostat

    iostat -xdk 2 3  每两秒打印一次磁盘IO情况 一共三次

    rKB/s  每秒读       wKB/s  没秒写   util 一秒钟有百分之几的时间用于IO操作,接近100%时表示带宽跑满

     

    网络IO  ifstat

     ifstat 1  每秒打一次网络IO情况

     

    ps -ef | grep java     获取java进程号

     pidstat -u  1  -p   进程号   每秒钟 打印一次该进程号cpu使用情况

     pidstat -p  进程号  -r  2    每两秒钟 打印一次该进程号的内存占用情况

     pidstat -d  2  -p  进程号     每两秒钟 打印一次磁盘IO情况

     

    排查实战;

    top 命令 找到cpu占比最高的进程

    ps -ef 找到对应的进程号

    ps -mp 进程号 -o  thread,tid,time    找出进程中具体的线程号 tid

    将10进制的线程号转为16进制 (英文字母小写)

    jstack 进程号 | grep tid(十六进制的线程号)   查看日志

  • 相关阅读:
    授权管理-LDAP-介绍与环境搭建
    Gerrit系统框架介绍
    代码托管-gerrit-介绍与环境搭建
    springMVC
    spring,springMVC,mybatis项目添加maven后报500错
    SSM项目引入文件失败
    spring与mybatis整合
    幂等问题本质和业务场景的解决方案
    spring boot logback无感配置
    sentinel与hystrix对比
  • 原文地址:https://www.cnblogs.com/ttaall/p/12251007.html
Copyright © 2011-2022 走看看