基于gcc命令说明编译过程、总结程序包管理有哪些以及包中包含什么内容的文件、程序包获取途径以及apt、yum、rpm命令选项、简要总结yum/dnf的工作原理,并搭建私有yum仓库给另一个虚拟机使用、

一、尝试基于gcc命令说明C语言编译过程

1. 分步骤编译运行

  #对hello.c进行预处理,生成hello.i文件
   gcc -E hello.c -o hello.i  
  #对预处理文件进行编译,生成汇编文件
   gcc -S hello.i -o hello.s
  #对汇编文件进行编译,生成目标文件
   gcc -C hello.s -o hello.o
  #对目标文件进行链接,生成可执行文件
   gcc hello.o -o hello

2. 一步实现编译过程

#直接编译链接生成可执行文件
 gcc hello.c -o hello

二、总结程序包管理有哪些以及包中包含什么内容的文件,尝试这些文件如何命令获取?

1. 主流的程序包管理器

1、redhat:rpm(RPM Package Manager)文件、rpm包管理器
2、debian:deb文件、dpkg包管理器

2. 程序包管理器包内的文件

1、二进制文件
2、库文件
3、配置文件
4、帮助文件

三、总结程序包获取途径,以及rpm, yum, apt命令选项示例

1. 系统发行版的光盘或系统官方网站,常用获取包的途径:

CentOS 镜像:

https://www.centos.org/download/
http://mirrors.aliyun.com
https://mirrors.huaweicloud.com/
https://mirror.tuna.tsinghua.edu.cn/
http://mirrors.sohu.com
http://mirrors.163.com

Ubuntu 镜像:

http://cdimage.ubuntu.com/releases/
http://releases.ubuntu.com

第三方支持提供

https://fedoraproject.org/wiki/EPEL
https://mirrors.aliyun.com/epel/
https://mirrors.cloud.tencent.com/epel/

软件项目官方站点

http://yum.mariadb.org/10.4/centos8-amd64/rpms/
http://repo.mysql.com/yum/mysql-8.0-community/el/8/x86_64/

搜索引擎
http://pkgs.org
http://rpmfind.net
http://rpm.pbone.net
https://sourceforge.net/

自己制作(一般不采用):将源码文件,利用工具,如:rpmbuild,fpm 等工具制作成rpm包文件

2. RPM

#rpm常用选项
rpm -ivh //显示安装进度
-q 查看安装的包名
-ql 详细显示安装的包的list
-qi 查看包的版本、包名、版本、安装时间、发行者、功能
-qf 反向查询文件来自哪个包
#[root@Rocky8 ~]# rpm -qf /etc/passwd
setup-2.12.2-7.el8.noarch
-K 检查包
-e 卸载

3. YUM

#yum常用选项
yum provides */route 已知文件名路径,查找出对应的软件仓库
yum [options] [command] [package …]
yum -y 忽略询问安装进度
yum install 安装软件工具
yum info 查询软件详细信息
yum remove 卸载程序包
yum -y install --downloadonly --downloaddir=/data/httpd httpd 只下载相关依赖包不安装
yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 清除缓存
yum makecache 构建缓存
yum history 安装历史

#yum包索引配置文件路径
/etc/yum.repos.d/*.repo

4. APT

#apt常用选项
apt install 安装
apt show 显示安装细节
apt list 列出包含条件的包
apt remove/purge 卸载(推荐使用purge卸载,可移除软件包和配置文件)
apt update 刷新存储库索引
apt upgrade 升级所有可升级的软件包
apt full-upgrade 在升级软件包时自动处理依赖关系
apt search 搜索应用程序
apt-cache stats 查看包相关信息
dpkg -S filename 查找存在的文件来自于哪个包

#apt包索引配置文件路径
/etc/apt/source.list
/etc/apt/source.list.d

四、简要总结yum/dnf的工作原理,并搭建私有yum仓库(base、epel源)给另一个虚拟机使用

1. yum/dnf的工作原理

#yum/dnf基于C/S模式
1、yum服务器存放rpm包和相关包的元数据库
2、yum客户端访问yum服务器进行安装和查询等
#yum实现过程
现在yum服务器上创建yum repository(仓库),在仓库中事先存储了众多
rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客
户端利用yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询
元数据是否存在相关的包及依赖关系,自动从仓库中找到相关的包下载并安装。

2、私有yum仓库搭建

1. yum客户端配置

/etc/yum.conf			#为所有仓库提供公共配置
/etc/yum.repo.d/*.repo  #为每个仓库提供配置文件	

man 5 yum.conf 查看帮助

repo仓库配置文件指向的定义:
[BaseOS]
name=BaseOS
baseurl=file://
		http://
		https://
		ftp://
gpgcheck=[0|1]  //校验合法性 ,0不校验,1校验
enable=[0|1]   //0禁用,1启用

#常用yum源
https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/Everything/$basearch
https://mirrors.cloud.tencent.com/epel/$releasever/Everything/$basearch/

2.yum客户端配置

安装apache服务
**执行httpd脚本**
[root@Rocky8 script]# bash install_httpd.sh
**开启httpd服务**
[root@Rocky8 html]# systemctl start httpd
下载完整仓库文件到指定路径
[root@Rocky8 ~]# dnf reposync --repoid=EPEL --download-metadata -p /var/www/html/
[root@Rocky8 html]# ls /var/www/html/epel/
Packages  repodata
验证仓库可访问
#浏览器访问:http://192.168.188.7/epel/

在这里插入图片描述

修改本地yum源
#在yum源文件中添加内容 baseurl=http://192.168.188.7/epel/Packages/
[root@Rocky8 ~]# vim /etc/yum.repos.d/test.repo
  1 [epel]
  2 name=epel repo
  3 baseurl=http://192.168.188.7/epel/Packages/ 
  4         https://mirrors.aliyun.com/epel/$releasever/Everything/$basearch
  5         https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/Everything/$basearch
  6         https://mirrors.cloud.tencent.com/epel/$releasever/Everything/$basearch/
  7 gpgcheck=1
  8 gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-8
  9 enabled=1
在客户端上查看yum仓库是否安装成功
[root@Rocky8 ~]# yum repolist 
repo id                              repo name
EPEL                                 EPEL

五、总结系统安装之后的常用初始化步骤。rocky/ubuntu

1.关闭selinux:

#临时关闭selinux:执行命令:setenforce 0
#永久关闭selinux服务
[root@Rocky8 ~]# sed -i.bak '/SELINUX=enforcing/c SELINUX=disabled' /etc/selinux/config
#验证状态
[root@Rocky8 ~]# getenforce  //初始值为enforcing
Disabled

2.关闭防火墙

[root@Rocky8 ~]# systemctl disable --now firewalld

3.别名

修改主机名:

centos 6 :需修改文件/etc/sysconfig/network/,reboot后生效
centos 7之后版本、rocky及ubuntu :hostnamectl set-hostname XXX ,bash生效

ubuntu开启远程登录功能

ding@ubuntu2204:~$ sudo su
[sudo] password for ding: 
root@UBUNTU2204:~# vim /etc/ssh/sshd_config
**文件中添加内容**
PermitRootLogin yes

root@UBUNTU2204:~# systemctl restart sshd  //重启服务生效

4.修改网卡名称eth*

centos 6

[root@centos 6 ~]# vim /etc/udev/rules.d/70-persistent-net.rules
重启网卡:service network restart

centos 7

[root@Rocky7 ~]# sed -ri '/GRUB_CMDLINE_LINUX=/s#(.*)"$#\1 net.ifnames=0' /etc/default/grub  //修改网卡名称为eth0
[root@Rocky7 ~]# grub2-mkconfig  -o /boot/grub2/grub.cfg ; reboot
[root@Rocky7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[root@Rocky7 ~]# systemctl restart network //重启网卡

centos 8 及rocky

[root@Rocky8 ~]# sed -ri '/GRUB_CMDLINE_LINUX=/s#(.*)"$#\1 net.ifnames=0#' /etc/default/grub //修改网卡名称为eth0
[root@Rocky8 ~]# grub2-mkconfig  -o /boot/grub2/grub.cfg ; reboot
[root@Rocky8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[root@Rocky8 ~]# nmcli connection reload   //重启网卡
[root@Rocky8 ~]# nmcli connection up eth0   //重启网卡

添加IP信息

centos :

[root@Rocky8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  1 DEVICE=eth0
  2 NAME=eth0
  3 #BOOTPROTO=dhcp  //自动分配IP
  4 BOOTPROTO=static  //配置静态IP
  5 IPADDR=192.168.188.7
  6 NETMASK=255.255.255.0
  7 #PREFIX=24  //子网掩码
  8 GATEWAY=192.168.188.2
  9 DNS1=192.168.188.2
 10 DNS2=223.6.6.6

**按照具体系统重启网卡即可生效**

ubuntu :

root@UBUNTU2204:~# sed -ri '/GRUB_CMDLINE_LINUX=/s#(.*)"$#\1 net.ifnames=0#' /etc/default/grub //修改网卡名称为eth0
root@UBUNTU2204:~# grub2-mkconfig  -o /boot/grub2/grub.cfg ; reboot
root@UBUNTU2204:~# vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: [192.168.188.10/24]
      gateway4: 192.168.188.2
      nameservers:
        addresses: [192.168.188.2]
root@ubuntu2204:~# sudo netplan apply //生效配置

5.配置yum源仓库

系统源,EPEL源

6.最小化安装系统后,建议安装常用软件

yum -y install autofs vim-enhanced tcpdump autofs chrony lrzsz tree telnet ftp lftp redhat-lsb-core bash-completion net-tools postfix wget bzip2 zip unzip xz lsof mlocate man-pages rsync

六、解读一键安装httpd脚本,并自行实现一个一键安装脚本

[root@Rocky8 script]# vim install_httpd.sh 

  1 #!/bin/bash
  2 # **********************************************************
  3 # * Author        : DingBaoHang
  4 # * QQ            : 904748581
  5 # * Email         : m15269032515@163.com
  6 # * Create time   : 2023-05-02 03:10
  7 # * Filename      : install_httpd.sh
  8 # * Description   : 
  9 # **********************************************************
 10 CPUS=`grep -c  processor /proc/cpuinfo`
 11 HTTPD_VERSION=2.4.57
 12 INSTALL_DIR=/apps/httpd
 13 COLOR="echo -e  \E[32;1m"
 14 END="\E[0m"
 15 
 16 
 17 . /etc/os-release
 18 
 19 if [ $ID = 'rocky' -o $ID = "centos" ];then
 20     systemctl disable --now firewalld
 21     rpm -q wget || yum -y install wget
 22     yum -y install gcc make apr-devel apr-util-devel openssl-devel pcre-devel redhat-rpm-config bzip2
 23 elif  [ $ID = 'ubuntu' ];then
 24     apt update
 25     dpkg -l wget || apt -y install wget
 26     apt -y  install  libapr*  libpcre3* libssl-dev make
 27 else
 28     $COLOR"不支持此系统"$END
 29     exit
 30 fi
 31 
 32 cd /usr/local/src
 33 if [ -e httpd-$HTTPD_VERSION.tar.bz2 ];then
 34     echo "$COLOR"即将解包"$END";
 35 else
 36     wget https://dlcdn.apache.org//httpd/httpd-${HTTPD_VERSION}.tar.bz2  || { $COLOR "下载失败,退出" $END;exit ; }
 37 fi
 38 
 39 tar xf httpd-$HTTPD_VERSION.tar.bz2
 40 cd /usr/local/src/httpd-$HTTPD_VERSION
 41 ./configure --prefix=/apps/httpd
 42 make -j $CPUS && make install
 43 ln -s /apps/httpd/bin/apachectl /usr/local/bin
 44 apachectl start && $COLOR"安装成功!"$END
 45 echo "安装成功请访问http://`hostname -I`"

七、总结开放系统互联OSI模型,每层作用及对应的协议

1、OSI的七层模型分布

OSI模型总共有七层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层以及应用层。

2、OSI每层模型的作用

1.物理层
	物理层用于建立维护断开物理连接,主要是网线,中继器,调制解调器等。
2.数据链路层
	数据链路层的主要功能就是合成数据块,封装成帧 与其他计算机进行通信的APP应用程序,支持APP应用程序的通信服务,同时通过端口与端口之间连接,进行物理寻址。寻找MAC地址。数据链路层主要设备是交换机。
3.网络层
   网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务,网络层进行逻辑地址寻址,实现在不同网络的选择。主要的设备是路由器。
4.传输层
    传输层位于网络层与会话层之间,传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性。里面有TCP协议,保证传输的稳定安全,UDP协议,保证传输的速度。主要的设备是防火墙。
5.会话层
     位于传输层与表示层之间,主要的功能是对话管理,数据流同步和重新同步。主要的工具像QQ,微信。
6.表示层
     位于会话层与应用层之间,表示层向上对应用层服务,向下接受来自会话层的服务。表示层为在应用过程之间传送的信息提供表示方法的服务,它只关心信息发出的语法和语义。 
7.应用层
    应用层其功能为“处理”,即通过云计算平台进行信息处理。应用层与最低端的感知层一起,是物联网的显著特征和核心所在,应用层可以对感知层采集数据进行计算、处理和知识挖掘,从而实现对物理世界的实时控制、精确管理和科学决策。

八、调整动态端口范围为20000-60000

#显示当前端口的范围

[root@Rocky8 ~]# cat  /proc/sys/net/ipv4/ip_local_port_range 
32768	60999

#临时改变端口的范围

[root@Rocky8 ~]# echo 20000 60000 > /proc/sys/net/ipv4/ip_local_port_range 
[root@Rocky8 ~]# cat  /proc/sys/net/ipv4/ip_local_port_range
20000	60000

#永久性改变端口的范围

[root@Rocky8 ~]# vim /etc/sysctl.conf 
[root@Rocky8 ~]# cat /etc/sysctl.conf 
net.ipv4.ip_local_port_range=20000 60000

九、总结TCP包头结构,TCP三次握手,4次挥手

TCP包头

1、源端口、目标端口:计算机之间进程的通信是通过端口连接的,同一时间一个端口只允许一个进程占用,所以通过源端口和目的端口就可以知道那两个进程通信。源端口、目标端口是用16位表示的,可推算计算机的端口个数为2^16,65536
2、序列号:表示本报文段所发送数据的第一个字节的编号。在TCP连接中所传送的字节流的每一个字节都会按顺序编号。由于序列号由32位表示,所以每232个字节,就会出现序列号回绕,再次从 0 开始
3、确认号:表示接收方期望收到发送方下一个报文段的第一个字节数据的编号。也就是告诉发送方:我希望你(指发送方)下次发送的数据的第一个字节数据的编号为此确认号
4、数据偏移:表示TCP报文段的首部长度,共4位,由于TCP首部包含一个长度可变的选项部分,需要指定这个TCP报文段到底有多长。它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。该字段的单位是32(4个字节为计算单位),4位二进制最大表示15,所以数据偏移也就是TCP首部最大60字节
5、SYN:同步标志位,用于建立会话连接,同步序列号;
6、ACK:确认标志位,对已接收的数据包进行确认;
7、FIN:完成标志位,表示我已经没有数据要发送了,即将关闭连接;
8、PSH:推送标志位,表示该数据包被对方接收后应立即交给上层应用,而不在缓冲区排队;
9、RST:重置标志位,用于连接复位、拒绝错误和非法的数据包;
10、URG:紧急标志位,表示数据包的紧急指针域有效,用来保证连接不被阻断,并督促中间设备尽快处理;
11、窗口大小:表示现在允许对方发送的数据量,也就是告诉对方,从本报文段的确认号开始允许对方发送的数据量,达到此值,需要ACK确认后才能再继续传送后面数据,由Window size value * Window size scaling factor(此值在三次握手阶段TCP选项Window scale协商得到)得出此值
12、校验和:提供额外的可靠性
13、紧急指针:标记紧急数据在数据字段中的位置

TCP三次握手

在这里插入图片描述

第一次握手:
客户端将TCP报文标志位SYN置为1,随机产生一个序号值seq=J,保存在TCP首部的序列号(Sequence Number)字段里,指明客户端打算连接的服务器的端口,并将该数据包发送给服务器端,发送完毕后,客户端进入SYN_SENT状态,等待服务器端确认。

第二次握手:
服务器端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务器端将TCP报文标志位SYN和ACK都置为1,ack=J+1,随机产生一个序号值seq=K,并将该数据包发送给客户端以确认连接请求,服务器端进入SYN_RCVD状态。

第三次握手:
客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务器端,服务器端检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,客户端和服务器端进入ESTABLISHED状态,完成三次握手,随后客户端与服务器端之间可以开始传输数据了。

四次挥手

在这里插入图片描述

第一次挥手:
Client端发起挥手请求,向Server端发送标志位是FIN报文段,设置序列号seq,此时,Client端进入FIN_WAIT_1状态,这表示Client端没有数据要发送给Server端了。

第二次分手:
Server端收到了Client端发送的FIN报文段,向Client端返回一个标志位是ACK的报文段,ack设为seq加1,Client端进入FIN_WAIT_2状态,Server端告诉Client端,我确认并同意你的关闭请求。

第三次分手:
Server端向Client端发送标志位是FIN的报文段,请求关闭连接,同时Client端进入LAST_ACK状态。

第四次分手:
Client端收到Server端发送的FIN报文段,向Server端发送标志位是ACK的报文段,然后Client端进入TIME_WAIT状态。Server端收到Client端的ACK报文段以后,就关闭连接。此时,Client端等待2MSL的时间后依然没有收到回复,则证明Server端已正常关闭,那好,Client端也可以关闭连接了。

十、总结IP地址 A, B, C, D 类,并解析IP地址的组成

IP地址的组成

它们可唯一标识 IP 网络中的每台设备 ,每台主机(计算机、网络设备、外围设备)必须具有唯一的地址(ip地址可以实现逻辑管理功能)

IP地址由两部分组成:IP地址=网络位+主机位
		-网络位:标识的是internet上的一个子网
		-主机位:标识的子网中的某台主机

网络 ID:标识网络,每个网段分配一个网络ID,处于高位
主机 ID:标识单个主机,由组织分配给各设备,处于低位
IPv4地址格式:点分十进制记法

IP地址 分类

A类地址:
0 0000000 - 0 1111111.X.Y.Z : 0-127.X.Y.Z
网络ID位是最高8,主机ID是24位低位
网络数:126=2^7(可变是的网络ID位数)-2
每个网络中的主机数:2^24-2=16777214
默认子网掩码:255.0.0.0
私网地址:10.0.0.0
范例:114.114.114.114,8.8.8.8,1.1.1.1,123.56.174.200,119.29.29.29

B类地址:
10 000000 - 10 111111.X.Y.Z:128-191.X.Y.Z
网络ID位是最高16,主机ID是16位低位
网络数:2^14=16384
每个网络中的主机数:2^16-2=65534
默认子网掩码:255.255.0.0
私网地址:172.16.0.0-172.31.0.0
范例:180.76.76.76172.16.0.1

C类地址:
110 0 0000 - 110 1 1111.X.Y.Z: 192-223.X.Y.Z
网络ID位是最高24,主机ID是8位低位
网络数:2^21=2097152
每个网络中的主机数:2^8-2=254
默认子网掩码:255.255.255.0
私网地址:192.168.0.0-192.168.255.0
范例: 223.6.6.6,223.5.5.5

D类地址:
组(多)播,1110 0000 - 1110 1111.X.Y.Z: 224-239.X.Y.Z
E类:保留未使用,240-255

十一、201.222.200.111/18计算主机数?子网掩码?说明计算方法。

主机数?子网掩码?

1、主机数=2^(32-18)-2=163822、子网掩码=255.255.1100 0000.0
 所以子网掩码为255.255.192.0

计算方法

CIDR:无类域间路由,目前的网络已不再按A,B,C类划分网段,可以任意指定网段的范围
CIDR无类域间路由表示法:IP/网络ID位数,如:172.16.0.100/16
netmask子网掩码:32位或128位(IPv6)的数字,和IP成对使用,用来确认IP地址中的网络ID和主机ID,对应网络ID的位为1,对应主机ID的位为0,范例:255.255.255.0 ,表现为连续的高位为1,连续的低位为0
**主机数**
CIDR表示法显示网络id是前18位,所以主机id为后14位,主机数=2^14-2=16382
**子网掩码**
子网掩码
主机IP为 201.222.200.111/18
根据CIDRD对应的子网掩码为:255.255.11000000.0 转换成二进制就是255.255.192.0

十二、当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?

判断对方主机是否在同一个网段:用自已的子网掩码分别和自已的IP及对方的IP相与,比较结果,相同则同一网络,不同则不同网段

例:
A的IP转为二进制为00001010.0.00000001.00000001
A的子网掩码为255.255.0.0转为二进制为11111111.11111111.0.0 
与自己IP相与00001010.0.0.0 转换为二进制结果为10.0.0.0  A的网段为10.0.0.0
与B的IP相与00001010.0.0.0  转换为二进制结果为10.0.0.0  B的网段为10.0.0.0
A可以同B通信,A的角度,A与B在同一个网段,所以A与B能通信

如果B与A通信
B拿自己的子网掩码和自己的IP相与得出网段为10.0.2.0。
自己的子网掩码与A的IP相与得出的网段为10.0.1.0。结果不在同一个网段,所以B与A不能通信
#与判断,有00,全11

十三、如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数

如何将10.0.0.0/8划分32个子网?

划分子网:将一个大的网络(主机数多)划分成多个小的网络(主机数少),主机ID位数变少,网络ID位数变多,网络ID位向主机ID位借n位,将划分2^n个子网。

公式:
网络数=2^可变的网络ID位数
主机数=2^主机ID的位数-2
网络ID=IP与子网掩码netmask
CIDR表示法,可以表示网络的ID的位数,IP/网络ID的位数
netmask子网掩码: 可以表示网络ID的位数,32bit二进制,对应于网络ID的位为1,对应于主机ID的位为0
划分子网:网络ID向主机借位,如果借N位,则划分2^N个子网

求每个子网的掩码?主机数?

由第一题可知划分子网后的IP为10.0.0.0/13
所以子网掩码为11111111.11111000.0.0 转换为10进制为255.248.0.0
主机数=2^(32-13)-2=524286

十四、解析/etc/sysconfig/network-scripts/ifcfg-eth0配置格式

动态配置

DEVICE=eth0 //表示这个配置文件时针对ETH0配的前面必须大写字母
NAME=eth0 //网卡名称,代表一套配置的名称
BOOTPROTO=dhcp  //自动获取ip模式
[root@Rocky8 ~]# nmcli connection reload 
[root@Rocky8 ~]# nmcli connection up eth0 //重启网卡

静态配置

[root@Rocky8 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  1 DEVICE=eth0
  2 NAME=eth0
  3 #BOOTPROTO=dhcp  //自动分配IP
  4 BOOTPROTO=static  //配置静态IP
  5 IPADDR=192.168.188.7
  6 NETMASK=255.255.255.0
  7 #PREFIX=24  //子网掩码
  8 GATEWAY=192.168.188.2
  9 DNS1=192.168.188.2
 10 DNS2=223.6.6.6
[root@Rocky8 ~]# nmcli connection reload   //重启网卡
[root@Rocky8 ~]# nmcli connection up eth0   //重启网卡

十五、通过ifconfig命令结果找到ip地址

[root@Rocky8 ~]# ifconfig | sed -rn '2s#^(.*inet )([0-9].+)( netmask.*)$#\2#p'
192.168.188.7 

十六、使用脚本判断 你主机所在网络内在线的主机IP有哪些? ping通则在线

[root@Rocky8 ~]# vim ping.sh 
  1 #!/bin/bash
  2 # **********************************************************
  3 # * Author        : DingBaoHang
  4 # * Email         : m15269032515@163.com
  5 # * Create time   : 2023-05-06 13:17
  6 # * Filename      : ping.sh
  7 # * Description   : 
  8 # **********************************************************
  9 #!/bin/bash
 10 for i in $(seq 254)
 11 do
 12     ping -c1 192.168.188.${i} >> /dev/null
 13     if [ $? -eq 0 ];then
 14         echo "192.168.188.${i}"
 15         echo "192.168.188.${i}" >> /apps/ip_$(date +%F-%H).log
 16     fi
 17 done
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大海绵啤酒肚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值