作业一:临时配置网络+永久配置
临时配置网络
1.首先用ifconfig查看当前网络的一些配置:
2.可以看出本机网卡的一些配置:
ens33 #网卡名
192.168.16.116 #ip地址
255.255.255.0 #子网掩码
3.配置IP地址为192.168.16.222 并查看:
ifconfig ens33 192.168.16.222/24 netmask 255.255.255.0
4.配置网关为192.168.16.255 并查看:
route add default ge 192.168.16.254 netmask 255.255.255.0
永久配置。
1.打开配置文件:
路径:/etc/sysconfig/network-scripts
该路径下找到以ifcfg-网卡名命名的文件,打开。
2.更改配置文件:
DEVICE=ens33 #网卡名称
HWADDR='' #网卡mac地址
TYPE=static #静态IP
IPADDR=192.168.16.123 #IP地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.16.254 #网关地址
DNS1=192.168.16.254 #DNS服务器地址
3.重启网络服务.
systemctl restart network
4.查看现在的网络配置。
作业二:为集群内的机器设定主机名,利用/etc/hosts文件来解析自己的集群中所有的主机名,相应的,集群的配置应该改成使用主机名的方式
1.修改主机名。
主机1:hostnamectl set-hostname web1
IP:192.168.16.128
主机2:hostnamectl set-hostname web2
IP:192.168.16.222
主机3:hostnamectl set-hostname web3
IP:192.168.16.223
2.更改主机中的hosts文件。
全部都更改:hosts:
192.168.16.128 web1
192.168.16.222 web2
192.168.16.223 web3
3.测试用主机名是否可以互相PING通。
web1 ping web2 和 web3
web2 ping web1 和 web3
作业三:ssh登录,scp上传、下载,ssh秘钥登录,修改ssh server端的端口为8888然后进行登录和scp测试
1.上一题中我们已经建立好了相应的主机名,现在来测试ssh登录和远程上传和下载。
主机1(web1):
ssh web2
ssh web3
scp /test/1.txt web2:/scp
scp /test/1.txt web3:/scp
用同样的方法测试另外两台。
2.直接ssh连接,每次都需要输入密码,下面咱们建立密钥登录。
创建密钥,拿主机1做实验:
ssh-keygen
创建后,会在/root/.ssh/下产生相应的文件。
将密钥发送给另外两台主机。
ssh-copy-id web2
ssh-copy-id web3
web1测试连接web2和web3
3.更改ssh server的端口号为8888,测试登录和scp登录。
我们还是用主机1先做实验。
ssh server的配置文件在:/etc/ssh/sshd_cpnfig下。
更改端口号为8888。
在web2测试连接和远程上传下载。
ssh web1 -p 8888
scp -P 8888 /test/1.txt web1:/test
作业五:整理bash命令类型,验证寻找一个命令的优先级
1、别名 由alias指定
2、复合命令
3、函数 由function指定
4、内置命令 builtin命令
5、脚本或可执行函数 $path
验证别名、内部命令和脚本可执行命令优先级
别名、内置函数和脚本函数的比较
#alias cd = 'll' #新建一个别名叫cd,但实际指向/bin/ls的别名
#cp /bin/hostname /usr/local/sbin/cd #在PATH第一个目录里放入一个cd命令,实际代表的是hostname命令
#cd #执行CD命令,首先找到的是别名cd
#unalias cd #删除别名cd ,再执行的是系统内置命令
#cd /test #内置命令,进入目录test
#/usr/local/sbin/cd #脚本函数,实际上执行的是内置命令:hostname
优先顺序总结:
1、别名
2、内置命令
3、脚本函数
别名、复合命令和函数的比较。
#alias for='ll' #定义一个别名
#function for(){ echo 'my name is yue!'; }#定义一个函数
#for #这里使用的是别名。
# for((i=1;i<3;i++));do echo $i;done #执行的是复合函数
#function cd(){ echo 'my name is yue!' }#定义一个函数
#cd #执行的是函数的cd
优先顺序总结:
1、别名。
2、复合命令。
3、函数。
4、内置命令
命令优先顺序总结:
1.别名
2.复合命令
3.函数
4.内置命令
5.脚本命令
作业六:通配符实验
~ cd ~ #跳转到家目录
! 取反 , 运行历史命令。
# 注释
$ $?表示上一条命令是否执行成功。0成功 非0不成功,将变量的值取出来
% 取余。
^ 取反
& 命令 & 后台运行。 &&与运算 pwd && cd 如果pwd执行成功则执行cd,如果pwd失败,则不执行cd
* 乘法 。ls *代表所有。
- 减号,连接符
_ 字符连接符
+ 加法运算
= 赋值, == 判断
| 管道符号,||逻辑或 pwd || cd pwd执行成功,则cd不执行,pwd失败则执行cd。
{} {10}000 给10加三个0, touch {1..4}.txt 新建1-4.txt
? $? 显示上一条命令是否成功,只匹配一个任意字符
> 大于号, 覆盖语句,>> 追加语句
< 小于号
转义符 $x 输出$x
[] 取出括号中的一个值。
; 分割命令
: 表示真。
/ 路径拼接符
"" 软引用
'' 硬引用,引号中的是什么就输出什么