Ubuntu网络配置以及shell脚本

1、Ubuntu系统网络配置总结(包括主机名、网卡名称、网卡配置)

主机名修改

#1 命令修改
root@ubuntu:~# cat /etc/hostname 
ubuntu
root@ubuntu:~# hostnamectl set-hostname ubuntu1804
root@ubuntu:~# cat /etc/hostname 
ubuntu1804

#2 直接修改hostname文件
root@ubuntu:~# vim /etc/hostname 
ubuntu1804.test
root@ubuntu:~# cat /etc/hostname 
ubuntu1804.test

网卡名称的修改

#手工修改
root@ubuntu:~# vi /etc/default/grub 
#在文件中把下面一行做修改
GRUB_CMDLINE_LINUX=""
#修改后
GRUB_CMDLINE_LINUX="net.ifnames=0"

#sed命令修改
root@ubuntu:~# sed -i.bak '/^GRUB_CMDLINE_LINUX=/s#"$#net.ifnames=0"#' /etc/default/grub 

#修改后使配置生效
#方法1  生成新的grub.cfg 文件
root@ubuntu:~# grub-mkconfig -o /boot/grub/grub.cfg
#方法2 命令生效
root@ubuntu:~# update-grub
#方法3 重启生效
root@ubuntu:~# reboot

网卡的配置

#方法1 自动获取IP
root@ubuntu1804:~# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: yes

#方法2 配置静态IP
root@ubuntu:~# cat /etc/netplan/01-netcfg.yaml 
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      addresses: [10.0.0.10/24]
      gateway4: 10.0.0.2
      nameservers:
              addresses: [202.101.172.35,202.101.172.47]

##修改网卡配置文件后需执行命令生效
root@ubuntu:~# netplan apply 

2、编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。

#方法1
[root@centos7 ~]# vim expect_login.sh
#!/usr/bin/expect
set ip 10.0.0.8
set user root
set password 123456
set timeout 10
spawn ssh $user@$ip
expect {
    "yes/no" { send "yes\n";exp_continue }
    "password" { send "$password\n" }
}
interact

[root@centos7 ~]# chmod +x expect_login.sh 
[root@centos7 ~]# ./expect_login.sh 
spawn ssh root@10.0.0.8
The authenticity of host '10.0.0.8 (10.0.0.8)' can't be established.
ECDSA key fingerprint is SHA256:suSC6K0UIGayYlZBfnpZClLdT+8n0b/a+vgPRbUoeEA.
ECDSA key fingerprint is MD5:b3:90:95:86:fa:e8:fa:e5:ed:b0:7f:2c:17:1a:2b:f2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.8' (ECDSA) to the list of known hosts.
root@10.0.0.8's password: 
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Fri Jan 29 03:34:22 2021 from 10.0.0.1
[root@centos8 ~]# 


#方法2 
[root@centos7 ~]# vim shell_login.sh
#!/bin/bash
ip=$1
user=$2
password=$3
expect <<EOF
set timeout 20
spawn ssh $user@$ip
expect {
    "yes/no" { send "yes\n";exp_continue }
    "password" { send "$password\n" }
}
expect eof
EOF

3、生成10个随机数保存于数组中,并找出其最大值和最小值

[root@centos7 ~]# vim max_min.sh
#!/bin/bash
declare -i min max
declare -a nums
for ((i=0;i<10;i++));do
    nums[$i]=$RANDOM
    [ $i -eq 0 ] && min=${nums[0]} &&  max=${nums[0]}&& continue
    [ ${nums[$i]} -gt $max ] && max=${nums[$i]}
    [ ${nums[$i]} -lt $min ] && min=${nums[$i]}
done
echo "All numbers are ${nums[*]}"
echo Max is $max
echo Min is $min

[root@centos7 ~]# chmod +x max_min.sh 
[root@centos7 ~]# ./max_min.sh 
All numbers are 6045 22477 28851 3375 14140 19251 6128 11183 1775 17015
Max is 28851
Min is 1775

4、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序

[root@centos7 ~]# vim maopao.sh 
#!/bin/bash
i=0
flag=0
wrong=0
#保存数组值
while true;do
    read -p "请输入数字(输入quit退出):" num
    if [[ "$num" == ^"" ]];then
        echo "请输入数字 你已经输错了$wrong 次"
        let wrong++
    fi
    if [ $wrong -eq 5 ];then
        echo "你居然能输错 $wrong 次 我受不了你了"
        break
    elif [[ $num == quit ]];then
                                break
    elif [[ $num =~ ^[-]{0,1}[[:digit:]]{0,}[.]{0,1}[[:digit:]]{0,}[[:digit:]]$ ]];then #筛选出 整数 小数 负数
        echo $num
        array[$i]=$num
        let i++
    else
        echo "请输入数字 你已经输错了$wrong 次"
        let wrong++
    fi
done

#比较两个数大小
compare () {
    echo $1 > /app/0324/tmp
    echo $2 >> /app/0324/tmp
    max=$(cat /app/0324/tmp|sort -nr|head -1)
    if [[ "$max" == "$1" ]];then
        flag=1
    else
        flag=0
    fi
}

#冒泡排序
length=${#array[*]}
for i in $(seq 0 $length);do
    for j in $(seq 0 $[$length-$i]);do
        t=$[$j+1]
        compare ${array[$j]} ${array[$t]}
        if [ $flag -eq 1 ];then
             temp=${array[$j]}
             array[$j]=${array[$t]}
             array[$t]=$temp
        fi
done
done
echo "从小到大排序为:${array[*]}"

[root@centos7 ~]# chmod +x maopao.sh
[root@centos7 ~]# ./maopao.sh 
请输入数字(输入quit退出):4565
4565
请输入数字(输入quit退出):56
56
请输入数字(输入quit退出):12
12
请输入数字(输入quit退出):quit


从小到大排序为:4565 56 12  

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 网卡配置文件: 网卡最文件简配置: 网络配置一般包括如下内容: 网络配置方式: CentOS 6网卡名称 网络接口...
    JevonWei阅读 1,422评论 0 0
  • 一.Ip协议特征 (1)internet协议特征 运行于 OSI 网络层  面向无连接的协议  独立处理数据包...
    楠人帮阅读 741评论 0 0
  • 常用判断网络是否中断的方法: 1.Traceroute,Tracert traceroute命令用于追踪数据包在网...
    TimLi_51bb阅读 1,376评论 0 1
  • ifcfg命令家族: ifconfig, route, netstat ifconfig命令:接口及地址查看和管理...
    SRE1阅读 2,482评论 0 0
  • 一、知识点回顾 1、网络? 1、传输介质 2、 硬件 2、两台主机之间进行通信? 3、交换网络(局域网内多台计...
    唐朝_6f2a阅读 418评论 0 0