把默認網卡名改爲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"