shell(1):网络配置、BATH环境和通配符

一、临时配置网络(ip,网关,dns)

ifconfig查看网络配置

修改ip地址  ifconfig ens33 192.168.255.129/24  

ens33网卡名称、192.168.255.129/24是要配置的ip地址,255.255.255.0 子网掩码

 

配置网关为192.168.255.1 并查看

 二、永久配置网络(ip,网关,dns)

ifconfig查看网络配置

修改网络配置,保存。

DEVICE=ens33  #网卡名称
HWADDR=''    #网卡mac地址
TYPE=static   #静态IP
IPADDR=192.168.255.129   #IP地址
NETMASK=255.255.255.0   #子网掩码
GATEWAY=192.168.16.254  #网关地址
DNS1=192.168.16.254  #DNS服务器地址  

  

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

hostnamectl set-hostname python #设置主机名

hostname #查看主机名 

更改主机中的hosts文件:

分机1

分机2

 分机3 

测试 

 主机python ping 分机python-web1、python-web1、python-web2、python-web3测试

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

 1.ssh登录:ssh+域名或ip地址

2.scp上传

scp下载

3.ssh秘匙登录 

创建密钥,拿主机1做实验:

ssh-kengen #生成秘钥

ls /root/.ssh/ #秘钥生成目录

ssh-copy-id -i +域名 #发送锁给另外一台分机

将密钥发送给另外两台主机。

ssh-copy-i python-web2

ssh-copy-i python-web3

  

web1测试连接web2和web3

4.更改ssh server的端口号为8888,测试登录和scp登录

以下在python-web1为例

vim /etc/ssh/sshd_config #修改主机ssh端口为888

在python-web2测试连接和远程上传下载。

ssh python-web1 -p 8888

scp -P 8888 /test/1.txt python-web1:/test

 

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

命令解释器bash优先级从左向右依次递减:

alias>Compound Commands>function>build_in>hash>$PATH>error

alias,也叫别名。用来简化比较长的命令语句的。声明别名格式: alias a=‘ cd ’,a就拥有了cd命令的功能,删除别名unalias a。

Compound Commands也就是常用的条件判断关键字if、while和for。

function也就是函数,有一个输入就用一个相应的输出。主要用来数据封装,提高代码复用。set查看所有函数,unset清除函数或变量,函数的定义function  test(){echo 'hello';}。

build_in就是内置的命令,随着整个shell进程的启动而启动。

hash用来缓存常用的命令(的路径),命令每执行一次,相应的计数器加一。hash 命令。hash -r清除hash缓存。

$PATH 存储环境变量的。

当shell解释器遇到一个命令,它会沿着这个优先级依次查找。

证明alias比Compound Commands优先级高:

证明Compound Commands比function 优先级高:

证明function比内置命令优先级高:

证明bulitin比hash优先级高:

 证明hash比$PATH高

六、通配符实验

通配符是由shell解释器解释执行的。

~,是指家目录,如:cd ~

``用来保存结果,和$()一样,推荐用$():

{1..10}.txt生成1.txt到10.txt个文件,也可以用{a..z}。{}作命令列表时括号里的首尾必须是空格。

 

[]取中括号里的任意一个元素,如[123]表示1或2或3

!取反 和 执行命令,如!ll,是执行上一次ll命令;!数字,执行相应行的命令(history)。取反和^一样。

/根目录,和路径分隔符

# 注释

[m-n]表示从m到n,要表示所有大小写字母[a-Z],大小写是按照a、A、b、B、c、C……z、Z这样的顺序排的:

echo $[]作算术运算用的

A&&B 表示只有A执行成功,才执行B:

A||B 表示A执行成功,就不执行B;A执行失败,才执行B:

|管道

+加,-减,*乘,/求整,%求余,=赋值

*匹配任意长度的字符

转义,要打印默写特殊的符号用

“ 软连接”    '硬链接',软连接里是有意义的。硬链接里写的是什么打印的就是什么。

. /和 source 执行文件

: 永真

test 语句 +echo $?

${}:

*匹配任意字符,?匹配单一字符

& 后台执行 

> 覆盖,>> 追加

原文地址:https://www.cnblogs.com/xuyaping/p/6601407.html