vim
三种模式:
命令模式 按行操作
dd 剪切、删除 5dd dG 全删
yy 复制光标所在行
p 粘贴
u 撤销操作
/ 搜索 /ab n 下一个 N 上一个
输入模式
a 当前光标处
i 当前光标下一位
o 当前光标下一行
末行模式
:w :q :wq :q! :wq! :set nu 显示行号 :set nonu 不显示行号 :整数 跳转到改行 :命令 执行该命令
4.1.2 配置主机名称
#修改主机名 hostname hostnamectl set-hostname Linuxprobe reboot
vim /etc/hostname
4.1.3 配置网卡信息
[root@linuxprobe ~]# cd /etc/sysconfig/network-scripts/ [root@linuxprobe network-scripts]# vim ifcfg-ens160 TYPE=Ethernet 设备类型 PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static 地址分配模式 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens160 网卡名称 UUID=f7c47cd5-af04-4dea-bb5f-6ac6c23ee862 DEVICE=ens160 设备名称 ONBOOT=yes 是否启动 IPADDR=192.168.10.10 NETMASK=255.255.255.0 GATEWAY=192.168.10.1 DNS1=192.168.10.1
#重启网络
systemctl restart NetworkManager #RHEL8
ifup ens16
4.1.4 配置Yum本地仓库
在RHEL8中,软件源分成了两部分,一个是BaseOS,另一个是AppStream
BaseOS 存储库 - BaseOS 存储库以传统 RPM 包的形式提供底层核心 OS 内容。
AppStream 存储库 - Application Stream 存储库提供用户可能希望在给定用户空间中运行的所有应用程序。
将本地的镜像挂载到/yum上
[root@localhost ~]# mkdir /yum [root@localhost ~]# mount /dev/cdrom /yum mount: /yum: WARNING: device write-protected, mounted read-only.
[root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 889M 0 889M 0% /dev tmpfs 904M 0 904M 0% /dev/shm tmpfs 904M 18M 886M 2% /run tmpfs 904M 0 904M 0% /sys/fs/cgroup /dev/mapper/rhel-root 17G 3.9G 14G 23% / /dev/sda1 1014M 170M 845M 17% /boot tmpfs 181M 20K 181M 1% /run/user/42 tmpfs 181M 3.5M 178M 2% /run/user/0 /dev/sr0 6.7G 6.7G 0 100% /yum
#出现最后一行的信息,说明已经挂载成功
在/etc/fstab文件中写入开机自动挂载 [root@localhost ~]# echo "/dev/cdrom /yum iso9660 defaults 0 0" >> /etc/fstab [root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Tue Dec 24 05:39:07 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/rhel-root / xfs defaults 0 0 UUID=e48080e4-ba01-45e5-a8fe-90ebb4c17c28 /boot xfs defaults 0 0 /dev/mapper/rhel-swap swap swap defaults 0 0 /dev/cdrom /yum iso9660 defaults 0 0
#编辑本地软件仓库源 [root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# vim AppStream.repo [AppStream] #唯一标识符 name=AppStream #仓库名称 baseurl=file:///yum/AppStream #提供的方式 enabled=1 #是否可用 gpgcheck=0 #是否校验 [root@localhost yum.repos.d]# vim BaseOS.repo [BaseOS] name=BaseOS baseurl=file:///yum/BaseOS enabled=1 gpgcheck=0 [root@localhost yum.repos.d]# ls AppStream.repo BaseOS.repo redhat.repo
1 #清理缓存、建立元数据 2 [root@localhost yum.repos.d]# yum clean all 3 Updating Subscription Management repositories. 4 Unable to read consumer identity 5 This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 6 12 文件已删除 7 [root@localhost yum.repos.d]# yum makecache 8 Updating Subscription Management repositories. 9 Unable to read consumer identity 10 This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 11 BaseOS 62 MB/s | 2.2 MB 00:00 12 AppStream 88 MB/s | 5.6 MB 00:00 13 上次元数据过期检查:0:00:01 前,执行于 2020年07月28日 星期二 15时25分49秒。 14 元数据缓存已建立。
1 [root@linuxprobe ~]# yum repolist all 2 Updating Subscription Management repositories. 3 Unable to read consumer identity 4 This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 5 Last metadata expiration check: 0:57:13 ago on Wed 14 Oct 2020 03:51:41 PM CST. 6 repo id repo name status 7 AppStream AppStream enabled: 4,672 8 BaseOS BaseOS enabled: 1,658
查看系统中可用的 DNF 软件库 dnf repolist 查看系统中可用和不可用的所有的 DNF 软件库 dnf repolist all 列出所有 RPM 包 dnf list 列出所有安装了的 RPM 包 dnf list installed 列出所有可供安装的 RPM 包 dnf list available 搜索软件库中的 RPM 包 dnf search nano 查找某一文件的提供者 dnf provides /bin/bash 查看软件包详情 dnf info nano 安装软件包 dnf install nano 删除软件包 dnf remove nano 删除无用孤立的软件包 dnf autoremove 删除缓存的无用软件包 dnf clean all 获取有关某条命令的使用帮助 dnf help clean 查看 DNF 命令的执行历史 dnf history 查看所有的软件包组 dnf grouplist 安装一个软件包组 dnf groupinstall ‘安全性工具’ 从特定的软件包库安装特定的软件 dnf -enablerepo=epel install nginx 重新安装特定软件包 dnf reinstall nano
4.2 编写shell
[root@linuxprobe ~]# vim example.sh #!/bin/bash 脚本声明 #For Example BY linuxprobe.com 注释信息 pwd 命令 ls -al
接收用户的参数
$0 当前shell脚本程序的名称
$# 总共有几个参数
$* 所有位置的参数值
$? 显示上一次命令的执行返回值
$1 第一个位置的参数值
判断用户的参数