馬哥博客做業第三週

把默認網卡名改爲eth0git

vim /etc/default/grub vim

GRUB_CMDLINE_LINUX="resume=UUID=05dbb36b-dbba-40a3-ba99-1b044593917d rhgb quiet net.ifnames=0"bash

grub2-mkconfig -o /boot/grub2/grub.cfg併發

rebootpost

 

測試當前系統鏈接次數最多的前幾個IP(併發鏈接數)測試

tail -n +2 | tr -s ' ' : | cut -d: -f6 | sort | uniq -c | sort -nrui

 

腳本中的三種錯誤,語法錯誤、邏輯錯誤、命令錯誤spa

語法錯誤會致使後續命令沒法繼續執行,bash-n來進行檢查code

命令錯誤不會致使後續命令沒法繼續執行,bash-x來進行檢查,命令會執行orm

邏輯錯誤致使結果出錯,只能經過bash-x進行檢查,命令會執行

變量內容若是有換行,須要輸出的時候須要加雙引號

[ -v  ] = test -v測試變量是否存

 

一、編寫腳本 createuser.sh,實現以下功能:使用一個用戶名作爲參數,若是指定參數的用戶存在,就
顯示其存在不然添加之。並設置初始密碼爲123456,顯示添加的用戶的id號等信息,在第一次就提示
用戶當即改密碼,若是沒有參數,就提示用戶「請輸入用戶名」

read -p "請輸入用戶名:" ID
if getent passwd | grep $ID; then
    echo '該用戶已存在'
else
    useradd $ID &> /dev/null
    echo 123456 | passwd --stdin $ID &> /dev/null
    passwd -e $ID &> /dev/null
    echo -e "\E[1;31m"'$ID已成功建立,默認密碼爲123456,下次登錄時必須修改密碼'"\E[0m"    
fi

二、編寫腳本 yesorno.sh,提示用戶輸入yes或no,並判斷用戶輸入的是yes仍是no,或是其它信息

read -p "請輸入yes或no:" INPUT
case $INPUT in
[Yy]|[Yy][Ee][Ss])                                                                        
    echo "您輸入的是yes"
;;
[Nn]|[Nn][Oo])
    echo "您輸入的是no"
;;
*)
    echo "請輸入yes或no"
esac

三、編寫腳本 filetype.sh,判斷用戶輸入文件路徑,顯示其文件類型(普通,目錄,連接,其它文件類
型)

read -p "輸入你要判斷的文件:" FILE
echo "該文件路徑爲`dirname $FILE`"
if [ -b $FILE ]; then
    echo 該文件爲塊設備文件
elif [ -c $FILE ]; then
    echo 該文件爲字符設備文件
elif [ -d $FILE ]; then
    echo 該文件爲目錄文件
elif [ -f $FILE ]; then
    echo 該文件爲普通文件
elif [ -h $FILE ]; then
    echo 該文件爲符號連接文件
elif [ -p $FILE ]; then
    echo 該文件爲命名管道文件
elif [ -s $FILE ]; then
    echo 該文件爲套接字文件
fi  

四、編寫腳本 checkint.sh,判斷用戶輸入的參數是否爲正整數

read -p "請輸入數字:" NUM
case $NUM in
[:digit:]*)                                                                               
    echo 您輸入的"$NUM"爲正整數
;;
*)
    echo 請輸入正整數
esac

五、編寫腳本 reset.sh,實現系統安裝後的初始化環境,包括:一、別名 二、環境變量,如PS1等 三、
安裝經常使用軟件包,如:tree 五、實現固定的IP的設置,六、vim的設置等

NET=`ls /etc/sysconfig/network-scripts/ |head -n 1 | cut -d"-" -f2`                                   

echo '正在進行初始化配置'
echo '正在配置IP'
mv /etc/sysconfig/network-scripts/ifcfg-"$NET" /etc/sysconfig/network-scripts/ifcfg-"$NET".bak #備份原網卡配置文件
cat > /etc/sysconfig/network-scripts/ifcfg-"$NET" <<EOF
DEVICE=$NET
NAME=$NET
IPADDR=10.0.0.88
PREFIX=24
GATEWAY=10.0.0.2
DNS1=180.76.76.76
DNS2=223.6.6.6
BOOTPROTO=static
EOF
echo 'IP配置完成'

echo '正在設置cdnet別名'
echo alias cdnet=\'cd /etc/sysconfig/network-script\' >> ~/.bashrc #設置cdnet別名
echo 'cdnet別名設置完畢'

echo '正在設置vi別名'
echo vi=\'vim\' >> ~/.bashrc #設置vim別名
echo 'vi別名設置完成'

echo '正在更改PS1變量'
echo 'PS1="\[\e[1;32m\][\[\e[0m\]\t \[\e[1;33m\]\u\[\e[36m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' > /etc/profile.d/env.sh #設置PS1變量
echo 'PS1變量設置完成'

echo '正在安裝man幫助、tree命令、mail命令、vim命令'
yum -y install man &> /dev/null #安裝man幫助
yum -y install tree &> /dev/null #安裝tree命令
yum -y install postfix &> /dev/null #安裝mail命令
yum -y install vim &> /dev/null #安裝vim命令
dnf -y install man &> /dev/null #安裝man幫助
dnf -y install tree &> /dev/null #安裝tree命令
dnf -y install postfix &> /dev/null #安裝mail命令
dnf -y install vim &> /dev/null #安裝vim命令
echo '安裝完畢'

echo '正在生成.vimrc' #生成vimrc文件
cat > ~/.vimrc <<EOF
set ts=4
set expandtab        
set ignorecase
set cursorline
set autoindent
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
    if expand("%:e") == 'sh'
    call setline(1,"#!/bin/bash") 
    call setline(2,"#") 
    call setline(3,"#********************************************************************")         
    call setline(4,"#Author:            rzx") 
    call setline(5,"#QQ:                970707452") 
    call setline(6,"#Date:              ".strftime("%Y-%m-%d"))
    call setline(7,"#FileName:         ".expand("%"))
    call setline(8,"#URL:               https://www.cnblogs.com/rzx-006/")
    call setline(9,"#Description:      The test script") 
    call setline(10,"#Copyright (C):    ".strftime("%Y")." All rights reserved")
    call setline(11,"#********************************************************************") 
    call setline(12,". /data/color.sh")
endif
endfunc
autocmd BufNewFile * normal G
EOF
echo '.vimrc配置完成'
echo -e "\E[1;31m"初始化配置已完成,IP地址爲默認IP,請及時修改IP地址"\E[0m"

上面這個腳本沒法防止誤操做

NET=`ls /etc/sysconfig/network-scripts/ |head -n 1 | cut -d"-" -f2`


echo '正在進行初始化配置'

if cat /etc/sysconfig/network-scripts/ifcfg-"$NET" | grep dhcp > /dev/null; then
    echo '正在配置IP'
        mv /etc/sysconfig/network-scripts/ifcfg-"$NET" /etc/sysconfig/network-scripts/ifcfg-"$NET".bak #備份原網卡配置文件
cat > /etc/sysconfig/network-scripts/ifcfg-"$NET" <<EOF
DEVICE=$NET
NAME=$NET
IPADDR=10.0.0.88
PREFIX=24
GATEWAY=10.0.0.2
DNS1=180.76.76.76
DNS2=223.6.6.6
BOOTPROTO=static
EOF
echo 'IP配置完成'
fi
                   
if ! cat ~/.bashrc | grep ^alias.*scripts\'$ > /dev/null; then
    echo '正在設置cdnet別名'
    echo alias cdnet=\'cd /etc/sysconfig/network-scripts\' >> ~/.bashrc #設置cdnet別名
    echo 'cdnet別名設置完畢'
fi

if ! cat ~/.bashrc | grep ^alias.*vim\'$ > /dev/null; then
    echo '正在設置vi別名'
    echo alias vi=\'vim\' >> ~/.bashrc #設置vim別名
    echo 'vi別名設置完成'
fi

if ! [ -e /etc/profile.d/env.sh ]; then
    echo '正在更改PS1變量'
    echo 'PS1="\[\e[1;32m\][\[\e[0m\]\t \[\e[1;33m\]\u\[\e[36m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' >> /etc/profile.d/env.sh #設置PS1變量
    echo 'PS1變量設置完成'
fi

echo '正在安裝man幫助、tree命令、mail命令、vim命令'
yum -y install man &> /dev/null #安裝man幫助
yum -y install tree &> /dev/null #安裝tree命令
yum -y install postfix &> /dev/null #安裝mail命令
yum -y install vim &> /dev/null #安裝vim命令
dnf -y install man &> /dev/null #安裝man幫助
dnf -y install tree &> /dev/null #安裝tree命令
dnf -y install postfix &> /dev/null #安裝mail命令
dnf -y install vim &> /dev/null #安裝vim命令
echo '安裝完畢'

if ! [ -e ~/.vimrc ]; then
    echo '正在生成.vimrc'
cat > ~/.vimrc <<EOF
set ts=4
set expandtab
set ignorecase
set cursorline
set autoindent
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
    if expand("%:e") == 'sh'
    call setline(1,"#!/bin/bash")                                                         
    call setline(2,"#") 
    call setline(3,"#********************************************************************")         
    call setline(4,"#Author:            rzx")
    call setline(5,"#QQ:                970707452") 
    call setline(6,"#Date:              ".strftime("%Y-%m-%d"))
    call setline(7,"#FileName:         ".expand("%"))
    call setline(8,"#URL:               https://www.cnblogs.com/rzx-006/")
    call setline(9,"#Description:      The test script") 
    call setline(10,"#Copyright (C):    ".strftime("%Y")." All rights reserved")
    call setline(11,"#********************************************************************") 
    call setline(12,". /data/color.sh")
endif
endfunc
autocmd BufNewFile * normal G
EOF
echo '.vimrc配置完成'
fi
echo -e "\E[1;31m"初始化配置已完成,IP地址爲默認IP,請及時修改IP地址"\E[0m"
相關文章
相關標籤/搜索