Oracle VM VirtualBox 管理器

  • 官网

    https://www.virtualbox.org/wiki/Downloads

  • 下载

    选择如下位置下载 历史版本: see VirtualBox 6.1 builds. 6.1
  • 安装VirtualBox

  • ISO 镜像下载

    https://mirrors.aliyun.com/centos/7/isos/x86_64/

    镜像下载(4.4G 2009.iso)
  • 创建

    点击新建
  • 更换存储路径

    存储路径更换
  • 添加ISO 镜像

    镜像添加
  • 设置启动顺序,保留硬盘

    设置启动顺序
  • 热键: 删除虚拟机中主机组合键,影响快捷键使用,比如:ctrl+c

    删除机组合键
    在这里插入图片描述
  • 点击启动,安装Centos7

    启动,安装Centons7
  • ISO 是否正常加载

    注意是否有绿色小点,没有,右击选择
  • 语言:建议选择英文

  • 登录进入后,输入dhclient

  • 查看IP 地址

    可用于xshell 等工具远程连接
  • 远程连接

    1
    ssh root@192.168.22.4
    • 检测sshd 服务

      1
      systemctl status sshd
    • 关闭防火墙

      1
      systemctl stop firewalld

可视化界面配置

  • 如果安装过程中选择最小安装则无需配置
  • 点击主屏幕左上角应用设置

软件包下载

  • vim 下载

    1
    yum install -y vim
  • 自动补全

    1
    yum install -y bash-completion
  • 查看ip

    1
    2
    3
    yum install upgrade
    yum install net-tools
    # 可以使用 ifconfig | ip addr(新系统可直接使用)
  • 端口信息查看

    1
    2
    3
    yum install -y lsof
    # 查看 22 端口使用情况
    lsof-i:22
  • 文件上传

    1
    2
    3
    4
    # 下载
    yum install -y lrzsz
    # 使用
    rz -E

目录信息

  • 目录

    • /opt 可选目录,存放第三方软件包
    • /usr 用户目录,一个次目录层级结构
    • /etc 系统配置文件目录
  • 列出文件和目录

    • ls -F

      / 代表目录, * 代表可执行文件
    • ls 通配符

      • ?: 任意单个字符
      • *: 零个或多个字符

基本正则表达式 BRE 集合

  • 匹配字符

  • 匹配次数

  • 位置锚定

    符号 作用
    ^ 尖角号,用于模式的最左侧,匹配以开头的行
    $ 美元符,用于模式的最右侧,匹配以结束的
    ^$ 组合符,表示空行
    . 匹配任意字符且只有一个字符,不能匹配空行
    \ 转义字符
    * 匹配前一个字符(连续出现) 0 次或1 次以上,重复0 次代表空,即匹配所有内容
    .* 组合符,匹配所有内容
    ^.* 组合符,匹配任意多个字符开头的内容
    .*$ 组合符,匹配以任意多个字符结尾的内容
    [abc] 匹配[ ] 集合内的任意一个字符,`a
    [^abc] 匹配除了^ 后面的任意字符,`a

grep

  • 过滤文件中的空行

    grep '^$' -n coder.txt
  • 过滤除空行以外的文件

    grep '^$' -n coder.txt -v
  • 二次过滤

    | grep '^#' coder.txt -v | grep '^$' -v |
    | :———————————————————-: |
    | |

sed

  • 是操作、过滤和转换文本内容的强大工具

  • 常用功能包括结合正则表达式对文件实现快速增删改查,其中查询的功能中最常用的两大功能是过滤(过滤指定字符串)、取行(取出指定行)

  • 语法

    1
    sed [选项] [sed内置命令字符] [输入文件]
    • 选项

      参数选项 说明
      -n 取消默认sed 的输出,常与sed 内置命令p 一起用
      -i 直接将修改结果写入文件,不用-ised 修改的是内存数据
      -e 多次编辑,不需要管道符
      -r 支持正则扩展
    • 常用内置命令字符

      内置字符 说明
      a append 对文本追加,在指定行后面添加一行/多行文本
      d delete 删除匹配行
      i insert 表示插入文本,在指定行前添加一行/多行文本
      p print 打印匹配行的内容,通常p -n 一起用
      s/正则/替换内容/g 匹配正则内容,然后替换内容(支持正则),结尾g 代表全局匹配
    • 匹配范围

      范围 说明
      空地址 全文处理
      单地址 指定文件某一行
      /pattern/ 被模式匹配到的每一行
      范围区间 10,20 十到二十,10,+5 10 行向下5
      步长 1~2
  • 练习

    • 文件内容

      1
      2
      3
      4
      5
      6
      7
      root:x:0:0:root:/root:/bin/bash
      bin:x:1:1:bin:/bin:/sbin/nologin
      daemon:x:2:2:daemon:/sbin:/sbin/nologin
      adm:x:3:4:adm:/var/adm:/sbin/nologin
      lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
      sync:x:5:0:sync:/sbin:/bin/sync
      shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    • 输出文件中第2,3 行的内容

      1
      sed -n '2,3p' sedTxt.txt 
    • 过滤出含有root 的字符串的行

      1
      sed -n '/root/p' sedTxt.txt
    • 删除含有root 的字符的行

      1
      2
      # -i(无: 删除的是内存中的数据)
      sed '/root/d' sedTxt.txt -i
    • 删除第2 行到结尾

      1
      sed '2,$d' sedTxt.txt -i
      删除指定行
    • 将文件中的sbin 全部替换为coder-itl

      1
      sed 's/sbin/coder-itl/g' sedTxt.txt -i
      替换(s/搜索字符/替换目标内容
    • 多次替换-e

      1
      sed -e 's/bin/qq/g' -e 's/nologin/login/g'  sedTxt.txt -i
      多次替换
    • 在文件第二行后追加内容

      1
      2
      # 第二行必须存在  2a(第二行后面) I am use sed command write 追加的信息
      sed -i '2a I am use sed command write' sedTxt.txt
    • 在第二行前追加内容

      1
      sed -i '2i insert row 2' sedTxt.txt
    • 换行写入

      1
      sed -i '2i insert row 2\n202' sedTxt.txt
      写入后换行
    • 空地址处理

      空地址处理
    • 取出IP 地址

      1
      2
      3
      4
      # 将回环地址输出到文件中
      ifconfig lo> myIp.txt
      # 获取 ip
      sed -n '2s/^.*inet//gp' myIp.txt | sed -n 's/net.*$//gp'

Xshell 免密登录

  • linux 上操作

    1
    2
    touch ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
  • xshell 上生成文件

    ②: 保存公钥
    ③: 在②的基础上点击生成的密钥,点击 导出私钥
  • 上传公钥文件到linux

    1
    2
    rz -E
    # 点击要上传的文件
    上传
  • 将公钥文件内容输出到authorized_keys

    1
    cat id_rsa_2048_.pub > authorized_keys
  • 对需要远程免密登录的服务器进行如下配置

    可以在新建,打开中点击属性进入