Python之路-Linux命令基础(6)

时间:2021-01-10 04:46:33

作业一:完成作业未做完的集群架构

作业二:临时配置网络(ip,网关,dns)+永久配置

1.ip配置

[root@localhost mail]# ifconfig eno16777736 192.168.16.250/24

Python之路-Linux命令基础(6)

2.网关配置

[root@localhost mail]# route add default gw 192.168.16.254

 

Python之路-Linux命令基础(6)

3.DNS配置

[root@localhost mail]# vim /etc/resolv.conf

Python之路-Linux命令基础(6)

验证结果

Python之路-Linux命令基础(6)

4.永久配置

a.配置文件

[root@localhost network-scripts]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# vim ifcfg-eno16777736

b.配置内容

Python之路-Linux命令基础(6)

c.重启服务后验证

[root@localhost network-scripts]# systemctl restart network

Python之路-Linux命令基础(6)

作业三:为集群内的机器设定主机名,利用/etc/hosts文件来解析自己的集群中所有的主机名,相应的,集群的配置应该改成使用主机名的方式

a.修改主机名

Python之路-Linux命令基础(6)

b.在本地DNS解析记录文件上增加记录

[root@web222 桌面]# vim /etc/hosts

Python之路-Linux命令基础(6)

c.修改完验证

Python之路-Linux命令基础(6)

作业四:ssh登录,scp上传、下载,ssh秘钥登录,修改ssh server端的端口为8888然后进行登录和scp测试

1.ssh登录

注意关闭防火墙

a.关闭firewall

b.关闭selinux,并在开机禁止启动  /etc/selinux/config中设置为disable

c.清除防火墙规则

Python之路-Linux命令基础(6)

2.scp上传

Python之路-Linux命令基础(6)

 

3.scp下载

Python之路-Linux命令基础(6)

4.ssh秘钥登录

a.生成key

[root@web222 network-scripts]# ssh-keygen

Python之路-Linux命令基础(6)

b. 把锁发给想要访问的服务器

[root@web222 network-scripts]# ssh-copy-id -i web111

Python之路-Linux命令基础(6)

c.连接验证

Python之路-Linux命令基础(6)

5.修改ssh server端的端口为8888然后进行登录和scp测试

a.修改web222的ssh端口号为8888

Python之路-Linux命令基础(6)

b.在web111上连接

Python之路-Linux命令基础(6)

c.scp测试(修改端口号之后)

Python之路-Linux命令基础(6)

作业五:整理bash命令类型,验证寻找一个命令的优先级

命令分为:

==> alias                                                                                               #别名
  ==> Compound Commands                                                            #复合命令

    ==> function                                                                             #函数                                                                         

      ==> build_in                                                                        #内置函数

        ==> hash                                                                       #哈希

          ==> $PATH                                                              #环境变量

            ==> error: command not found                        #找不到命令

优先级由上至下逐级递减

1.别名:就是由alias定义的一类函数,取消别名定义是unalias

2.复合命令:例如用作流程控制的if for while等

3.函数:用户由function定义的一类命令,可以通过set函数找到,同样也可以通过unset取消函数定义

4.内置函数:例如cd命令,bash解释器自带的命令;例如source命令,执行文件,没有source路径

5.hash:缓存最近在环境变量的命中

6.环境变量:例如ls,cat,实际上也是一个可执行文件

7.如果在以上命令中都没有,就输出找不到命令

 

优先级验证1   别名>复合命令

[root@ym /]# alias if='ls'
[root@ym /]# if
a dev lib mnt Python-3.6.0 run srv usr web111.txt
bin etc lib64 opt Python-3.6.0.tgz sbin sys var yumsource
boot home media proc root share tmp VMwareTools
[root@ym /]# unalias if

优先级验证2   函数>内置函数

[root@ym /]# ls
a dev lib mnt Python-3.6.0 run srv usr web111.txt
bin etc lib64 opt Python-3.6.0.tgz sbin sys var yumsource
boot home media proc root share tmp VMwareTools
[root@ym /]# function cd() { ls; }
[root@ym /]# cd
a dev lib mnt Python-3.6.0 run srv usr web111.txt
bin etc lib64 opt Python-3.6.0.tgz sbin sys var yumsource
boot home media proc root share tmp VMwareTools
[root@ym /]# unset cd
[root@ym /]# cd /tmp
[root@ym tmp]#

优先级验证3   别名>环境变量

[root@ym /]# ls
a dev lib mnt Python-3.6.0 run srv usr web111.txt
bin etc lib64 opt Python-3.6.0.tgz sbin sys var yumsource
boot home media proc root share tmp VMwareTools
[root@ym /]# alias ls='cd'
[root@ym /]# ls
[root@ym ~]# ls /tmp
[root@ym tmp]#

作业六:通配符实验

[]字符通配,匹配中括号中的之一;单字符通配

*:匹配任意字符

?:匹配任一字符

[root@ym tmp]# ls
aaa.txt aab2.txt aa.txt ab.txt a.txt b.txt c.txt d.txt e.txt
[root@ym tmp]# touch aac.txt
[root@ym tmp]# ls [a-z][azbg]?.txt
aaa.txt aac.txt
[root@ym tmp]# ls [a-z][azbg]?????
aaa.txt aac.txt
[root@ym tmp]# ls [!a-e].txt
ls: 无法访问[!a-e].txt: 没有那个文件或目录
[root@ym tmp]# ls [!a-e].txt
ls: 无法访问[!a-e].txt: 没有那个文件或目录
[root@ym tmp]# ls [a-e].txt
a.txt b.txt c.txt d.txt e.txt
[root@ym tmp]# ls [a-d].txt
a.txt b.txt c.txt d.txt
[root@ym tmp]# ls [!a-d].txt
e.txt