Linux基础-配置网络、集群内主机名设定、ssh登入、bash命令、通配符(元字符)

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

设置临时网络配置:

配置IP

ifcongfig ens33 192.168.16.177/24 (ifconfig 网卡 ip地址    /24代表它子网掩码)

配置网关

 

route add default gw 192.168.16.177 netmask 255.255.255.0  添加默认网关

配置 DNS

vim /etc/resolv.conf            (DNS配置文件位置)

设置永久网络配置:

cd /etc/sysconfig/network-scripts/    见下图

vim ifcfg-ens33   见下图

 

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

机器wys   IP:192.168.16.176

vim /etc/hosts 

 ping wys01

机器wys通过ping  wys01机器名可以解析出它的ip地址并与它连接

机器wys01   IP:192.168.16.177

vim /etc/hosts

ping wys

机器wys01通过ping  wys机器名可以解析出它的ip地址并与它连接

hostname  查看本机主机名

hostnamectl set-hostname (加上要修改成的主机名)   修改主机名

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

wysIP: 192.168.16.176             wys01IP:192.168.16.177

ssh登入,在wys机器上可以登入wys01机器,反过来在机器wys01上也可以登入机器,但是需要wys机器的密码(因为是root用户)

 scp上传

[root@wys ~]# scp /etc/hosts 192.168.16.177:/tmp/    将wys机器的/etc/hosts目录上传到192.168.16.177(wys01)机器的/tmp目录中,这里的ip地址可以换成wys01

在机器wys01上查看/tmp能找到刚才上传的文件hosts文件

scp下载

在机器wys上查看当前目录下能找到刚才从wys01/tmp目录下载的hosts文件

 秘钥登入

ssh-keygen  制作秘钥

查看制作的秘钥

ssh-copy-id -i 192.168.16.177      将秘钥发送给192.168.16.77(wys01)

 在wys01查看/root/.ssh/目录,wys01收到秘钥会发送到这个目录

在wys01查看/root/.ssh/authorized_keys详细信息,这个文件是客户端收到秘钥后生成的一个文件

 最后再测试:客户端通过ssh方式连接服务端(可以直接进入,不再要输入密码了)

修改ssh server端口为8888

 vim /etc/ssh/sshd_config     打开ssh的配置文件   找到端口并修改为8888

systemctl restart sshd       然后重启sshd     

 ssh 192.168.16.177 -p 8888

scp -P 8888 /etc/hosts 192.168.16.177:/tmp 

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

命令的优先级

别名

      alias

内部命令

      bash,compound commands,function

外部命令

      /usr/local/sbin
      /usr/local/bin
      /sbin
      /bin
      /usr/sbin
      /usr/bin
      /root/bin

alias:别名的定义方法 alias la='ls -al' 取消别名 unalias la

Compound Commands:例如 for if while等

function:函数

build_in:BASH自带的命令,功能简单,内部命令的帮助在builtin(1)里

hash:为了减少$PATH的搜索,上一次搜索的内容能够被下一次执行重用bash对从$PATH中搜索得出的外部命令建立一个hash表,用于缓存

$PATH:就是一个小程序存在于/bin/ /sbin/ /usr/bin 等地方

error: command not found :报错

定义一个函数名为cd,说明了function的优先级大于build_in的优先级

 继续使用刚才的函数,给cd命令一个别名,说明了alias的优先级大于function的优先级


作业五:通配符实验(元字符)

bash中的特殊字符,键盘上能敲出来的特殊字符都有其特殊意义,特别强调:元字符是被shell解释的!

~ 家目录,当前用的是谁就是谁的家目录

`` 命令替换 取命令的执行结果 

$()同上,但它弥补了``的嵌套缺陷

! 取非

! 历史命令调用

! 匹配最近一次历史命令

! ls 带空格 将命令的返回值取反

@ 无特殊含义

# 注释

% 杀后台进程 jobs号; 取模

^ 取非 和 ! 雷同

^ 替换

& 后台执行;&& 逻辑与

* 匹配任意长度字符串;计算乘法

() 在子进程中执行

- 减号;区间;cd -;

_ 无特殊含义

+ 加号 ;

= 赋值

| 管道; || 逻辑或

转义;

{} 命令列表 #括号内的开头和结尾必须是空格
# { ls; cd /; }

[] 字符通配,匹配括号内之一; 

: 空命令 真值

; 可以接多个命令:ls;pwd;echo 123;无论对错,会一直执行到最后一条命令

" " 软引 ''硬引 

< 输入重定向

> 输出重定向

>> 追加

<< here document

>& 合并2和1输出

, 枚举分隔符

. source ; 当前目录

/ 目录分隔符

? 单个字符

回车 命令执行

* 通配符:任意字符

? 通配符:任一字符

[abc] 列表项之一

[^abc] 对列表取非 也可以使用范围 [a-z] 代表aAbBcC...,[0-9]代表012345。。。

{} 循环列表

控制变量名的范围 echo ${AB}C

硬引用与软引用

转意

 实验举例:

[root@wys test]# touch {1..3}{a..d}.txt
[root@wys test]# ls
1a.txt 1b.txt 1c.txt 1d.txt 2a.txt 2b.txt 2c.txt 2d.txt 3a.txt 3b.txt 3c.txt 3d.txt

原文地址:https://www.cnblogs.com/wangyongsong/p/6594449.html