yum update
yum install -y epel-release
关闭防火墙 [root@localhost ~]$ systemctl stop firewalld 永久关闭防火墙 [root@localhost ~]$ systemctl disable firewalld [root@localhost ~]$ setenforce 0 禁用selinux [root@localhost ~]$ sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
systemctl status firewalld
#修改base源 为阿里云 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo #增加epel源 curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
这就是我们一次下载多个常用的工具,就像给windows系统安装多个软件一样 yum install -y vim tree wget bash-completion bash-completion-extras lsof lrzsz net-tools sysstat iotop iftophtop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect ntpdate mkdir -p /app/tools /app/code
sed -i '/^GSSAPIAuthentication/s@^@#@g' /etc/ssh/sshd_config cat >>/etc/ssh/sshd_config<<EOF UseDNS no GSSAPIAuthentication no EOF systemctl restart sshd #检查 egrep '^(GSSAPIAuthentication|UseDNS)' /etc/ssh/sshd_config
yum install -y ntp service ntpd start
#写入到/etc/profile中即可 echo export PS1="'[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\h\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$ '">> /etc/profile source /etc/profile
yum install -y htop ncdu
脚本用法 [root@localhost ~]$ mkdir -p /server/scripts cat > /server/scripts/change.sh << 'EOF' #!/bin/bash #author: 作者 #desc: 修改系统IP地址和主机名 #version: v1.0 # 检查参数数量,如果参数数量不等于2,则输出用法信息并退出 if [ "$#" -ne 2 ]; then echo "Usage: $0 <new_hostname> <new_ip_last_part>" exit 1 fi # 获取当前系统的IP地址的最后一部分 # hostname -I 显示所有IP地址 # awk '{print $1}' 选择第一个IP地址 # sed 's#.*\.##g' 只保留最后一部分 ip=$(hostname -I | awk '{print $1}' | sed 's#.*\.##g') # 获取新的IP地址的最后一部分(作为参数传递) ip_new=$2 # 获取新的主机名(作为参数传递) hostname=$1 # 修改网卡配置文件中的IP地址 # 使用sed命令进行替换,将旧的IP地址替换为新的IP地址 sed -i "s#192.168.10.$ip#192.168.10.$ip_new#g" /etc/sysconfig/network-scripts/ifcfg-ens33 # 重启网络服务,以应用新的IP地址配置 systemctl restart network # 修改主机名 hostnamectl set-hostname $hostname # 输出修改结果,确认IP地址和主机名已经被修改 echo "IP地址已修改为:192.168.10.$ip_new" echo "主机名已修改为:$hostname" EOF
/server/scripts/change.sh new-hostname 123
输入参数 脚本接收两个输入参数: 1 新的主机名 (2)
步骤 1: 检查参数数量 脚本首先检查传入的参数数量是否等于 2。如果参数数量不正确,脚本会输出用法信息并退出。
步骤 2: 获取当前 IP 地址的最后一部分 使用 hostname -I 获取当前主机的 IP 地址。这个命令返回所有 IP 地址。通过 awk '{print $1}' 选择第一个 IP 地址。然后,使用 sed 's#.*.##g' 提取该 IP 地址的最后一部分。例如,如果 IP 地址是 192.168.10.100,则提取 100。
ip=$(hostname -I | awk '{print $1}' | sed 's#.*\.##g')
步骤 3: 获取新的 IP 地址的最后一部分 从传入的参数中获取新的 IP 地址的最后一部分,并赋值给 ip_new。
ip_new=$2
步骤 4: 获取新的主机名 从传入的参数中获取新的主机名,并赋值给 hostname。
hostname=$1
步骤 5: 修改网卡配置文件中的 IP 地址 使用 sed 命令在 /etc/sysconfig/network-scripts/ifcfg-eth33 文件中替换旧的 IP 地址部分(例如 192.168.10.100)为新的 IP 地址部分(例如 192.168.10.123)。
sed -i "s#192.168.10.$ip#192.168.10.$ip_new#g" /etc/sysconfig/network-scripts/ifcfg-eth33
步骤 6: 重启网络服务 重启网络服务,以应用新的 IP 地址配置。
systemctl restart network
步骤 7: 修改主机名 使用 hostnamectl set-hostname 命令修改主机名。
hostnamectl set-hostname $hostname
步骤 8: 输出修改结果 最后,输出新的 IP 地址和主机名,以确认修改已经生效。
echo "IP地址已修改为:192.168.10.$ip_new" echo "主机名已修改为:$hostname"