CentOS的基本配置 与 shell的基本语法
2020-06-21 11:35
29 查看
设置ip和Mac地址
每台虚拟机更改mac地址:
vim /etc/udev/rules.d/70-persistent-net.rules
每台虚拟机更改IP地址:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
程序重启
service network restart
每台虚拟机修改对应主机名
vi /ect/sysconfig/network
HOSTNAME=node01
每台虚拟机设置ip和域瓴映射
vim /etc/hosts
4:虚拟机关团防火墙和SELinux
4.1 关闭防火墙
三台机器执行以下命令(root用户来执行)
service iptables stop # 关闭防火墙 chkconfig iptables off # 禁 止开机启动
4.2 三台机器关闭selinux
SELinux的工作模式
- enforcing 强制模式
- permissive宽容模式
- disable 关闭
#修改selinux的配置文件 vim /etc/sysconfig/selinux
虚拟机的免密登录
第-步:三台机器生成公钥与私钥
在三台机器执行以下命令,生成公钥与私钥
ssh-keygen-t rsa
执行该命令之后,按下三个回车即可
第二步:拷贝公钥到同- -台机器
三台机器将拷贝公钥到第一台机器
三台机器执行命令:
ssh-copy-id node01
第三步:复制第一台机器的认证到其他机器
将第一台机器的公钥拷贝到其他机器上
在第一天机器上面指向以下命令
scp /root/.ssh/authorized_keys node02:/root/.ssh scp /root/.ssh/authorized_ keys node03:/root/.ssh
然后就可以实现三台虚拟机免密登陆
# ssh 主机名 ssh node2 exit # 退出
三台机器时钟同步
为什么需要时间同步
- 因为很多分布式系统是有状态的,比如说存储一个数据,A节点记录的时间是1,B节点记录的时间是2,就会出问题
方式1:
所有主机和同一-台主机的时间保持同步
方式2:
通过网络,所有主机和时钟同步服务器保持同步
# 安装 yum install -y ntp # 启动定时任务 crontab -e
随后在输入界面键入
*/1 * * * * sr/sbin/ntpdate ntp4.aliyun.com;
三台机器安装jdk
1.1查看自带的openjdk并卸载
rpm -qa | grep java rpm -e java-1.6.0-openjdk-1.6.0.41-1.13.13.1.e16_8.x86_64 tzdata-java- 2016j-1.el6.noarch java-1.7.0-openjdk-1.7.0.131-2.6.9.0.e16_8.x86_64 -- nodeps
1.2创建安装目录
mkdir -p /export/softwares #软件包存放目录 2 mkdir -p /export/servers #安装目录
1.3.上传并解压
# 上传文件时用到一个包 um -y install lrzsz # 通过 rz -E 上传文件 rz -E # 上传jdk到/export/softwares路径下去,并解压 mv jdk-8u141-linux-x64.tar.gz /export/softwares/ cd /export/softwares/ tar zxvf jdk-8u141-linux-x64.tar.gz -C ../servers/
1.4配置环境变量
vim /etc/profile
添加如下内容
export JAVA_HOME=/export/servers/jdk1.8.0_141 export PATH=:$JAVA_HOME/bin:$PATH
让文件生效
source /etc/profile
将jdk文件发送给node02和node03
scp -r jdk1.8.0_141/ node02:/export/servers/ # 或 scp -r jdk1.8.0_141/ node02:$PWD # PWD就指的当前node01所在的路径
邮箱报告
# You have new mail in /var/spool/mail/root vim /etc/profile# 加一句 unset CHECKMAIL # 文件生效 source /etc/profile
mysql的安排
第一步:在线安装mysq|相关的软件包
yum install mysql mysql-server mysql-devel
第二步:启动mysql的服务
/etc/init.d/mysqld start
第三步:通过mysql安装自带脚本进行设置
/usr/bin/mysql_secure_installation
第四步:进入mysql的客户端然后进行授权
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; # 任何一台机器都可以root的方式登录的这个数据库中,并可以访问任意表 flush privileges; # 刷新
Shell编程增强
Shell编程-般指编写shell脚本
1:基本语法:
使用vi编辑器新建一个文件hello.sh
#!/bin/bash # #!是固定,后面选择解释器 echo "Hello World !" # 打印输出
执行方式:
方式1:
sh hello.sh
方式2
chmod +X ./hello.sh # 使脚本具有执行权限 ./hello.sh # 执行脚本 ./ 是相对路径 /export/servers/shells/hello.sh # 通过绝对路径运行
2:变量:
局部变量
#!/bin/bash str="hello" echo ${str}world
环境变量
echo SPATH echo SHOME
env 查看环境变量
3:特殊字符
$# | 传递到脚本的参数个数 |
---|---|
$* | 以一个单字符串显示所有向脚本传递的参数 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程的ID号 |
$@ | 与$*相同,但是使用时加引号,并在引号中返回每个参宿 |
$? | 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误 |
#!/bin/bash echo "第一个参数为: $1"; echo "参数个数为: $#"; echo "传递的参数作为一个字符串显示: $*";
执行: ./demo02.sh 123
4:运算符
#!/bin/bash a=1; b=2; echo `expr $a + $b`; # 反引号,即Tab键上面那个~键 echo $((a+b)); echo $[a+b];
乘法中的 * 需要转义 \ *
5:if语句
#!/bin/bash read -p "please input your name:" NAME ## read命令用于从控制台读取输入数据 ## printf '%s\n' $NAME if [ $NAME = root ] then echo "hello ${NAME}, welcome !" elif [ $NAME = itcast ] then echo "hello ${NAME}, welcome !" else echo "Get out Please!" fi # fi 结束
6: for语句
方式1:
#!/lib/bash for N in 1 2 3 do echo $N done
方式2:
#!/bin/bash for ((i = 0; i <= 5; i++)) do echo "welcome $i times" done
7:函数
#!/bin/bash funWithReturn(){ echo "这个函数会对输入的两个数字进行相加运算..." echo "辅入第一个数字: " read aNum echo "输入第二个数字: " read anotherNum echo "两个数字分别为$aNum和$anotherNum !" return $(($aNum+$anotherNum)) } funWithReturn echo "输入的两个数字之和为 $? !"
相关文章推荐
- 初学CentOS——shell基本语法
- Linux的Shell编程之shell基本语法
- shell 基本语法-1
- 服务器数据库系列 - centos web服务器环境基本环境配置
- 基本配置3-被忽悠进了CentOS 6
- CentOs6.5基本环境配置(三):mysql 配置-mysql安装服务
- Shell 基本语法
- centos 下Supervisor 守护进程基本配置
- 学习centos基本配置的网站
- shell基本语法脚本一
- linux 基础-变量,shell基本语法
- shell的基本语法
- Hadoop集群安装(四)--------CentOS基本配置
- Shell 使用 - 变量及基本语法
- CentOS 5开启telnet服务和一些基本配置
- Centos下Vim编辑器基本配置
- Linux CentOS 7 网络基本配置
- shell脚本语言基本语法学习
- Shell 基本语法
- centos下网络的基本配置方法讲解