• 杂学第十五篇:运维人常用linux命令(文件操作、k8s操作、日志查找操作等),动态更新


    导语

    作为程序员,一个后端程序员,总是避免不了要亲自上前线进行linux运维工作,那么一些必备的运维命令必须熟练掌握。
    以下为我在工作中经常使用的运维命令,希望对你有帮助

    查找命令

    • 搜索指定路径下的名字包含指定字符的指定文件 - 【find
      注意:可以使用通配符,例如【"test*"】,指将目录名字包含test的文件。【"test?"】,指将目录名字包含test开头的文件。更详细的用法可以搜索。
      find 指定路径 -name 指定文件名
      
      • 1
    • 文件中的查找命令 - 【grep
      任何可以在linux显示文本信息的命令,都可以加 | grep 关键词 进行搜索
      例如:查找a.txt文件中字符串123
      cat a.txt | grep 123
      
      • 1
      grep还有其他常用的用法,参考【传送门
      其中最常用的是grep 关键词 -[A|B|C]数值来显示关键词下文、上文、上下文指定数值行数的内容
      例如:查看a.txt中123字符串下文10条的日志内容
      cat a.txt | grep 123 -A10
      
      • 1
      例如:查看a.txt中123字符串上文10条的日志内容
      cat a.txt | grep 123 -B10
      
      • 1
      例如:查看a.txt中123字符串上下文10条的日志内容
      cat a.txt | grep 123 -C10
      
      • 1
      grep还可搭配| wc -l来统计匹配字符的行数,这种在需要统计某些特定的日志打印次数时十分管用
      例如:统计a.txt中字符串123总共有多少行
      cat a.txt | grep 123 | wc -l
      
      • 1
    • 文件中的查找命令 - 【less
      除了grep外,less命令也是一个很好的查找日志的命令,有个时候grep有个缺陷,就是你通过shell工具连接服务器查找相关日志,grep日志太多的话,导致显示的内容超出工具能显示的最大内容,这个时候就需要用到less命令了,因为它能翻页,查看日志更简便。
      例如:
      cat a.txt | less
      
      • 1
      在通过/关键词向下搜索关键词,?关键词向上搜索关键词
      找到第一个关键词后,可以通过键盘上的[pagedown]向下翻一页,或者[pageup]向上翻动一页查看
      更多使用细节参考【传送门

    远程跳转

    通过ssh命令跳转链接到另一台服务器,只要网络连通,知道用户名密码

    ssh 用户名@ip
    
    • 1

    之后就会提示输入密码,输入不会显示明文,直接输入之后按enter键即可。
    当然,还有一个常见的情况,ssh默认的端口22被改了,这时候就得指定端口号链接

    ssh -p 端口号 用户名@ip
    
    • 1

    文件复制、删除、移动,创建

    • 文件或者文件夹的复制

      # 复制到文件A到路径A目录下
      cp 文件A 路径A
      # 示例
      cp /root/a.txt /root/A
      # 复制到目录A到路径A目录下
      cp -r 目录A	路径A
      # 示例
      cp -r /root/A /root/B
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    • 文件或文件夹的删除

      # 删除路径下制定文件
      rm 文件A 
      # 示例
      rm /root/a.txt
      # 强制删除,不会提示文件不存在
      rm -f 文件A
      # 示例
      rm -f /root/a.txt
      # 删除文件夹
      rm -r /root/A
      # 强制删除文件夹
      rm -rf /root/A
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
    • 跨服务器的文件复制

      scp 用户名@另一服务器的ip:指定路径下的文件 当前服务器下的路径
      # 示例 要把13.32.32.42服务器下/root/A/a.txt复制到当前服务器/root/A路径下
      scp root@13.32.32.42:/root/A/a.txt /root/A
      
      • 1
      • 2
      • 3
    • 文件或文件夹的移动

      mv [选项] 源文件或者目录 目标文件或者目录
      #示例 
      mv /root/A/a.txt /root/B
      #示例 移动加改名
      mv /root/A/a.txt /root/B/b.txt
      # mv命令可以用来改名
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    • 文件夹的创建

      mkdir 文件夹名
      # 示例
      mkdir /root/A
      
      • 1
      • 2
      • 3
    • 文件的创建
      一般不会创建文件,但偶尔可能需要

      touch /root/a.txt
      # 之后在里面输入内容保存即可
      
      • 1
      • 2

    文件内容修改

    • 进入文件内容编辑状态

      vi /root/a.txt
      # 如果有vim,可以使用vim
      vim /root/a.txt
      
      • 1
      • 2
      • 3
    • 修改文件内容
      键盘I键。等于insert

    • 保存修改
      点击ESC键,看到左下角的出现:号,输入wq,按enter键保存退出
      如果修改了,又不想保存,把wq指令换成q!,表示不保存强制退出编辑状态

    K8S集群环境操作

    注意:以下的服务名可不用写全,会自动匹配以此开头的服务名

    • 查看指定实例的pod
      kubectl get pod -n用户名 | grep 服务名
      
      • 1
    • 查看指定实例的日志
      # 实时刷新
      kubectl logs -f --tail=日志显示的行数 -n用户名 实例pod
      
      • 1
      • 2
    • 查找服务对应的配置文件名称
      kubectl get cm -n用户名 | grep 服务名
      
      • 1
    • 查看指定服务的配置文件信息
      kubectl -n用户名 edit cm 服务对应的配置文件名称
      
      • 1
    • 查看指定服务的部署信息
      kubectl edit deploy -n用户名 服务名
      
      • 1
    • 进入实例中查看容器内部的文件
      kubectl exec -it 实例pod /bin/bash -n用户名 
      
      • 1
    • 获取服务当前实例pod容器内部运行的jar包
      kubectl -n用户名 cp 实例pod:jar包名称 要复制保存到的路径/jar包名称
      
      • 1
    • 查找k8s环境配置域名对应的服务组件
      kubectl describe 主域名 服务名称 -n用户
      # 示例
      kubctl test redis -ntest124
      
      • 1
      • 2
      • 3
    • 重启实例
      kubectl delete -n用户名 实例pod
      
      • 1
  • 相关阅读:
    户外运动耳机推荐、这几款性能超强的户外运动耳机不可错过
    java项目-第143期ssm母婴用品网站_java毕业设计_计算机毕业设计
    Java(15)Object类
    Verilog 实现异步复位同步释放,对复位信号的第一个1进行打两拍,来消除复位信号输出的亚稳态现象
    python 学习笔记
    给电脑重装系统后修改远程桌面端口的方法
    js数组排序的六种方法
    maven常用插件详解
    远程办公软件OpenText Exceed TurboX 12.5 (最新版本)的新功能介绍
    计算机毕业设计(附源码)python足球新闻发布管理系统
  • 原文地址:https://blog.csdn.net/zhangtao0417/article/details/126628825