java技术栈快速复习05_基础运维(linux,git)

Linux知识总览

  • linux可以简单的理解成和window一样的操作系统。

  • Linux和Windows区别

    • Linux是严格区分大小写的;
    • Linux中一切皆是文件;
    • Linux中文件是没有后缀的,但是他有一些约定俗成的后缀;
    • Windows下的软件一般是无法直接运行的Linux中。
  • 网络类型

    • 仅主机模式

      • 虚拟机只能和主机通信,不能上网,相当于用一根线将两台电脑链接起来,没有连路由器。在真机中仅主机模式模拟网卡对应的物理网卡是VMnet1。
    • 桥接

      • 虚拟机和主机在局域网中地位一样,就相当于两台电脑同时连接了Wifi,但是不好的地方就是,如果WiFi断开了,呢吗虚拟机和主机无法通信
    • nat模式

      • 通过vmnet8做中转和主机连接。让 VM 虚拟机的网络服务发挥路由器的作用,使得通过虚拟机软件模拟的主机可以通过物理主机访问外网,在真机中NAT 虚拟机网卡对应的物理网卡是 VMnet8。相当于自己的电脑成了网关,虚拟机成了子主机
  • linux的目录结构

    • root:该目录为系统管理员HOME目录
    • bin:这个目录下放着经常使用的命令
    • boot:这里存放的是启动Linux时的一些核心文件
    • etc:存放系统管理所需要的配置文件和子目录
    • home:普通用户的HOME目录
    • usr:unix shared resources(共享资源) ;默认安装软件的目录,类似Windows中的Program Files目录
    • opt:optional(可选) ;是主机额外安装软件拜访的目录
    • 须知:/usr/local 是 /usr 下的一个用户级的程序目录,用户自己安装的软件一般选择安装到这个目录下
  • linux快速入门-安装流程

    • 安装虚拟机
    • 安装操作系统-linux
    • 配置静态ip
    • 快照和克隆以及修改相关配置信息
  • 复制linux

  • 基本命令

    • # 1. 我是谁
      who am i
      
      # 2. 我在哪
      pwd
      
      # 3. 查看ip 地址
      ip a | ip address
      ifconfig
      
      # 4. 清屏
      clear
      
      # 5. ping域名|ip
      ping 地址
      
      # 6. 强制停止
      Ctrl + C
      
  • 目录命令

    • # 实现目录间切换,使用绝对路径、相对路径、特殊符号
      cd 具体路径 | 特殊符号
      # . 	 当前目录
      # ..   上一级目录
      # / 	 根目录
      # ~ 	 当前登录用户的home目录
      # - 	 返回上一次所在的目录
      
      # 查看指定目录下的内容,默认查看当前目录下内容
      ls [-ald] [目录名]
      # 目录名不填写,默认为当前目录。
      # -a:列出的全部的文件,包括隐藏文件
      # -l:列举出全部的信息=》
      # -d:仅查看目录本身
      # -h:以人们方便阅读的形式显示文件大小
      
      # 创建目录,以及创建多级目录方式
      mkdir [-p] 目录名
      # -p:代表创建多级目录时,使用
      
      # 只能删除空目录
      rmdir 目录名
      # 删除非空目录
      rm [-rf] 目录名
      # -r:代表递归删除目录下的全部内容
      # -f:不询问,直接删除
      
      # 复制目录下的全部内容
      cp -r 来源目录 目标目录
      # -r:递归复制全部内容,必填项
      # 来源目录:被复制的目录
      # 目标目录:复制到哪儿
      
      # 移动、重命名目录,会根据第二个参数指定具体操作逻辑
      mv 目录名 新目录名 | 路径
      # 如果第二个参数指定的路径不存在,就是重命名,如果第二个参数的路径存在,就是移动(剪切)
      
    • ll =》 ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名。获取内容如下

      • drwxr-xr-x 19 root root 3.0K Feb 16 22:44 dev
      • 第一字段:第一个字符代表文件的类型。
        • 字母“-”表示该文件是一个普通文件
        • 字母“d”表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写;注意:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息
        • 字母“l”表示该文件是一个链接文件。字母"l"是link(链接)的缩写.链接文件分为硬链接或符号链接两种。
        • 字母“b”的表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)
        • 字母为“c”表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节。
        • 字母为“p”表示该文件为命令管道文件。与shell编程有关的文件。
        • 字母“s”表示该文件为sock文件。与shell编程有关的文件。
      • 第一字段:第1字符的后面9个字母表示该文件或目录的权限位。
        • r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)
        • 其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
        • rwx在这三个权限中数字表现形式r:4,w:2,x:1
      • 第2字段:代表文件硬链接数
        • 软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。
        • 硬链接:我们知道,文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而读取该文件的数据信息,就是说,修改硬链接文件,其他文件也会修改
      • 第3字段:文件(目录)拥有者
      • 第4字段:文件(目录)拥有者所在的组
      • 第5字段: 文件所占用的空间(以字节为单位
        • 如果是一个文件夹(目录),则表示该文件夹的大小。请注意是文件夹本身的大小,而不是文件夹以及它下面的文件的总大小。因为在linux中文件夹是一个特殊的文件
      • 第6字段:文件(目录)最近访问(修改)时间
      • 第7字段:文件名
        • 如果是一个符号链接,那么会有一个 “->" 箭头符号,后面根一个它指向的文件名
  • 文件命令

    • # 创建空文件
      touch 文件名1 文件名2 ……
      
      # 查看文件,直接展示到最后一行
      cat 文件名
      
      # 从最后一行开始查看文件内容,展示全部
      tac 文件名
      
      # 显示文件的用时,展示行号
      nl 文件名
      
      # 查看大文件时,可以一页一页的向下翻
      # 嗯space向下翻页,退出时摁q
      more 文件名
      
      # 查看大文件时,可以任意的向上或者向下翻
      # 向上或向下翻页摁PageUp和PageDown,一行一行查看,摁光标的↑↓
      less 文件名
      
      # 只查看前几行
      head 文件名
      head -n 行数 文件名
      
      # 只查看后几行
      tail 文件名
      tail -n 行数 文件名
      # 监控日志
      tail -f 文件名
      
      # 同目录命令
      mv 文件名 新文件名 | 路径
      cp 文件名 目录
      rm [-f] 文件名
      
  • 压缩解压命令

    • Linux中常用的压缩包,大多是.tar,.tar.gz、.tar.bz2的,操作如下

    • # 解压压缩包
      tar [-zxvf] 压缩包名称 [-C 路径]
      # -z: 通过gzip的支持进行压缩和解压缩,档案名最好为*.tar.gz
      # -j: 通过bzip2的支持进行压缩和解压缩,档案名最好为*.tar.bz2
      # -x: 代表解压
      # -v: 解压时,打印详细信息
      # -f: -f选项必须放在所有选项的最后,代表指定文件名称
      # -C 路径: 代表将压缩包内容解压到指定路径
      
      # 打包成压缩包
      tar [-zcvf] 压缩包名称 文件1 文件2 目录1 目录2 ...
      # -c: 代表打包
      # 其他参数同上
      
    • Linux不仅仅针对tar类型的压缩包,也支持zip,rar这种Windows下的压缩包。不过需要安装软件针对对各种类型压缩包的操作,操作如下

    • yum -y install zip     # 打包程序
      yum -y install unzip   # 解压程序
      
      # 解压
      unzip 压缩包名称
      
      # 打包
      zip 压缩包名称 文件1 文件2 目录1 目录2 ...
      
  • 文件权限修改命令

    • 在Linux中输入ls -l 或者 ll查看文件和目录的详细信息

    • 使用chmod对文件的权限进行修改,一种使用数字,一种使用符号……

      • 数字方式方便操作,不过要修改整体权限信息
      • 符号方式更细粒度华,不过操作麻烦
    • chmod [-R] 777 文件|目录
      # rwx在这三个权限中r:4,w:2,x:1
      # -R: 当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限。
      
      chmod [-R] a=rw 文件|目录
      # user:u,group:g,other:o,all:a
      # read:r,write:w,execute:x
      # 赋予权限的方式 , 添加:+,减掉:-,设定:=
      # -R: 当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限。
      
      # 修改文件的拥有者和所属组
      chown [-R] 拥有者:所属组 文件|目录
      # 修改文件的拥有者
      chown [-R] 拥有者 文件|目录
      # 修改文件的所属组
      chgrp [-R] 所属组 文件|目录
      
  • 用户&用户组命令

    • Linux是一个多用户的操作系统,任何一个用户想要操作Linux操作系统,必须向系统管理员申请一个账号才可以,并且以这个账号的身份去操作Linux。

    • 用户的账号一方面可以帮助系统管理员追踪当前用户的操作。另一方面可以控制当前用户对系统资源访问。

    • 用户的身份除了用户本身,还会分配到指定的用户组,可以通过用户组对设置一些文件的操作权限

    • useradd [-cgd] [选项指定的具体内容] 用户名
      # -c:代表comment,给用户添加一段注释
      # -g:代表group,可以修改用户的所在组
      # -d:代表指定用户的HOME目录
      
      # 设置用户密码
      passwd 用户名
      
      # 切换用户
      su 用户名
      # [root@localhost ~]#   -> root用户在本地登录,并且当前在~目录下,#代表是超级管理员
      # [qf@localhost ~]$        -> qf用户在本地登录,并且当前在~目录下,$代表是普通用户
      
      # 删除用户
      userdel [-r] 用户名
      # -r: 代表删除用户的同时,删除该用户的HOME目录
      # 修改用户
      usermod [-cgd] [选项指定的具体内容] 用户名
      # -c:代表comment,给用户添加一段注释
      # -g:代表group,可以修改用户的所在组
      # -d:代表指定用户的HOME目录
      
      # 创建用户组
      groupadd 用户组名
      
      # 修改用户组
      groupmod [-n] [选项指定的具体内容] 用户组名
      # -n 修改用户组名称
      
      # 删除用户组
      groupdel 用户组名
      # 只能删除不存在用户的用户组
      
  • 端口相关命令

  • VIm=》Linux系统默认的编辑器;类似于Windows下的记事本、notepad++。

    • 三种操作模式切换

      • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
    • 三种操作模式

      • 命令模式:默认处于命令模式,vi将输入的字符作为命令对待,并对每个命令做出回应,但不显示这些字符;
      • 插入模式:在输入模式下,Vim 可以对文件执行写操作,类似于在 Windows 系统的文档中输入内容。
      • 末行模式:编辑模式用于对文件中的指定内容执行保存、查找或替换等操作。所有以冒号":"开始的命令将使vi处于最后一行模式,光标移动到屏幕最底一行,输入的命令将在该行显示。
    • vim常用命令

      • 命令模式常用命令

        • gg 将光标定位到文件开始处;
        • G将光标定位到文件结束处;
        • [n]G 将光标定位到第n行开始处;
        • H 光标定位到屏幕顶部;
        • M 光标定位到屏幕中间;
        • L 光标定位到屏幕底部。
        • dd删除光标所在行
        • [n]dd 删除从当前行开始的n行;
        • [n]yy 复制从当前行开始的n行;
        • p把剪切板上的内容插入到当前行;
        • . 执行上一次操作;
      • 命令模式进入插入模式

        • i:从光标当前位置开始插入;
        • a:从光标当前位置的下一个字符开始插入;
        • o:在光标位置的下行插入一个空行,再进行插入;
        • O:在光标位置的上一行插入一个空行,再进行插入;
        • I:从光标所在行的开头开始插入正文;
        • A:从光标所在行的末尾开始插入正文
      • 末行模式常用命令

        • !强制的意思,一般不单独使用
        • :w 保存当前文件;
        • :q退出vi;如果文件有修改,:q 会提示有修改,是否退出,输入y退出
        • :q!强制退出vi;如果文件有修改,:q! 会强制直接退出,并且不对文件进行保留
        • :wq保存并退出当前文件;强制性写入文件并退出,即使文件没有被修改也强制写入,并更新文件的修改时间.
        • :wq!如果文件设置为只读了的话,用 :wq命令是不能保存并退出的,但是最高权限者可通过wq!来进行文件的保存并退出文件。文件所有者通过 wq! 可以保存只读文件
        • :x保存并退出当前文件;写入文件并退出,仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间.
        • :set number / :set nu设置行号显示
        • :set nonumber / :set nonu设置行号不显示
      • 搜索命令:在文件中搜索aaa

        • :/aaa 或者/aaa从上到下查找
        • :?aaa或者?aaa从下到上查找
        • 按 **n **来搜索下一个出现的匹配结果,按大写的 N 反向搜索下一个出现的匹配结果。

git

  • 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。常见的版本控制系统有:cvs、svn、git

  • 三种分区

    • **工作区:**就是你在电脑里能看到的目录(代码编辑区)。
    • **暂存区:**一般存放在 “.git目录下” 下的index文件中(过渡层,避免误操作)。
    • **版本库:**工作区有一个隐藏目录.git (本地仓库,专门控制版本)。
  • 三种状态

    • 已修改(modified):已修改表示修改了文件,但还没保存到数据库。
    • 已暂存(staged):已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
    • 已提交(committed):已提交表示数据已经安全的保存到本地数据库。
  • git工作流程

    • 在工作目录修改文件;暂存文件,将文件快照放到暂存区域;提交更新到本地库。暂存区保存了下次将要提交的文件列表信息,一般在 Git 仓库目录中。
    • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
  • 常用命令

    • # 设置用户名和邮箱地址:
      git config --global user.name "dabin"
      git config --global user.email xxx@xxx.com
      # 查看配置信息
      git config --list
      # 查看某一项配置:
      git config user.name
      
      # 克隆项目
      git clone https://github.com/...
      # 将工作区的文件放到暂存区。
      git add .
      # 查看文件状态:
      git status
      # 提交到本地仓库
      git commit -m "add readme.md"
      # 推动到远程仓库
      git push
      
      # 列出所有提交记录
      git log
      # 列出所有提交记录以简略形式
      git log --oneline
      # 日志输出--只看最近的2条
      git log -2      
      git log --oneline -2
      
  • 忽略文件.gitignore

  • 版本回退

  • 分支

    • # 查看分支
      git branch
      # 新建分支
      git branch <分支名>
      # 创建并切换分支
      git branch -b <分支名>
      # 切换分支
      git checkout <分支名>
      # 删除分支
      git branch -d <分支名>
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/585909.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

管理能力学习笔记八:Will-Skill矩阵“盘“团队

如何把握带教中的“度”&#xff0c;才能在把事情做好的基础上&#xff0c;又能使员工获得成长呢&#xff1f; 需要做到 合理授权 & 适当辅导 如何做到&#xff1f; 通过使用 意愿-技能矩阵(Will-Skill Matrix) 辨别不同带教方法的适用情形&#xff0c;"盘"…

【Vue 2.x】学习vue之一基础部分

文章目录 Vue 一基础部分第一章1、git两个分支主分支子分支 使用方法方式1&#xff1a;采用命令的方式操作分支方式2&#xff1a;在idea中使用git的分支 向git远程仓库提交时忽略文件使用git时的一些冲突注意事项 2、Vue问题1&#xff1a;什么是Vue&#xff1f;问题2&#xff1…

网站升级提示:我用react+go重构了网站并记录了部署项目简要步骤

先贴出来地址&#xff0c;这是我网站的地址易查网 可能有细心的小伙伴们已经看到了&#xff0c;原来我的网站是这样式的 妥妥的phph5 改造 前端react框架 前段时间学习了react&#xff0c;正愁无处练手&#xff0c;就有人说我的网站很low,我感觉这正是一个好的机会&#xff…

纯血鸿蒙APP实战开发——发布图片评论

介绍 本示例将通过发布图片评论场景&#xff0c;介绍如何使用startAbilityForResult接口拉起相机拍照&#xff0c;并获取相机返回的数据。 效果图预览 使用说明 通过startAbilityForResult接口拉起相机&#xff0c;拍照后获取图片地址。 实现思路 创建CommentData类&#…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二

在本章中,我们将深入探讨 网络的开始和 结束阶段发生的情况, 我将花大量时间回顾一些重要的背景知识,这些知识是熟悉Transformer的机器学习工程师的基础知识。 如果你已经熟悉背景知识,迫不及待地想了解更多,你可以跳到下一节,重点将放在Transformer的核心部分——注意…

nacos(docker部署)+springboot集成

文章目录 说明零nacos容器部署初始化配置高级配置部分访问权限控制命名空间设置新建配置文件 springboot配置nacos添加依赖编写测试controller 说明 nacos容器部署采用1Panel运维面板&#xff0c;进行部署操作&#xff0c;简化操作注意提前安装好1Panel和配置完成docker镜像加…

深入剖析Tomcat(五) 剖析Servlet容器并实现一个简易Context与Wrapper容器

上一章介绍了Tomcat的默认连接器&#xff0c;后续程序都会使用默认连接器。前面有讲过Catalina容器的两大块内容就是连接器与Servlet容器。不同于第二章的自定义丐版Servlet容器&#xff0c;这一章就来探讨下Catalina中的真正的Servlet容器究竟长啥样。 四种容器 在Catalina中…

Unity涂鸦纹理实现

文章目录 前言实现过程UV坐标和UI坐标对齐修改像素代码 前言 心血来潮实现下场景中提供一张纹理进行涂鸦的功能。 最终实现效果: 实现过程 UV坐标和UI坐标对齐 这里的纹理使用了UGUI的Canvas进行显示&#xff0c;所以这里使用一张RawImage。 因为Unity的视口坐标是以左下角…

【Excel】excel计算相关性系数R、纳什效率系数NSE、Kling-Gupta系数KGE

对于采用的数据&#xff1a; B2:B10958是观测值的所在范围 C2:C10958是模型计算值的所在范围 一、相关系数R是用来衡量两个变量之间线性关系强度和方向的统计量。在水文学和气象学中&#xff0c;常用的相关系数是皮尔逊相关系数&#xff08;Pearson correlation coefficient&am…

Baidu Comate:“AI +”让软件研发更高效更安全

4月27日&#xff0c;百度副总裁陈洋出席由全国工商联主办的第64届德胜门大讲堂&#xff0c;并发表了《深化大模型技术创新与应用落地&#xff0c;护航大模型产业平稳健康发展》主题演讲。陈洋表示&#xff0c;“人工智能”成为催生新质生产力的重要引擎&#xff0c;对于企业而言…

线上线下收银一体化,新零售POS系统引领连锁门店数字化转型-亿发

在市场竞争日益激烈的背景下&#xff0c;没有哪个商家能够永远屹立不倒。随着互联网技术的快速发展&#xff0c;传统的线下门店面临着来自电商和新零售的新型挑战。实体零售和传统电商都需要进行变革&#xff0c;都需要实现线上线下的融合。 传统零售在客户消费之后就与商家失…

网络基础(1)网络编程套接字UDP

要完成网络编程首先要理解原IP和目的IP&#xff0c;这在上一节已经说明了。 也就是一台主机要进行通信必须要具有原IP和目的IP地址。 端口号 首先要知道进行网络通信的目的是要将信息从A主机送到B主机吗&#xff1f; 很显然不仅仅是。 例如唐僧要去到西天取真经&#xff0…

ES集群分布式查询原理

集群分布式查询 elasticsearch的查询分成两个阶段&#xff1a; scatter phase&#xff1a;分散阶段&#xff0c;coordinating node会把请求分发到每一个分片gather phase&#xff1a;聚集阶段&#xff0c;coordinating node汇总data node的搜索结果&#xff0c;并处理为最终结…

粘合/粘接/胶合聚酰亚胺PI材料使用UV胶,用的UV LED灯的波长范围及功率怎么选择?(三十九)

UV胶固化设备的UV LED波长范围是多少才能与UV胶匹配&#xff1f; UV胶固化设备的UV LED波长范围与UV胶的匹配性主要取决于所使用的UV胶的固化特性。不同的UV胶可能对UV光的波长有不同的要求。因此&#xff0c;要确定与UV胶匹配的UV LED波长范围&#xff0c;首先需要了解所使用的…

Transformer模型详解

Transformer模型实在论文《Attention Is All You Need》里面提出来的&#xff0c;用来生成文本的上下文编码&#xff0c;传统的上下问编码大多数是由RNN来完成的&#xff0c;不过&#xff0c;RNN存在两个缺点&#xff1a; 一、计算是顺序进行的&#xff0c;无法并行化&#xf…

C语言——每日一题(移除链表元素)

一.前言 今天在leetcode刷到了一道关于单链表的题。想着和大家分享一下。废话不多说&#xff0c;让我们开始今天的知识分享吧。 二.正文 1.1题目要求 1.2思路剖析 我们可以创建一个新的单链表&#xff0c;然后通过对原单链表的遍历&#xff0c;将数据不等于val的节点移到新…

【补充】图神经网络前传——图论

本文作为对图神经网络的补充。主要内容是看书。 仅包含Introduction to Graph Theory前五章以及其他相关书籍的相关内容&#xff08;如果后续在实践中发现前五章不够&#xff0c;会补上剩余内容&#xff09; 引入 什么是图&#xff1f; 如上图所示的路线图和电路图都可以使用…

Flink checkpoint 源码分析- Checkpoint barrier 传递源码分析

背景 在上一篇的博客里&#xff0c;大致介绍了flink checkpoint中的触发的大体流程&#xff0c;现在介绍一下触发之后下游的算子是如何做snapshot。 上一篇的文章: Flink checkpoint 源码分析- Flink Checkpoint 触发流程分析-CSDN博客 代码分析 1. 在SubtaskCheckpointCoo…

SQLite如何处理CSV 虚拟表(三十七)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite的DBSTAT 虚拟表&#xff08;三十六&#xff09; 下一篇:SQLite的扩展函数Carray()表值函数(三十八) ​ RFC4180格式是一种文本文件格式&#xff0c;被用于表格数据间的交互&#xff0c;也可将表格数据转化…

WebLlama:通过对话进行网页浏览的智能代理

WebLlama&#xff1a;智能网页浏览代理 WebLlama 是 McGill University 自然语言处理团队的研究项目&#xff0c;旨在开发能通过对话浏览网页的智能代理。这些代理基于 Llama-3 模型优化微调&#xff0c;基于 Llama-3-8B-Instruct 模型&#xff0c;专为网页导航和对话任务优化…
最新文章