版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEPAGE10/Shell100helloworldecho"helloLinux echo"$2"|passwd‐‐stdin#$1是執(zhí)行腳本的第一個(gè)參數(shù),$25tarvar/log#vim#vim#注意date命令需要使用反引號(hào)括起來(lái),反引號(hào)在鍵盤(pán)<tab>鍵上面tar-czflog-`date+%Y%m%d`.tar.gz#crontab0003**LNMP(RPM#使用yumLNMPyum#centos7.2RHEL7.2yum‐yinstallhttpdyum‐yinstallmariadbmariadb‐develmariadb‐serveryum‐yinstallphpphp‐mysqlsystemctlstarthttpdmariadbsystemctlenablehttpdmariadb時(shí),發(fā)送報(bào)警郵件給root管理員disk_size=$(df/|awk'/\//{printmem_size=$(free|awk'/Mem/{print$4}')while:#注意內(nèi)存和磁盤(pán)提取的空間大小都是以Kbif[$disk_size‐le512000‐a$mem_size‐le1024000];thenmail‐sWarningroot<<EOFInsufficientresources,資源不足100#RANDOM0‐32767的隨機(jī)數(shù)#使用取余算法將隨機(jī)數(shù)變?yōu)?‐100的隨機(jī)數(shù)#使用read#使用if判斷用戶猜數(shù)字的大小關(guān)系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于),‐lt(小于),‐le(小whileread‐p"計(jì)算機(jī)生成了一個(gè)1‐100的隨機(jī)數(shù),你猜:"cai [$cai‐eq $num];then elif[$cai $num];then if[$USER=="root"];thenyum‐yinstall echo您不是管理員,沒(méi)有權(quán)限安裝軟件是,則提示您非管理員(使用UID數(shù)字對(duì)比版本)if[$UID‐eq0yum‐y echo您不是管理員,沒(méi)有權(quán)限安裝軟件認(rèn)的123456作為默認(rèn)密碼。read‐p"請(qǐng)輸入用戶名:"#使用‐zif[ ‐z$user];thenecho您不需輸入賬戶名"exit2#使用sttyechoshell的回顯功能#使用sttyechoshell的回顯功能stty‐echoread‐p"請(qǐng)輸入密碼:" sttyecho echo"$pass"|passwd 33readp請(qǐng)輸入一個(gè)整數(shù)num1readp請(qǐng)輸入一個(gè)整數(shù)num2readp請(qǐng)輸入一個(gè)整數(shù)#不管誰(shuí)大誰(shuí)小,最后都打印echo#如果輸入的不是這樣的順序,則改變數(shù)的存儲(chǔ)順序,如:可以將num1和num2#如果num1num2num1和和num2的值對(duì)調(diào),確保num1if[$num1‐gt$num2];then#如果num1num3num1和num3num1if[$num1‐gt$num3];then#如果num2num3num2和num3num2ifif[$num2‐gt$num3];thenecho排序后數(shù)據(jù)為game=(石頭剪刀布)分別是echo請(qǐng)根據(jù)下列提示選擇您的出拳手勢(shì)"echo"1.石頭"echo2.剪刀"echo"3.布"read‐p"1‐3:"personcase$personinif$num‐eq0thenecho"平局"elif$num‐eq1thenecho"你贏"echo計(jì)算機(jī)贏if$num‐eq0thenecho"計(jì)算機(jī)贏"elif$num‐eq1thenecho"平局"echo你贏if$num‐eq0thenecho"你贏"elif$num‐eq1thenecho"計(jì)算機(jī)贏"echo平局echo1‐3的數(shù)字"編寫(xiě)腳本測(cè)試/24整個(gè)網(wǎng)段中哪些主機(jī)處于開(kāi)機(jī)狀態(tài),哪些主機(jī)處于關(guān)機(jī)狀態(tài)(for版本)foriin ping‐c2‐i0.3‐W1192.168.4.$i&>/dev/nullif[$?–eq0];thenecho"192.168.4.$iisecho"192.168.4.$iis編寫(xiě)腳本測(cè)試/24整個(gè)網(wǎng)段中哪些主機(jī)處于開(kāi)機(jī)狀態(tài),哪些主機(jī)處于關(guān)機(jī)狀態(tài)(while版本)while[$i‐le254]ping‐c2‐i0.3‐W1192.168.4.$i&>/dev/nullif[$?–eq0];thenecho"192.168.4.$iisecho"192.168.4.$iislet編寫(xiě)腳本測(cè)試/24整個(gè)網(wǎng)段中哪些主機(jī)處于開(kāi)機(jī)狀態(tài),哪些主機(jī)處于關(guān)機(jī)echo"$1isecho"$1is "$1isforiin myping192.168.4.$i#這樣做的好處是不需要等待ping第一臺(tái)主機(jī)的回應(yīng),就可以繼續(xù)并發(fā)pingping‐c2‐i0.3‐W1$1&>/dev/nullif[$?‐eq0];thenwhile:echo‐n'#'sleep0.2jinducp‐a$1$2killall$!echo"拷貝完成echoecho‐esleep#COUNT#定義一個(gè)顯示進(jìn)度的函數(shù),屏幕快速顯示|/‐\#4顯示echo‐esleep#3顯示echo‐esleep#執(zhí)行循環(huán),COUNT1,(4中不同的形狀#COUNT#1顯示#2顯示\\,第一個(gè)\#40(不代表任何圖像whileCOUNT=`expr$COUNT+1`case$COUNTinecho‐e'‐'"\b\c"sleep$INTERVAL9*9(shell9*9forforiin`seq9`forj in`seq$i`echo‐n"$i*$j=$[i*j]eth0while:echo'eth0流量信息如下ifconfigeth0|grep"RXpack"|awk'{print$5}'ifconfigeth0|grep"TXpack"|awk'{print$5}'sleep1使用#user.txtforiin`catuser.txt`useraddecho"123456"|passwd‐‐stdintxtdocmvmv "lsfor#腳本名 doc(可以將txt的擴(kuò)展名修改為#腳本名docjpg(docexpecthttpdrm‐rf~/.ssh/known_hostsexpect<<EOFspawn {send"密碼{send"yum‐yinstall{sendexpect{sendexpect{sendecho"##############‐‐‐‐Menu‐‐‐‐##############"echo"#1.InstallNginx"echo"#2.InstallMySQL"echo"#3.InstallPHP"echo"#4.ExitProgram"echo"read‐p"Pleasechoiceamenu[1‐9]:"idnginx&>/dev/nullif[$?‐ne0useradd‐s/sbin/nologinif[‐fnginx‐1.8.0.tar.gz];thentar‐xfnginx‐1.8.0.tar.gzcdnginx‐1.8.0yum‐yinstallgccpcre‐developenssl‐develzlib‐devel./configure‐‐prefix=/usr/local/nginx‐‐with‐http_ssl_modulemakeln‐s/usr/local/nginx/sbin/nginx/usr/sbin/cd..echoNginx源碼包yum‐yinstallgccgcc‐c++cmakencurses‐develperlidmysql&>/dev/nullif[$?‐ne0useradd‐s/sbin/nologinif[‐fmysql‐5.6.25.tar.gz];thentar‐xfmysql‐5.6.25.tar.gzcdmysql‐5.6.25cmake.makechown‐Rroot.mysql/usr/local/mysqlchown‐Rmysql/bin/cp‐f/usr/local/mysql/support‐files/mysql.server/etc/init.d/mysqldchmod+x/etc/init.d/mysqld/bin/cp‐f/usr/local/mysql/support‐files/my‐fecho"/usr/local/mysql/lib/">>/etc/ld.so.confecho'PATH=\$PATH:/usr/local/mysql/bin/'>>/etc/profileexportPATHecho"mysql源碼包#安裝php時(shí)沒(méi)有指定啟動(dòng)哪些模塊功能,如果的用戶可以根據(jù)實(shí)際情況自行添加額外功能如‐‐with‐gdyum‐yinstallgcclibxml2‐develif[‐fmhash‐.tar.gz];thentar‐xfmhash‐.tar.gzcdmhash‐makeinstallcd..if[!‐f/usr/lib/libmhash.soln‐s/usr/local/lib/libmhash.so
echomhash源碼包文件"if[‐flibmcrypt‐2.5.8.tar.gz];thentar‐xflibmcrypt‐2.5.8.tar.gzcdlibmcrypt‐2.5.8makeinstallcd..if[!‐f/usr/lib/libmcrypt.soln‐s/usr/local/lib/libmcrypt.so
echolibmcrypt源碼包文件"if[‐fphp‐5.4.24.tar.gz];thentar‐xfphp‐5.4.24.tar.gzcdphp‐5.4.24./configure‐‐prefix=/usr/local/php5‐‐with‐mysql=/usr/local/mysql‐‐enable‐fpm‐‐enable‐mbstring‐‐with‐mcrypt‐‐with‐mhash‐‐with‐config‐file‐path=/usr/local/php5/etc‐‐with‐make&&make/bin/cp‐fphp.ini‐production/bin/cp‐f/usr/local/php5/etc/php‐fpm.conf.default/usr/local/php5/etc/php‐fpm.confcd..
echophp源碼包文件"while:case$selectinechoSorry!KVM#本腳本針對(duì)RHEL7.2或#qcow2格式的虛擬機(jī)模板,名稱(chēng)為/var/lib/libvirt/images/.rh7_template的虛#該腳本使用qemu‐img#腳本使用sed修改模板虛擬機(jī)的配置文件,將虛擬機(jī)名稱(chēng)、UUID、磁盤(pán)文件名、MAC#exit 65‐>userinput 66‐>userinputisnotanumber 67‐>userinputoutofrange 68‐>vmdiskimageread‐p"EnterVMnumber:"VMNUMif[$VMNUM‐le9];thenif[‐z"${VMNUM}"];echo"Youmustinputanumber."exit65elif[[${VMNUM}=~[a‐z]];thenecho"Youmustinputanumber."exit66elif[${VMNUM}‐lt1‐o${VMNUM}‐gt99];thenecho"Inputoutofrange"exitif[‐e$IMG_DIR/${NEWVM}.img];thenecho"Fileexists."exitecho‐en"CreatingVirtualMachinedisk qemu‐imgcreate‐fqcow2‐b$IMG_DIR/.${BASEVM}.img$IMG_DIR/${NEWVM}.img&>echoecho‐e#virshdumpxml${BASEVM}>cat/var/lib/libvirt/images/.rhel7.xml>sed‐i"/<name>${BASEVM}/s/${BASEVM}/${NEWVM}/"sed‐i"/uuid/s/<uuid>.*<\/uuid>/<uuid>$(uuidgen)<\/uuid>/"/tmp/myvm.xmlsed‐i"/${BASEVM}\.img/s/${BASEVM}/${NEWVM}/"/tmp/myvm.xml#修改MACsed‐i"/mac/s/a1/0c/"echo‐en"Definingnewvirtual virshdefine/tmp/myvm.xml&>/dev/nullecho‐e"\e[32;1m[OK]\e[0m"#該腳本,需要提前準(zhǔn)備一個(gè)user.txtwhile:#統(tǒng)計(jì)user文件中有多少用戶line=`catuser.txt|wcl`sed‐n"${num}p"user.txtsleep0.2IP(sshwebftpLocalAddress(IP#ForeignAddress(IP和端口信息#使用awk51列IP#sortuniqnetstat‐atn|awk'{print$5}'|awk'{print$1}'|sort‐nr|uniq#使用netstatatn可以查看本機(jī)所有連接的狀態(tài),‐a查看所有,‐ttcp連接的信息,‐n100#seq100100foriin`seq100`echo"總和是13:3014:30apache#條件判斷$7:$813:30,并且要求,$7:$814:30#最后使用wc‐l統(tǒng)計(jì)這樣的數(shù)據(jù)有多少行,即多少個(gè)awk‐F"[/:]"'$7":"$8>="13:30"&&$7":"$8<="14:30"'/var/log/httpd/access_log|wc13:3014:30AapcheIPawk‐F"[/:]"'$7":"$8>="13:30"&&$7":"$8<="14:30"{print$1}'‐foriin{1..8}forjin{1..8}if[$[sum%2]‐eq0echo‐ne"\033[46mecho‐ne"\033[47mIPapacheawk'{ip[$1]++}END{for(iinip){printip[i],i}}'Linux#1: "bash$"/etc/passwd|wc‐l#2:awk‐f:'/bash$/{x++}end{printx}'#使用ls1cd/var/log `ls‐r*`if[‐f$i];thenletsum++echo文件名 "總文件數(shù)量為自動(dòng)為其他腳本添加解釋器信息#!/bin/bashtest.sh#./test.sh abc.sh#./test.sh user.sh#先使用grep判斷對(duì)象腳本是否已經(jīng)有解釋器信息,如果沒(méi)有則使用sedif!grep‐q"^#!"$1;thensed'1i#!/bin/bash'$1sed'2i#Description:'#因?yàn)槊總€(gè)腳本的功能不同,作用不同,所以在給對(duì)象腳本添加完解釋器信息,以及Description#vim2vim+2varnish本腳本需要提前下載yum‐yinstallgccreadline‐develpcre‐develuseradd‐s/sbin/nologinvarnishtar‐xfvarnish‐3.0.6.tar.gzcdvarnish‐3.0.6#使用configure,make,makeinstall./configure‐‐prefix=/usr/local/varnishmake&&makeinstall#Linux#Linux系統(tǒng),所以需要手動(dòng)cp#并使用uuidgencpredhat/varnish.initrccpredhat/varnish.sysconfig/etc/sysconfig/varnishcpredhat/varnish_reload_vcl/usr/bin/ln‐s/usr/local/varnish/sbin/varnishd/usr/sbin/ln‐s/usr/local/varnish/bin/*/usr/binmkdircp/usr/local/varnish/etc/varnish/default.vcl/etc/varnish/uuidgen>/etc/varnish/secretnginx#如果本腳本名為/etc/init.d/nginx,則servicenginxstart就可以啟動(dòng)該服務(wù)#servicenginxstop就可以關(guān)閉服務(wù)#servicenginxrestart#servicenginxstatusif[‐f$pidecho"nginx服務(wù)已經(jīng)處于開(kāi)啟狀態(tài)if[‐!‐f$pid];thenecho"nginx服務(wù)已經(jīng)關(guān)閉"$program‐sstopecho"關(guān)閉服務(wù)ok"if[‐f$pidechoecho服務(wù)正在運(yùn)行echo服務(wù)已經(jīng)關(guān)閉 $1insleep1echo"你輸入的語(yǔ)法格式錯(cuò)誤mkdirechomount 12'>>#對(duì)虛擬機(jī)的vdb磁盤(pán)進(jìn)行分區(qū)格式化,使用<<將需要的分區(qū)指令導(dǎo)入給程序fdisk#注意:1后面的兩個(gè)回車(chē)(空白行)是必須的!fdisk/dev/vdb<<EOF if ‐e/data];Linux##腳本針對(duì)cat>>/usr/lib/sysctl.d/00‐system.conf<<EOFnet.ipv4.tcp_timestamps=net.ipv4.tcp_synack_retries=net.ipv4.tcp_syn_retries=net.ipv4.tcp_tw_recycle=net.ipv4.tcp_tw_reuse=net.ipv4.tcp_fin_timeout=#net.ipv4.tcp_keepalive_time=net.ipv4.ip_local_port_range=1024kernel.shmall=kernel.shmmax=kernel.shmmni=kernel.sem=50106412805010128net.ipv4.tcp_fin_timeout=10net.ipv4.tcp_keepalive_time=net.ipv4.tcp_window_scaling=net.ipv4.tcp_sack=0sysctlNginx(防止單個(gè)文件過(guò)大,后期處理很困難#mkdir#mkdir mv${logs_path}access.log${logs_path}access_$(date‐d"yesterday"+"%Y%m%d").logkill‐USR1`cat/usr/local/nginx/logs/nginx.pid`#chmod+x#crontab 01* MySQL#2MySQL#以滿足對(duì)MySQL數(shù)據(jù)庫(kù)的監(jiān)控需求,查看MySQL連接是否正常while:sleepcount=`mysqladmin‐u"$user"‐p"$passwd" status|awk{print$4}'`echo"`date+%Y‐%m‐%d`并發(fā)連接數(shù)為:$count">>$log_filemd5#本示例腳本檢測(cè)的是/etcconf#將兩次執(zhí)行的結(jié)果做對(duì)比,MD5碼發(fā)生改變的文件,就是被人篡改的文件foriin$(ls/etc/*.conf)md5sum"$i">>/var/log/conf_file.logMySQL#hostMySQLIP地址,user為MySQL賬戶名,passwdmysqladmin‐h‐uroot‐p'$passwd'ping&>/dev/nullif[$?‐eq0];thenecho"MySQLisecho"MySQLisMySQLshell(mysqldump#定義變量user(數(shù)據(jù)庫(kù)用戶名),passwd(數(shù)據(jù)庫(kù)密碼),date(備份的時(shí)間標(biāo)簽)date=$(date+%Y%m%d)[!‐d/mysqlbackup]&&mkdir/mysqlbackup#使用mysqldump命令備份數(shù)據(jù)庫(kù)mysqldump‐u"$user"‐p"$passwd""$dbname">tr"[a‐z]""[A‐Z]"<$1SSH#‐tSSH密鑰的算法為RSA算法;‐N設(shè)置密鑰的密碼為空;‐frm‐rf~/.ssh/{known_hosts,id_rsa*}ssh‐keygen‐tRSA‐N''‐f~/.ssh/id_rsaif[$#‐eq0echo你需要制定一個(gè)軟件包名稱(chēng)作為腳本參數(shù)"echo"用法:$0軟件包名稱(chēng)..."forpackagein"$@"ifrpm‐q${package}&>/dev/nullechoe${package}\033[32m已經(jīng)安裝echoe${package}\033[34;1m未安裝HTTP(測(cè)試返回碼\h#定義函數(shù)#使用curl命令檢查http#‐mcurl5秒,5#‐s將設(shè)置,指定status_code=$(curl‐m5‐s‐o/dev/null‐w%{http_code}whiledate=$(dateecho當(dāng)前時(shí)間為:$date請(qǐng)盡快排查異常.">/tmp/http$$.pidif[$status_code‐ne200];thenmail‐sWarningroot<echo$url連接正常sleep5#使用firewall‐cmdget‐servicesfirewallservice="nfshttpssh"port="80228080"foriin$serviceecho"Adding$iservicetofirewall"firewall‐cmd‐‐add‐service=${i}foriin$portecho"Adding$iPorttofirewall"firewall‐cmd‐‐add‐port=${i}/tcpfirewall‐cmd‐‐runtime‐to‐permanentecho‐e"\033[32m echoecho"腳本會(huì)將整個(gè)磁盤(pán)轉(zhuǎn)換為PV,并刪除磁盤(pán)上所有數(shù)據(jù)!!!"echo"ThisScriptwilldestroyalldataontheDisk"echoreadpy/n?[$sure!=y]&&exitread‐p"請(qǐng)輸入磁盤(pán)名稱(chēng),如/dev/vdb:"disk‐z$disk&&echo沒(méi)有輸入磁盤(pán)名稱(chēng)&&exitread‐p"請(qǐng)輸入卷組名稱(chēng):"vg_name‐z$vg_name&&echo沒(méi)有輸入卷組名稱(chēng)&&exitread‐p"請(qǐng)輸入邏輯卷名稱(chēng):"lv_name‐z$lv_name&&echo沒(méi)有輸入邏輯卷名稱(chēng)&&exitread‐p"請(qǐng)輸入邏輯卷大小:"lv_size‐z$lv_size&&echo沒(méi)有輸入邏輯卷大小&&pvcreate$diskvgcreate$vg_name$disklvcreate‐L${lv_size}M‐n${lv_name}CPUawk'/vendor_id/{print$3}'/proc/cpuinfo0find$dir‐typef‐size0‐exec ‐rf{}Linux#awk判斷ps8Z是,顯示該進(jìn)程的PIDpsaux|awk'{if($8=="Z"){print#4100#400readp請(qǐng)輸入一個(gè)年份if["$year"=""];thenecho"沒(méi)有輸入年份"#使用正則測(cè)試變量yearif[["$year"=~[a‐Z]]];thenecho"你輸入的不是數(shù)字"if[$[year%4]‐eq0]&&[$[year%100]‐ne0];thenecho"$year是閏年"elif[$[year%400]‐eq0];thenecho"$year是閏年"echo$year不是閏年生成隨機(jī)密碼(urandom文件是#catdev/urandom可以看看里面的內(nèi)容,ctrl+c#tr‐dc'_A‐Za‐z0‐9'</dev/urandom#我們可以繼續(xù)將優(yōu)化好的內(nèi)容通過(guò)管道傳遞給head命令,在大量數(shù)據(jù)中僅顯示頭10個(gè)字節(jié)#Atr‐dc'_A‐Za‐z0‐9'</dev/urandom|head‐c生成隨機(jī)密碼(字串截取版本#88#每次循環(huán)提取一位隨機(jī)密碼,并將該隨機(jī)密碼追加到pass變量的最后foriin{1..8}echo生成隨機(jī)密碼(UUID,16生成隨機(jī)密碼(IDecho$$#用戶名為tom123456,則提示登錄成功,否則提示登錄失敗read‐p"請(qǐng)輸入用戶名:"userread‐p"請(qǐng)輸入密碼 if["$user"=='tom'‐a"$pass"=='123456'];thenecho"Loginsuccessful"echo"LoginFailed"#3#用戶名為tom123456foriin{1..3}read-p"請(qǐng)輸入用戶名:"userread-p"請(qǐng)輸入密碼 if["$user"=='tom'-a"$pass"=='123456'echo"Loginsuccessful"echo"LoginShellfork#定義函數(shù)名為.(點(diǎn).(){.|.&批量下載有序文件(pdf、圖片、視頻等等\hecho"開(kāi)始下載…"sleep2foriin`seqecho正在下載curl$url/$i.$type‐o/tmp/${i}$typesleep1#3文件的第awk‐F:'{print$1}'文件的第cut‐d:‐f1#使用sed的替換功能,將/etc/passwd文件中:后面的所有內(nèi)容替換為空(僅顯示用戶名sed's/:.*//'tar/data"該目錄不存在]&&$1/data/$1.‐`date[‐zif[tar‐czf[!‐d/data]&&mkdir顯示進(jìn)度條(回旋鏢版while:foriin{1..20}echo‐esleepsleepforiin{20..1}echo‐e"\033[3;${i}H*"sleep0.1LAMP(yum#RHEL7(RHEL6mysql)yummakecache&>/dev/nullnum=$(yumrepolist|awk'/repolist/{print$2}'|sed's/,//')if[$num‐lt0];thenyum-yinstallyum-yinstallmariadbmariadb-servermariadb-develyum-yinstallphpphp-mysqlecho"未配置yum#腳本執(zhí)行,需要提前給所有其他主機(jī)傳遞ssh密鑰,滿足無(wú)密碼連接foriin{1..254}[$i-eq100]&&continueecho"正在關(guān)閉192.168.4.$i…"ssh192.168.4.$ipoweroffMAC "本 地址信息如下$2;getline;if($0~/link\/ether/){print$2}}'|grep‐v#awk讀取ip2列(網(wǎng)卡名稱(chēng)),#接著使用getline再讀取它的下一行數(shù)據(jù),判斷是否包含link/ether#2列(MAC地址#loMACrsynd#Seersyncd.confmanpageformore[!‐d/home/ftp]&&mkdir/home/ftpecho'uid=nobodygid=nobodyusechroot=yesmaxconnections=pidfile=/var/run/rsyncd.pidexclude=lost+found/transferlogging=yestimeout=900ignorenonreadable=dontcompress =*.gz*.tgz*.zip*.z*.Z*.rpm*.deb*.bz2path=comment=share'>Linux#往/etc/security/limits.conf65536cat>>/etc/security/limits.conf<<EOFsoftnofilehardnofile65536Python#Summary:Enabletabcompleteforpython Needsimportreadlineandrlcompletermodule importreadline import help(rlcompleter)displaydetail:readline.parse_and_bind('tab:complete') manpythondisplaydetail:PYTHONSTARTUPvariableif[!‐f/usr/bin/tab.pycat>>/usr/bin/tab.pyimportreadlineimportrlcompleterreadline.parse_and_bind('tab:complete')sed‐i'$aexportPYTHONSTARTUP=/usr/bin/tab.py'/etc/profilesource/etc/profileread‐p"請(qǐng)輸入分鐘信息(00‐59):"minread‐p"請(qǐng)輸入小時(shí)信息(00‐24):"hourread‐p"請(qǐng)輸入日期信息(01‐31):"datereadp請(qǐng)輸入月份信息(01‐12monthread‐p"請(qǐng)輸入星期信息(00‐06):"weekreadp請(qǐng)輸入計(jì)劃任務(wù)需要執(zhí)行的命令或腳本echo"$min$hour$date$month$week$program">>使用腳本循環(huán)創(chuàng)建三位數(shù)字的文本文件(111-999foriin{1..9}forjin{1..9}forkin{1..9}touch找出/etc/passwd/etc/shadowuser=$(awk‐F:'/bash$/{print$1}'/etc/passwd)foriin$userawk‐F:‐vx=$i'$1==x{print$1,$2}'/etc/shadow統(tǒng)計(jì)/etc/passwdroot#11列,依次判斷是否包含root關(guān)鍵詞,如果包含則Linux#在procPID#每個(gè)PID編號(hào)的目錄下記錄有該進(jìn)程相關(guān)的信息forpidin/proc/[1‐9]*stat=$(awk'{print$3}'#每個(gè)pidstat3case$statinecho"進(jìn)程統(tǒng)計(jì)信息如下"echo總進(jìn)程數(shù)量為:$procs"echo"Running進(jìn)程數(shù)為:$running"echo"Stoped進(jìn)程數(shù)為:$stoped"echoSleeping進(jìn)程數(shù)為:$sleeping"echo"Zombie進(jìn)程數(shù)為:$zombie" 大于等于 神功絕 大于等于80,小于 登峰造 大于等于70,小于 爐火純 大于等于60,小于 略有小 小于 初學(xué)乍if[$JF‐ge90];thenecho"$JF分,神功絕世"elif$JFge80thenecho"$JF分,登峰造極"elif$JFge70thenecho"$JF分,爐火純青"elif$JFlt60thenecho$JF分,略有小成"echo$JF分,初學(xué)乍練判斷用戶輸入的數(shù)據(jù)類(lèi)型(字母、數(shù)字或其他readp請(qǐng)輸入一個(gè)字符:KEYcase"$KEY"inechoechoecho顯示進(jìn)度條(數(shù)字版#echo使用‐e選項(xiàng)后,在打印參數(shù)中可以指定H,設(shè)置需要打印內(nèi)容的x,yforiin{1..100}echo‐e"\033[6;8H["echo‐e"\033[6;9H$i%"echo‐e"\033[6;13H]"sleep0.1打印斐波那契數(shù)列(2#2#如:011235813list=(0foriin`seq211`list[$i]=`expr${list[‐1]}+${list[‐2]}`echoread‐p"Areyousure?[y/n]:"surecase$sureinecho"youenter$a";;echo"youenterecho"error";;Linuxss‐nutlp|awk'{print$1,$5}'|awk‐F"[:]"'{print"協(xié)議:"$1,"端口號(hào):"$NF}'|grep"[LinuxUID1000#先用awkuid1000#再使用foruser=$(awk‐F:'$3>=1000{print$1}'/etc/passwd)foriin$useruserdel‐r#virshlibvirt‐client#$11個(gè)參數(shù),$22#12case$1invirshlist‐‐all;;virshstart$2;;virshdestroy$2;;virshautostart$2;;virshautostart‐‐disableecho"Usage:$0echo"Usage:$0[start|stop|enable|disable]VM_name"cat<<EOFlist顯示虛擬機(jī)列表start啟動(dòng)虛擬機(jī)stop關(guān)閉虛擬機(jī)enabledisableshell#virshlibvirt‐clientcat<<readp請(qǐng)選擇[1‐2selectcase$selectinreadp請(qǐng)輸入虛擬機(jī)名稱(chēng)read‐p"請(qǐng)輸入最大內(nèi)存數(shù)值(單位:k):"sizevirshsetmaxmem$name‐‐size$size‐‐config;;readp請(qǐng)輸入虛擬機(jī)名稱(chēng)readp請(qǐng)輸入實(shí)際分配內(nèi)存數(shù)值(單位:ksizevirshsetmem$name$size;;echo"Error";;KVM(不需要進(jìn)入啟動(dòng)或進(jìn)入虛擬機(jī)#該腳本使用guestmount‐d$mountpoint&&mkdir$mountpointread‐p"輸入虛擬機(jī)名稱(chēng):"nameecho請(qǐng)稍后ifmount|grep‐q"$mountpoint";thenumount$mountpointguestmount‐r‐d$name‐i$mountpointechoecho‐e"\033[32m$name虛擬機(jī)中網(wǎng)卡列表如下:\033[0m"dev=$(ls/media/virtimage/etc/sysconfig/network‐scripts/ifcfg‐*|awk‐F"[/‐]"'{printechoechoechoechoe033[32mIP地址信息如下:\033[0m"foriin$devecho‐ngrep‐q"IPADDR"/media/virtimage/etc/sysconfig/network‐scripts/ifcfg‐$i||echo"地址awk‐F='/IPADDR/{print$2}'/media/virtimage/etc/sysconfig/network‐scripts/ifcfg‐$iechoIP#該腳本使用guestmount工具,Centos7.2libguestfs‐tools‐cguestmount#腳本在不登陸虛擬機(jī)的情況下,修改虛擬機(jī)的IP#在某些環(huán)境下,虛擬機(jī)沒(méi)有IPIP真實(shí)主機(jī)在沒(méi)有readp請(qǐng)輸入虛擬機(jī)名稱(chēng)ifvirshdomstate$name|grep‐qrunningthenecho"修改虛擬機(jī)網(wǎng)卡數(shù)據(jù),需要關(guān)閉虛擬機(jī)"virshdestroy‐d$mountpoint&&mkdir$mountpointecho"請(qǐng)稍后..."ifmount|grep‐q"$mountpoint"umount$mountpointguestmount‐d$name‐i$mountpointreadp請(qǐng)輸入需要修改的網(wǎng)卡名稱(chēng)devread‐p"請(qǐng)輸入IP地址:"addr#判斷原本網(wǎng)卡配置文件中是否有IP地址,有,就修改該IP,沒(méi)有,就添加一個(gè)新的IPifgrep‐q"IPADDR"$mountpoint/etc/sysconfig/network‐scripts/ifcfg‐$devsed‐i"/IPADDR/s/=.*/=$addr/"$mountpoint/etc/sysconfig/network‐scripts/ifcfg‐$devecho"IPADDR=$addr">>#如果網(wǎng)卡配置文件中有客戶配置的IP地址,則腳本提示修改IPawkF=vx=$addr$2==x{print完成..."}'#該腳本使用guestmount工具,Centos7.2libguestfs‐tools‐cguestmountreadreadp請(qǐng)輸入虛擬機(jī)名稱(chēng)ifvirshdomstate$name|grep‐qrunningthenecho"破解,需要關(guān)閉虛擬機(jī)"virshdestroy‐d$mountpoint&&mkdir$mountpointecho"請(qǐng)稍后..."ifmount|grep‐q"$mountpoint"umount$mountpointguestmount‐d$name‐i#將passwd中密碼占位符號(hào)xsed‐i"/^root/s/x//"ShellCtrl+C#使用trap命令可以攔截用戶通過(guò)鍵盤(pán)或kill#使用kill‐lLinux2代表#trapctrl+Cecho10s";sleep10#另外用戶使用命令:kill2腳本的PIDCtrl+C一樣的效果,都會(huì)被traptrapecho10s";sleep10'2while:echo"gogogo"#注意:如果軟件的下載鏈接過(guò)期了,請(qǐng)更新memcached的下載鏈接wget\h/files/memcached‐1.5.1.tar.gzyum‐yinstallgcctar‐xfmemcached‐1.5.1.tar.gzcdmemcached‐1.5.1makeVNC(無(wú)密碼版本#腳本配置的VNCrpmrpm‐‐quiet‐qtigervnc‐serverif[$?‐ne0];thenyum‐yx0vncserverAcceptKeyEvents=0AlwaysShared=1\AcceptP
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GB-T 40644-2021杜仲葉提取物中京尼平苷酸的檢測(cè) 高效液相色譜法》專(zhuān)題研究報(bào)告
- 《寵物鑒賞》課件-犬的外貌特征
- 2026年徐州幼兒師范高等專(zhuān)科學(xué)校單招綜合素質(zhì)考試題庫(kù)及參考答案詳解1套
- 《正常人體功能》課件-酶促反應(yīng)的特點(diǎn)及影響因素
- 《幼兒文學(xué)》課件-2.1兒歌概說(shuō)
- 噪聲檢測(cè)服務(wù)合同
- 中醫(yī)艾灸技師(初級(jí))考試試卷及答案
- 2025年涂覆材料項(xiàng)目建議書(shū)
- AIGC時(shí)代下智能家電革新構(gòu)建“智慧家庭”新篇章-海爾洗護(hù)AIGC落地的最佳實(shí)踐
- 2025年煉油、化工生產(chǎn)專(zhuān)用設(shè)備合作協(xié)議書(shū)
- 學(xué)堂在線 臨床中成藥應(yīng)用 章節(jié)測(cè)試答案
- 物流協(xié)會(huì)管理辦法
- 跑步健康課件圖片
- 醫(yī)用耗材管理辦法原文
- 高州市緬茄杯數(shù)學(xué)試卷
- 傳承紅色基因鑄就黨紀(jì)之魂建黨104周年七一黨課
- 詩(shī)詞大會(huì)搶答題庫(kù)及答案
- 立式油罐知識(shí)培訓(xùn)課件
- 口腔健康科普指南
- 2025年《智能客戶服務(wù)實(shí)務(wù)》課程標(biāo)準(zhǔn)
- 公司便民雨傘管理制度
評(píng)論
0/150
提交評(píng)論