linux

作者: 与搬砖有关的日子 | 来源:发表于2020-02-25 16:42 被阅读0次

    1、linux文件相关指令

    • 创建目录:mkdir
    • 创建文件:touch
    • 删除目录:rm -rf
    • 复制文件:cp
    • 两台机器传输文件:scp
    • 修改文件:vi
    • 压缩:
      .tar解包:tar xvf FileName.tar;.tar打包:tar cvf FileName.tar DirName
      .zip解压:unzip FileName.zip;.zip压缩:zip FileName.zip DirName
      .rar解压:rar x FileName.rar; .rar压缩:rar a FileName.rar DirName
    • 修改权限:chmod命令是非常重要的,用于改变文件或目录的访问权限

    2、linux进程相关指令

    • 查看当前进程:ps -ef|grep “##”
    • 杀死进程:kill -15 pid(注:-9是必杀,-15大部分程序会先释放自己的资源,然后再停止)
    • 根据端口号查看进程:lsof -i:8888
    • 根据进程ID查看进程的具体信息:ps axu|grep 2643
    • 根据进程ID查看进程占用的端口号:netstat -nap | grep 22244
    • 查看磁盘使用情况:df -lh
    • 查看网络是否连通:netstat

    3、查看日志

    • 查看文件100行到200行:
    head -n 200 filename | tail -n 100
    
    • Linux下统计出现次数最多的指定字段值 参考
    获取并显示“data.txt”文件的每一行内容:
    cat data.txt
    
    显示传入的每一行中第四个字段:
    cat data.txt | awk '{print $4}'
    
    从传入字符串的第八位开始,截取字符串到最后:
    cat data.txt | awk '{print $4}' | cut -c 8-
    
    去掉传入字符串中包含的 ' 字符:
    cat data.txt | awk '{print $4}' | cut -c 8- | sed "s/'//g"
    
    对结果进行排序:
    cat data.txt | awk '{print $4}' | cut -c 8- | sed "s/'//g" | sort
    
    去重并统计每种字符串出现的次数:
    cat data.txt | awk '{print $4}' | cut -c 8- | sed "s/'//g" | sort | uniq -c | sort
    
    显示结果中的最后一行:
    cat data.txt | awk '{print $4}' | cut -c 8- | sed "s/'//g" | sort | uniq -c | sort | tail -n 1
    
    

    查看压缩日志文件

    zcat syslog_info.2020-11-09.log.gz | grep 'supplementRequest' | grep '18522009210'
    

    4、CPU占用过高如何排查

    a. top 指令显示进程找到占用内存最高的进程号
    b. top -p 4606 -H 找到占用内存过高的子进程
    c. printf "%x \n" 4648 将子进程id转化为16进制
    d. jstack 4606|grep 1228 -C 30 根据子进程id和父进程id显示栈的信息

    5、其他

    • awk:是一种处理文本文件的语言,是一个强大的文本分析工具。以文件的一行内容为处理单位的。awk读取一行内容,然后根据指定条件判断是否处理此行内容,若此行文本符合条件,则按照动作处理文本,否则跳过此行文本,读取下一行进行判断。
    [root@localhost zabbix_agentd.d]# echo "aa bb cc  dd" | awk '{ print $0}'
    aa bb cc  dd //$0表示整行内容
    [root@localhost zabbix_agentd.d]# echo "aa bb cc  dd" | awk '{ print $1}'
    aa
    [root@localhost zabbix_agentd.d]# echo "aa bb cc  dd" | awk '{ print $2}'
    bb
    
    • cat:1.一次显示整个文件;2.从键盘创建一个文件。 只能创建新文件,不能编辑已有文件;3.将几个文件合并为一个文件。
    • less:对文件或其它输出进行分页显示的工具,可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容。
    • sed:是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。sed是按行来处理文本内容的。在shell中,使用sed来批量修改文本内容是非常方便的。
      sed [选项] [动作]
      选项与参数:
      -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
      -e :直接在命令列模式上进行 sed 的动作编辑;
      -f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;
      -r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
      -i :直接修改读取的文件内容,而不是输出到终端。
      function:
      a :新增行, a 的后面可以是字串,而这些字串会在新的一行出现(目前的下一行)
      c :取代行, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
      d :删除行,因为是删除,所以 d 后面通常不接任何参数,直接删除地址表示的行;
      i :插入行, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
      p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
      s :替换,可以直接进行替换的工作,通常这个 s 的动作可以搭配正规表示法,例如 1,20s/old/new/g 一般是替换符合条件的字符串而不是整行

    相关文章

      网友评论

          本文标题:linux

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