linux网络配置、ssh、scp及命令优先级作业

作业一:临时配置网络+永久配置

临时配置网络

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
[]   取出括号中的一个值。
;    分割命令
:   表示真。
/    路径拼接符
""   软引用
''   硬引用,引号中的是什么就输出什么
原文地址:https://www.cnblogs.com/G-YUE/p/6596306.html