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

导语

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

查找命令

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

远程跳转

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

ssh 用户名@ip

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

ssh -p 端口号 用户名@ip

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

  • 文件或者文件夹的复制

    # 复制到文件A到路径A目录下
    cp 文件A 路径A
    # 示例
    cp /root/a.txt /root/A
    # 复制到目录A到路径A目录下
    cp -r 目录A	路径A
    # 示例
    cp -r /root/A /root/B
    
  • 文件或文件夹的删除

    # 删除路径下制定文件
    rm 文件A 
    # 示例
    rm /root/a.txt
    # 强制删除,不会提示文件不存在
    rm -f 文件A
    # 示例
    rm -f /root/a.txt
    # 删除文件夹
    rm -r /root/A
    # 强制删除文件夹
    rm -rf /root/A
    
  • 跨服务器的文件复制

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

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

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

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

文件内容修改

  • 进入文件内容编辑状态

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

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

K8S集群环境操作

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

  • 查看指定实例的pod
    kubectl get pod -n用户名 | grep 服务名
    
  • 查看指定实例的日志
    # 实时刷新
    kubectl logs -f --tail=日志显示的行数 -n用户名 实例pod
    
  • 查找服务对应的配置文件名称
    kubectl get cm -n用户名 | grep 服务名
    
  • 查看指定服务的配置文件信息
    kubectl -n用户名 edit cm 服务对应的配置文件名称
    
  • 查看指定服务的部署信息
    kubectl edit deploy -n用户名 服务名
    
  • 进入实例中查看容器内部的文件
    kubectl exec -it 实例pod /bin/bash -n用户名 
    
  • 获取服务当前实例pod容器内部运行的jar包
    kubectl -n用户名 cp 实例pod:jar包名称 要复制保存到的路径/jar包名称
    
  • 查找k8s环境配置域名对应的服务组件
    kubectl describe 主域名 服务名称 -n用户
    # 示例
    kubctl test redis -ntest124
    
  • 重启实例
    kubectl delete -n用户名 实例pod
    
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值