主机名和系统内置变量
1. hostname
解释: 显示或设置系统的主机名称
举例: [root@xiaoke ~]# hostname
[root@xiaoke ~]# echo $HOSTNAME
显示结果: xiaoke.com
备注:以上两个命令显示结果相同
[root@xiaoke ~]# hostname www.zhg.com
备注: 临时更改
注意: 再次运行hostname和echo $HOSTNAME,观察效果
可以使用hostname $HOSTNAME就该回原来的主机名称了。
练习: 1.如果当前主机的主机名不是www.zhg.com,就将其改为www.zhg.com
[ `hostname` != 'www.zhg.com' ] && hostname www.zhg.com
2.如果当前主机的主机名为空,或者为(none),或者为localhost,就将其改为www.zhg.com
hostname '(none)' //先修改主机名为(none),执行后自行查看一下
[ -z `hostname` -o `hostname` == '(none)' -o `hostname` == 'localhost' ] && hostname www.zhg.com
hostname '' //先修改主机名为空,执行后自行查看一下
[ -z `hostname` ] || [ `hostname` == '(none)' -o `hostname` == 'localhost' ] && hostname www.zhg.com
备注: || 代表或者
2. RANDOM
解释: 系统内置变量,生成随机数,范围:0-32768
举例: [root@xiaoke ~]# echo $RANDOM
显示结果: 20612
[root@xiaoke ~]# echo $RANDOM
显示结果: 16602
备注: 上述相同命令执行两次后发现结果不同,都是随机生成的。
引入: Linux系统中有两个随机数生成器
/dev/random: 硬件生成的随机数,比如敲键盘时的时间间隔,都会被记录下来放在熵池中
如果熵池中的随机数取完了,会提示并等待用户敲键盘生成更多随机数
/dev/urandom: 与random相同也是从熵池中取随机数
如果取完后,就会用软件模拟出随机数
但是软件模拟出来的随机数是有规律的
相比之下random更加安全,但在随机数需求大的时候,比如刚安装好的系统做群集,就会产生很大延迟