首页 >> 中医养生

100个Linux Shell开发人员经典案例

发布时间:2025年11月04日 12:17

if [ $USER == "root" ]then yum ‐y install vsftpdelse echo "您不是版本主,没有人越权装配软件包"fi

8、检验本空近期普通用户应该为超级版本主,如果是版本主,则用到 yum 装配 vsftpd,如果不是,则预设您非版本主(用到 UID 小多达点对比正式版本)

#!/bin/bash# 检验本空近期普通用户应该为超级版本主,如果是版本主,则用到 yum 装配 vsftpd,如果不# 是,则预设您非版本主(用到 UID 小多达点对比正式版本)if [ $UID -eq 0 ];then yum ‐y install vsftpdelse echo "您不是版本主,没有人越权装配软件包"fi

9、编著脚本词汇:预设普通用户回传普通账号和私钥,脚本词汇启动时创始反之亦然的账号及装配私钥。如果普通用户不回传账号名,则预设能够回传账号名并重启脚本词汇;如果普通用户不回传私钥,则为统一用到可选的 123456 作为可选私钥。

#!/bin/bash# 编著脚本词汇:预设普通用户回传普通账号和私钥,脚本词汇启动时创始反之亦然的账号及装配私钥。如果普通用户# 不回传账号名,则预设能够回传账号名并重启脚本词汇;如果普通用户不回传私钥,则为统一用到默# 认的 123456 作为可选私钥。 read -p "劝回传普通账号: " user#用到‐z 可以推断一个常量应该为空,如果为空,预设普通用户能够回传账号名,并重启脚本词汇,重启码为 2#没有人回传普通账号脚本词汇重启后,用到$?查阅的送回码为 2if [ -z $user ];then echo "您不需回传账号名" exit 2fi#用到 stty ‐echo 重新启动 shell 的回显新功能#用到 stty echo 推开 shell 的回显新功能stty -echoread -p "劝回传私钥: " passstty echopass=${pass:‐123456}useradd "$user"echo "$pass" | passwd ‐‐stdin "$user"

10、回传三位多达并进在行升序次序

#!/bin/bash# 共五预设普通用户回传 3 个整多达,脚本词汇根据小多达点尺寸共五次序可用 3 个小多达点read -p "劝回传一个整多达:" num1read -p "劝回传一个整多达:" num2read -p "劝回传一个整多达:" num3# 不管谁大谁小,仍要都复印机 echo "$num1,$num2,$num3"# num1 之中总有一天存最小的最大值,num2 之中总有一天存之中间最大值,num3 总有一天存最大者最大值# 如果回传的不是这样的时序,则相反多达的打印时序,如:可以将 num1 和 num2 的最大值调换tmp=0# 如果 num1 相等 num2,就把 num1 和和 num2 的最大值调换,保证 num1 常量之中存的是最小最大值if [ $num1 -gt $num2 ];then tmp=$num1 num1=$num2 num2=$tmpfi# 如果 num1 相等 num3,就把 num1 和 num3 调换,保证 num1 常量之中存的是最小最大值if [ $num1 -gt $num3 ];then tmp=$num1 num1=$num3 num3=$tmpfi# 如果 num2 相等 num3,就把 num2 和 num3 对标,保证 num2 常量之中存的是小一点的最大值if [ $num2 -gt $num3 ];then tmp=$num2 num2=$num3 num3=$tmpfiecho "次序后目录(从小到大)为:$num1,$num2,$num3"

11、石头、棍子、博新游戏

#!/bin/bash# 编著脚本词汇,实现人空新游戏game=(石头 棍子 博)num=$[RANDOM%3]computer=${game[$num]}# 通过乱多达利用计算空程序的出拳# 出拳的可能性保普遍存在一位多达第一组之中,game[0],game[1],game[2]分别是 3 之中不同的可能 echo "劝根据下列于预设选择您的出拳手势"echo "1.石头"echo "2.棍子"echo "3.博" read -p "劝选择 1‐3:" personcase $person in1) if [ $num -eq 0 ] then echo "一局" elif [ $num -eq 1 ] then echo "你赢" else echo "计算空程序赢" fi;;2) if [ $num -eq 0 ] then echo "计算空程序赢" elif [ $num -eq 1 ] then echo "一局" else echo "你赢" fi;;3) if [ $num -eq 0 ] then echo "你赢" elif [ $num -eq 1 ] then echo "计算空程序赢" else echo "一局" fi;;*) echo "能够回传 1‐3 的小多达点"esac

12、编著脚本词汇检验 192.168.4.0/24 整个交换机之中哪些PSP西北面开空正常,哪些PSP西北面重新后续正常(for 正式版本)

#!/bin/bash# 编著脚本词汇检验 192.168.4.0/24 整个交换机之中哪些PSP西北面开空正常,哪些PSP西北面重新后续# 正常(for 正式版本)for i in {1..254}do # 每隔0.3秒ping一次,合共ping2次,并以1毫秒为一个单位另设ping的超时天内 ping ‐c 2 ‐i 0.3 ‐W 1 192.168.4.$i Brown>/dev/null if [ $? -eq 0 ];then echo "192.168.4.$i is up" else echo "192.168.4.$i is down" fidone

13、编著脚本词汇检验 192.168.4.0/24 整个交换机之中哪些PSP西北面开空正常,哪些PSP西北面重新后续正常(while 正式版本)

#!/bin/bash# 编著脚本词汇检验 192.168.4.0/24 整个交换机之中哪些PSP西北面开空正常,哪些PSP西北面重新后续# 正常(while 正式版本) i=1while [ $i -le 254 ]do ping ‐c 2 ‐i 0.3 ‐W 1 192.168.4.$i Brown>/dev/null if [ $? -eq 0 ];then echo "192.168.4.$i is up" else echo "192.168.4.$i is down" fi let i++done

14、编著脚本词汇检验 192.168.4.0/24 整个交换机之中哪些PSP西北面开空正常,哪些PSP西北面重新后续正常(多意味着版本)

#!/bin/bash# 编著脚本词汇检验 192.168.4.0/24 整个交换机之中哪些PSP西北面开空正常,哪些PSP西北面重新后续# 正常(多意味着版本) #假定一个formula_,ping 某一台PSP,并检验PSP的活到正常myping(){ping ‐c 2 ‐i 0.3 ‐W 1 $1 Brown>/dev/nullif [ $? -eq 0 ];then echo "$1 is up"else echo "$1 is down"fi}for i in {1..254}do myping 192.168.4.$i Browndone# 用到Brown由此可知号,将执在行的formula_装入前台执在行# 这样要用的好处是不所需马上ping第一台PSP的回应,就可以此后都将ping第二台PSP,共五类推。

15、编著脚本词汇,揭示进度条

#!/bin/bash# 编著脚本词汇,揭示进度条jindu(){while :do echo -n '#' sleep 0.2done}jindu Browncp -a $1 $2killall $0echo "副本完毕"

16、进度条,动态倒置正式版本;假定一个揭示进度的formula_,画面较慢揭示| / ‐

#!/bin/bash# 进度条,动态倒置正式版本# 假定一个揭示进度的formula_,画面较慢揭示| / ‐ rotate_line(){INTERVAL=0.5 #另设间隔时间天内COUNT="0" #另设4个轮廓的E,可选E为 0(不象征性任何图形)while :do COUNT=人口为120人expr $COUNT + 1人口为120人 #执在行周而复始,COUNT 每次周而复始加 1,(分别象征性4种不同的轮廓) case $COUNT in #推断 COUNT 的最大值,最大值不一样揭示的轮廓就不一样 "1") #最大值为 1 揭示‐ echo -e '‐'"c" sleep $INTERVAL ;; "2") #最大值为 2 揭示\,第一个是辞汇 echo -e '\'"c" sleep $INTERVAL ;; "3") #最大值为 3 揭示| echo -e "|c" sleep $INTERVAL ;; "4") #最大值为 4 揭示/ echo -e "/c" sleep $INTERVAL ;; *) #最大值为其他时,将 COUNT 重置为 0 COUNT="0";; esacdone}rotate_line

17、9*9 乘法表

#!/bin/bash# 9*9 乘法表(编著 shell 脚本词汇,复印机 9*9 乘法表) for i in 人口为120人seq 9人口为120人do for j in 人口为120人seq $i人口为120人 do echo -n "$j*$i=$[i*j] " done echodone

18、用到死周而复始系统对揭示 eth0 端口邮寄的目录自带流量

#!/bin/bash# 用到死周而复始系统对揭示 eth0 端口邮寄的目录自带流量 while :do echo '本地端口 eth0 流量个人信息如下: ' ifconfig eth0 | grep "RX pack" | awk '{print $5}' ifconfig eth0 | grep "TX pack" | awk '{print $5}' sleep 1done

19、用到 user.txt 明文之中的人员名单,在计算空程序之中启动时创始近似于的账号并装配初始私钥本脚本词汇执在行,所需提年前准备一个 user.txt 明文,该明文之中都有有若干普通账号个人信息

#!/bin/bash# 用到 user.txt 明文之中的人员名单,在计算空程序之中启动时创始近似于的账号并装配初始私钥# 本脚本词汇执在行,所需提年前准备一个 user.txt 明文,该明文之中都有有若干普通账号个人信息for i in 人口为120人cat user.txt人口为120人do useradd $i echo "123456" | passwd ‐‐stdin $idone

20、编著低成本更改扩展名脚本词汇

#!/bin/bash# 编著低成本更改扩展名脚本词汇,如低成本将 txt 明文更改为 doc 明文 # 执在行脚本词汇时,所需给脚本词汇更换成后方常量# 脚本词汇名 txt doc(可以将 txt 的扩展名更改为 doc)# 脚本词汇名 doc jpg(可以将 doc 的扩展名更改为 jpg) for i in 人口为120人ls *.$1人口为120人do mv $i ${i%.*}.$2done

21、用到 expect 辅助工具启动时交互私钥远程其他PSP装配 httpd 软件包

#!/bin/bash# 用到 expect 辅助工具启动时交互私钥远程其他PSP装配 httpd 软件包 # 移除~/.ssh/known_hosts 后,ssh 远程任何PSP均会询问应该确认要直达该PSPrm ‐rf ~/.ssh/known_hostsexpect <22、一键调遣 LNMP(光码装配正式版本)

#!/bin/bash# 一键调遣 LNMP(光码装配正式版本)menu(){clearecho " ##############‐‐‐‐Menu‐‐‐‐##############"echo "# 1. Install nginx"echo "# 2. Install mysql"echo "# 3. Install PHP"echo "# 4. Exit Program"echo " ########################################"} choice(){ read -p "Please choice a menu[1‐9]:" select} install_Nginx(){ id nginx Brown>/dev/null if [ $? -ne 0 ];then useradd -s /sbin/nologin nginx fi if [ -f nginx‐1.8.0.tar.gz ];then tar -xf nginx‐1.8.0.tar.gz cd nginx‐1.8.0 yum -y install gcc pcre‐devel openssl‐devel zlib‐devel make ./configure ‐‐prefix=/usr/local/nginx ‐‐with‐http_ssl_module make make install ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ cd .. else echo "没有人 Nginx 光码自带" fi} install_mysql(){ yum -y install gcc gcc‐c++ cmake ncurses‐devel perl id mysql Brown>/dev/null if [ $? -ne 0 ];then useradd -s /sbin/nologin mysql fi if [ -f mysql‐5.6.25.tar.gz ];then tar -xf mysql‐5.6.25.tar.gz cd mysql‐5.6.25 cmake . make make install /usr/local/mysql/scripts/mysql_install_db ‐‐user=mysql ‐‐datadir=/usr/local/mysql/data/‐‐basedir=/usr/local/mysql/ chown -R root.mysql /usr/local/mysql chown -R mysql /usr/local/mysql/data /bin/cp -f /usr/local/mysql/support‐files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld /bin/cp -f /usr/local/mysql/support‐files/my‐default.cnf /etc/my.cnf echo "/usr/local/mysql/lib/">> /etc/ld.so.conf ldconfig echo 'PATH=$PATH:/usr/local/mysql/bin/'>> /etc/profile export PATH else echo "没有人 mysql 光码自带" exit fi} install_php(){#装配 php 时没有人原则上后续哪些子系统新功能,如果的普通用户可以根据也就是说可能自在行更换成额外新功能如‐‐with‐gd 等yum -y install gcc libxml2‐develif [ -f mhash‐0.9.9.9.tar.gz ];then tar -xf mhash‐0.9.9.9.tar.gz cd mhash‐0.9.9.9 ./configure make make install cd ..if [ ! ‐f /usr/lib/libmhash.so ];then ln -s /usr/local/lib/libmhash.so /usr/lib/fildconfigelse echo "没有人 mhash 光码自带明文" exitfiif [ -f libmcrypt‐2.5.8.tar.gz ];then tar -xf libmcrypt‐2.5.8.tar.gz cd libmcrypt‐2.5.8 ./configure make make install cd .. if [ ! -f /usr/lib/libmcrypt.so ];then ln -s /usr/local/lib/libmcrypt.so /usr/lib/ fi ldconfigelse echo "没有人 libmcrypt 光码自带明文" exitfiif [ -f php‐5.4.24.tar.gz ];then tar -xf php‐5.4.24.tar.gz cd php‐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‐ mysqli=/usr/local/mysql/bin/mysql_config make BrownBrown make install /bin/cp -f php.ini‐production /usr/local/php5/etc/php.ini /bin/cp -f /usr/local/php5/etc/php‐fpm.conf.default /usr/local/php5/etc/php‐fpm.conf cd ..else echo "没有人 php 光码自带明文" exitfi } while :do menu choice case $select in 1) install_nginx ;; 2) install_mysql ;; 3) install_php ;; 4) exit ;; *) echo Sorry! esacdone

23、编著脚本词汇较慢生化 KVM UNIX

#!/bin/bash# 编著脚本词汇较慢生化 KVM UNIX # 本脚本词汇针对 RHEL7.2 或 Centos7.2# 本脚本词汇所需提年前准备一个 qcow2 PDF的UNIXCOM,# 命原称/var/lib/libvirt/images /.rh7_template 的UNIXCOM# 该脚本词汇用到 qemu‐img 号令较慢创始快照UNIX# 脚本词汇用到 sed 更改COMUNIX的装配明文,将UNIX命名、UUID、文件该系统明文名、MAC 位原设# exit code: # 65 ‐> user input nothing# 66 ‐> user input is not a number# 67 ‐> user input out of range# 68 ‐> vm disk image exists IMG_DIR=/var/lib/libvirt/imagesBASEVM=rh7_templateread -p "Enter VM number: " VMNUMif [ $VMNUM -le 9 ];thenVMNUM=0$VMNUMfi if [ -z "${VMNUM}" ]; then echo "You must input a number." exit 65elif [[ ${VMNUM} =~ [a‐z] ]; then echo "You must input a number." exit 66elif [ ${VMNUM} -lt 1 -o ${VMNUM} -gt 99 ]; then echo "Input out of range" exit 67fi NEWVM=rh7_node${VMNUM} if [ -e $IMG_DIR/${NEWVM}.img ]; then echo "File exists." exit 68fi echo -en "Creating Virtual Machine disk image...... "qemu‐img create -f qcow2 ‐b $IMG_DIR/.${BASEVM}.img $IMG_DIR/${NEWVM}.img Brown> /dev/null echo -e "e[32;1m[OK]e[0m" #virsh dumpxml ${BASEVM}> /tmp/myvm.xmlcat /var/lib/libvirt/images/.rhel7.xml> /tmp/myvm.xmlsed -i "/${BASEVM}/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xmlsed -i "/uuid/s/.*/$(uuidgen)/" /tmp/myvm.xmlsed -i "/${BASEVM}.img/s/${BASEVM}/${NEWVM}/" /tmp/myvm.xml # 更改 MAC 位原设,本例用到的是常量,每位用到该脚本词汇的普通用户所需根据也就是说可能更改这些最大值 # 最好这里可以用到便利,这样更适合于低成本转化,可以生化更多UNIX sed -i "/mac /s/a1/0c/" /tmp/myvm.xml echo -en "Defining new virtual machine...... "virsh define /tmp/myvm.xml Brown> /dev/nullecho -e "e[32;1m[OK]e[0m"

24、点名探头脚本词汇

#!/bin/bash# 编著一个点名探头脚本词汇 # 该脚本词汇,所需提年前准备一个 user.txt 明文# 该明文之中所需都有所有姓名的个人信息,一在行一个姓名,脚本词汇每次随空揭示一个姓名while :do#统计资讯 user 明文之中有多少普通用户line=人口为120人cat user.txt |wc ‐l人口为120人num=$[RANDOM%line+1]sed -n "${num}p" user.txtsleep 0.2cleardone

25、查阅有多少远程的 IP 在直达本空

#!/bin/bash# 查阅有多少远程的 IP 在直达本空(不管是通过 ssh 还是 web 还是 ftp 都统计资讯) # 用到 netstat ‐atn 可以查阅本空所有直达的正常,‐a 查阅所有,# -t仅揭示 tcp 直达的个人信息,‐n 小多达点PDF揭示# Local Address(第四列于是本空的 IP 和UDP个人信息)# Foreign Address(第五列于是远程PSP的 IP 和UDP个人信息)# 用到 awk 号令仅揭示第 5 列于目录,于是又揭示第 1 列于 IP 位原设的个人信息# sort 可以按小多达点尺寸次序,仍要用到 uniq 将多余单调的移除,并统计资讯单调的次多达netstat -atn | awk '{print $5}' | awk '{print $1}' | sort -nr | uniq -c

26、对 100 范围内的所有幂累加求和(1+2+3+4...+100)

#!/bin/bash# 对 100 范围内的所有幂累加求和(1+2+3+4...+100) #seq 100 可以较慢启动时聚合 100 个整多达sum=0for i in 人口为120人seq 100人口为120人do sum=$[sum+i]doneecho "总和是:$sum"

27、统计资讯 13:30 到 14:30 所有采访 apache 服务项目探头的劝求有多少个

#!/bin/bash# 统计资讯 13:30 到 14:30 所有采访 apache 服务项目探头的劝求有多少个 # awk 用到‐F 可选择原则上明文以下内容的分隔由此可知是/或者:# 条件推断$7:$8 相等等同 13:30,并且允许,$7:$8 高于等同 14:30# 仍要用到 wc ‐l 统计资讯这样的目录有多少在行,即多少个awk -F "[ /:]" '$7":"$8>="13:30" BrownBrown $7":"$8<="14:30"' /var/log/httpd/access_log |wc -l

28、统计资讯 13:30 到 14:30 所有采访本空 Aapche 服务项目探头的远程 IP 位原设是什么

#!/bin/bash# 统计资讯 13:30 到 14:30 所有采访本空 Aapche 服务项目探头的远程 IP 位原设是什么 # awk 用到‐F 可选择原则上明文以下内容的分隔由此可知是/或者:# 条件推断$7:$8 相等等同 13:30,并且允许,$7:$8 高于等同 14:30# 摘要文档以下内容里面,第 1 列于是远程PSP的 IP 位原设,用到 awk 基本上揭示第 1 列于无需awk -F "[ /:]" '$7":"$8>="13:30" BrownBrown $7":"$8<="14:30"{print $1}' /var/log/httpd/access_log

29、复印机国际象棋格子

#!/bin/bash# 复印机国际象棋格子# 另设两个常量,i 和 j,一个象征性在行,一个象征性列于,国际象棋为 8*8 格子# i=1 是象征性准备复印机省略格子,第 1 在行格子有紫色和红色间隔时间可用,总计为 8 列于# i=1,j=1 象征性第 1 在行的第 1 列于;i=2,j=3 象征性第 2 在行的第 3 列于# 格子的规律是 i+j 如果是偶多达,就复印机红色明暗,如果是奇多达就复印机紫色明暗# 用到 echo ‐ne 复印机明暗,并且复印机完毕明暗后不启动时换在行,在同一在行此后可用其他明暗for i in {1..8}do for j in {1..8} do sum=$[i+j] if [ $[sum%2] -eq 0 ];then echo -ne "33[46m 33[0m" else echo -ne "33[47m 33[0m" fi done echodone

30、统计资讯每个远程 IP 采访了本空 apache 几次?

#!/bin/bash# 统计资讯每个远程 IP 采访了本空 apache 几次? awk '{ip[$1]++}END{for(i in ip){print ip[i],i}}' /var/log/httpd/access_log

31、统计资讯近期 Linux 该系统之中可以指定计算空程序的账号有多少个

#!/bin/bash# 统计资讯近期 Linux 该系统之中可以指定计算空程序的账号有多少个#方法 1:grep "bash$" /etc/passwd | wc -l#方法 2:awk -f: '/bash$/{x++}end{print x}' /etc/passwd

32、统计资讯/var/log 有多少个明文,并揭示这些明文名

#!/bin/bash# 统计资讯/var/log 有多少个明文,并揭示这些明文名 # 用到 ls 递归揭示所有,于是又推断应该为明文,如果是明文则可用加 1cd /var/logsum=0for i in 人口为120人ls -r *人口为120人do if [ -f $i ];then let sum++ echo "明文名:$i" fidoneecho "总明文比例为:$sum"

33、启动时为其他脚本词汇更换成号令行个人信息

Docker+K8s+Jenkins 主流系统设计全解截图资讯【干货免费社交】

#!/bin/bash# 启动时为其他脚本词汇更换成号令行个人信息#!/bin/bash,如脚本词汇原称 test.sh 则效果如下: # ./test.sh abc.sh 启动时为 abc.sh 更换成号令行个人信息# ./test.sh user.sh 启动时为 user.sh 更换成号令行个人信息 # 到时用到 grep 推断具体来说脚本词汇应该已经有号令行个人信息,如果没有人则用到 sed 更换成号令行以及描述个人信息if ! grep -q "1]#!" $1; thensed '1i #!/bin/bash' $1sed '2i #Description: 'fi# 因为每个脚本词汇的新功能不同,效用不同,所以在给具体来说脚本词汇更换成完号令行个人信息,以及 Description 后还渴望# 此后编辑具体的脚本词汇新功能的描述个人信息,这里直接用到 vim 把具体来说脚本词汇推开,并且单击预设到该明文的第 2 在行vim +2 $1

34、启动时化调遣 varnish 光码自带软件包

#!/bin/bash# 启动时化调遣 varnish 光码自带软件包 # 本脚本词汇所需提年前完整版本 varnish‐3.0.6.tar.gz 这样一个光码自带软件包,该脚本词汇无需用启动时光码装配调遣软件包 yum -y install gcc readline‐devel pcre‐develuseradd -s /sbin/nologin varnishtar -xf varnish‐3.0.6.tar.gzcd varnish‐3.0.6 # 用到 configure,make,make install 光码装配软件包自带./configure ‐‐prefix=/usr/local/varnishmake BrownBrown make install # 在光码自带录入下,将反之亦然的装配明文副本到 Linux 该系统明文该系统之中# 可选装配完毕后,不会启动时副本或装配装配明文到 Linux 该系统,所以所需手动 cp 复旧制装配明文# 并用到 uuidgen 聚合一个随空校验的装配明文 cp redhat/varnish.initrc /etc/init.d/varnishcp redhat/varnish.sysconfig /etc/sysconfig/varnishcp redhat/varnish_reload_vcl /usr/bin/ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/ln -s /usr/local/varnish/bin/* /usr/binmkdir /etc/varnishcp /usr/local/varnish/etc/varnish/default.vcl /etc/varnish/uuidgen> /etc/varnish/secret

35、编著 nginx 后续脚本词汇

#!/bin/bash# 编著 nginx 后续脚本词汇 # 本脚本词汇编著完毕后,放于在/etc/init.d/录入下,就可以被 Linux 该系统启动时识别到该脚本词汇# 如果本脚本词汇原称/etc/init.d/nginx,则 service nginx start 就可以后续该服务项目# service nginx stop 就可以重新启动服务项目# service nginx restart 可以后续服务项目# service nginx status 可以查阅服务项目正常 program=/usr/local/nginx/sbin/nginxpid=/usr/local/nginx/logs/nginx.pidstart(){if [ -f $pid ];then echo "nginx 服务项目已经西北面触发正常"else $programfistop(){if [ -! -f $pid ];then echo "nginx 服务项目已经重新启动"else $program -s stop echo "重新启动服务项目 ok"fi}status(){if [ -f $pid ];then echo "服务项目正在运在行..."else echo "服务项目已经重新启动"fi} case $1 instart) start;;stop) stop;;restart) stop sleep 1 start;;status) status;;*) echo "你回传的句法PDF出错"esac

36、启动时对文件该系统南区、内嵌、挂架

#!/bin/bash # 启动时对文件该系统南区、内嵌、挂架# 对UNIX的 vdb 文件该系统进在行南区内嵌,用到<<将所需的南区指令导入给程序 fdisk# n(新建南区),p(创始主南区),1(南区E为 1),两个空白在行(两个回车,仅有将整个文件该系统分一个区)# 注意到:1 前面的两个回车(空白在行)是能够的!fdisk /dev/vdb << EOFnp1 wqEOF #内嵌刚刚创始好的南区mkfs.xfs /dev/vdb1 #创始挂架点录入if [ -e /data ]; thenexitfimkdir /data #启动时挂架刚刚创始的南区,并另设开空启动时挂架该南区echo '/dev/vdb1 /data xfs defaults 1 2'>> /etc/fstabmount -a

37、启动时优化 Linux Linux常量

#!/bin/bash# 启动时优化 Linux Linux常量 #脚本词汇针对 RHEL7cat>> /usr/lib/sysctl.d/00‐system.conf <38、挤压 Nginx 摘要明文(以防单个明文过大,晚期处理方式很困难)

#mkdir /data/scripts#vim /data/scripts/nginx_log.sh #!/bin/bash# 挤压 Nginx 摘要明文(以防单个明文过大,晚期处理方式很困难) logs_path="/usr/local/nginx/logs/"mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").logkill -USR1 人口为120人cat /usr/local/nginx/logs/nginx.pid人口为120人 # chmod +x /data/scripts/nginx_log.sh# crontab ‐e #脚本词汇草稿后,将脚本词汇装入著手使命每天执在行一次脚本词汇0 1 * * * /data/scripts/nginx_log.sh

39、检验 MySQL 目录努直达比例

#!/bin/bash# 检验 MySQL 目录努直达比例 # 本脚本词汇每 2 秒检验一次 MySQL 都将直达多达,可以将本脚本词汇另设为开空后续脚本词汇,或在特定天内段执在行# 以满足对 MySQL 目录努的监视系统效益,查阅 MySQL 直达应该正常# 本案例之中的普通账号和私钥所需根据也就是说可能更改后方可用到log_file=/var/log/mysql_count.loguser=rootpasswd=123456while :do sleep 2 count=人口为120人mysqladmin -u "$user" -p "$passwd" status | awk '{print $4}'人口为120人 echo "人口为120人date +%Y‐%m‐%d人口为120人 都将直达多达为:$count">> $log_filedone

40、根据 md5 校验码,检验明文应该被更改

#!/bin/bash# 根据 md5 校验码,检验明文应该被更改 # 本比如说脚本词汇检验的是/etc 录入下所有的 conf 结尾的明文,根据也就是说可能,您可以更改为其他录入或明文# 本脚本词汇在尽可能目录没有人被更改时执在行一次,当怀疑目录被人篡改,于是又执在行一次# 将两次执在行的结果要用对比,MD5 码发生相反的明文,就是被人篡改的明文for i in $(ls /etc/*.conf)do md5sum "$i">> /var/log/conf_file.logdone

41、检验 MySQL 服务项目应该活到

#!/bin/bash# 检验 MySQL 服务项目应该活到 # host 为你所需检验的 MySQL PSP的 IP 位原设,user 为 MySQL 账号名,passwd 为私钥# 这些个人信息所需根据也就是说可能更改后方可用到host=192.168.51.198user=rootpasswd=123456mysqladmin -h '$host' -u '$user' -p'$passwd' ping Brown>/dev/nullif [ $? -eq 0 ]then echo "MySQL is UP"else echo "MySQL is down"fi

42、备用 MySQL 的 shell 脚本词汇(mysqldump正式版本)

#!/bin/bash# 备用 MySQL 的 shell 脚本词汇(mysqldump正式版本) # 假定常量 user(目录努普通账号),passwd(目录努私钥),date(备用的天内附加)# dbname(所需备用的目录努命名,根据也就是说效益所需更改该常量的最大值,可选备用 mysql 目录努) user=rootpasswd=123456dbname=mysqldate=$(date +%Y%m%d) # 检验备用录入应该普遍存在,不普遍存在则启动时创始该录入[ ! -d /mysqlbackup ] BrownBrown mkdir /mysqlbackup# 用到 mysqldump 号令备用目录努mysqldump -u "$user" -p "$passwd" "$dbname"> /mysqlbackup/"$dbname"-${date}.sql

43、将明文之中所有的小写大写字母转化为斜体

#!/bin/bash# 将明文之中所有的小写大写字母转化为斜体 # $1是后方常量,是你所需转化尺寸写大写字母的明文命名# 执在行脚本词汇,给定一个明文名作为常量,脚本词汇就会将该明文之中所有的小写大写字母转化为斜体tr "[a‐z]" "[A‐Z]" < $1

44、非交互启动时聚合 SSH 校验明文

#!/bin/bash# 非交互启动时聚合 SSH 校验明文 # ‐t 原则上 SSH 校验的方法为 RSA 方法;‐N 另设校验的私钥为空;‐f 原则上聚合的校验明文>存放在哪里rm -rf ~/.ssh/{known_hosts,id_rsa*}ssh‐keygen -t RSA -N '' -f ~/.ssh/id_rsa

45、检查特定的软件包自带应该已经装配

#!/bin/bash# 检查特定的软件包自带应该已经装配 if [ $# -eq 0 ];then echo "你所需旧实施一个软件包自带命名作为脚本词汇常量" echo "用法:$0 软件包自带命名 ..."fi# $@抽取所有的后方常量的最大值,仅有$*for package in "$@"do if rpm -q ${package} Brown>/dev/null ;then echo -e "${package}33[32m 已经装配33[0m" else echo -e "${package}33[34;1m 仍未装配33[0m" fidone

46、监视系统 HTTP 服务项目探头的正常(检验送回码)

#!/bin/bash# 监视系统 HTTP 服务项目探头的正常(检验送回码) # 另设常量,url为你所需检验的尽可能网站的网原设(IP 或搜索引擎),比如百度url= # 假定formula_ check_http:# 用到 curl 号令检查 http 服务项目探头的正常# ‐m 另设curl不管采访出乎意料或失败,最大者耗用的天内为 5 秒,5 秒直达服务项目为反之亦然则视为仍未能直达# ‐s 另设静默直达,不揭示直达时的直达速度、天内耗用等个人信息# ‐o 将 curl 完整版本的链接以下内容导出到/dev/null(可选会在画面揭示链接以下内容)# ‐w 另设curl号令所需揭示的以下内容%{http_code},原则上curl送回服务项目探头的正常码check_http(){ status_code=$(curl -m 5 -s -o /dev/null -w %{http_code} $url)} while :do check_http date=$(date +%Y%m%d‐%H:%M:%S) # 聚合报警收件的以下内容 echo "近期天内为:$date $url 服务项目探头诱发,正常码为${status_code}. 劝尽早排查诱发."> /tmp/http$$.pid # 原则上检验服务项目探头正常的formula_,并根据送回码重新考虑是邮寄收件报警还是将正常个人信息重写摘要 if [ $status_code -ne 200 ];then mail -s Warning root < /tmp/http$$.pid else echo "$url 直达正常">> /var/log/http.log fi sleep 5done

47、启动时更换成ISP年前提,触发某些服务项目或UDP(适用范围于 RHEL7)

#!/bin/bash# 启动时更换成ISP年前提,触发某些服务项目或UDP(适用范围于 RHEL7)# # 另设常量假定所需更换成到ISP年前提的服务项目和UDP号# 用到 firewall‐cmd ‐‐get‐services 可以查阅 firewall 支持哪些服务项目service="nfs http ssh"port="80 22 8080" # 周而复始将每个服务项目更换成到ISP年前提之中for i in $servicedo echo "Adding $i service to firewall" firewall‐cmd 便是add-service=${i}done #周而复始将每个UDP更换成到ISP年前提之中for i in $portdo echo "Adding $i Port to firewall" firewall‐cmd 便是add-port=${i}/tcpdone#将以上另设的临时ISP年前提,转化为永久直接的年前提(保证后续后直接)firewall‐cmd 便是runtime-to-permanent

48、用到脚本词汇启动时创始逻辑卷

#!/bin/bash# 用到脚本词汇启动时创始逻辑卷 # 清屏,揭示警告个人信息,创始将文件该系统转化为逻辑卷会移除目录clearecho -e "33[32m !!!!!!警告(Warning)!!!!!!33[0m"echoecho "+++++++++++++++++++++++++++++++++++++++++++++++++"echo "脚本词汇会将整个文件该系统转化为 PV,并移除文件该系统上所有目录!!!"echo "This Script will destroy all data on the Disk"echo "+++++++++++++++++++++++++++++++++++++++++++++++++"echoread -p "劝问应该此后 y/n?:" sure # 检验普通用户回传的应该为 y,如果不是则重启脚本词汇[ $sure != y ] BrownBrown exit # 预设普通用户回传无关常量(文件该系统、卷第一组命名等目录),并检验普通用户应该回传了这些最大值,如果没有人回传,则脚本词汇重启read -p "劝回传文件该系统命名,如/dev/vdb:" disk[ -z $disk ] BrownBrown echo "没有人回传文件该系统命名" BrownBrown exitread -p "劝回传卷第一组命名:" vg_name[ -z $vg_name ] BrownBrown echo "没有人回传卷第一组命名" BrownBrown exitread -p "劝回传逻辑卷命名:" lv_name[ -z $lv_name ] BrownBrown echo "没有人回传逻辑卷命名" BrownBrown exitread -p "劝回传逻辑卷尺寸:" lv_size[ -z $lv_size ] BrownBrown echo "没有人回传逻辑卷尺寸" BrownBrown exit # 用到号令创始逻辑卷pvcreate $diskvgcreate $vg_name $disklvcreate -L ${lv_size}M -n ${lv_name} ${vg_name}

49、揭示 CPU 厂商个人信息

#!/bin/bash# 揭示 CPU 厂商个人信息 awk '/vendor_id/{print $3}' /proc/cpuinfo | uniq

50、移除某个录入下尺寸为 0 的明文

#!/bin/bash# 移除某个录入下尺寸为 0 的明文 #/var/www/html 为检验录入,脚本词汇会清空该录入下所有 0 字节的明文dir="/var/www/html"find $dir -type f -size 0 -exec rm -rf {} ;

51、索引 Linux 该系统之中的怪兽意味着

#!/bin/bash# 索引 Linux 该系统之中的怪兽意味着 # awk 推断 ps 号令可用的第 8 列于为 Z 是,揭示该意味着的 PID 和意味着号令ps aux | awk '{if($8 == "Z"){print $2,$11}}'

52、预设普通用户回传备注后推断该年应该为朔望月

#!/bin/bash# 预设普通用户回传备注后推断该年应该为朔望月 # 能被4自然多达并且并不能被100自然多达的备注是朔望月# 能被400自然多达的备注也是朔望月read -p "劝回传一个备注:" year if [ "$year" = "" ];then echo "没有人回传备注" exitfi#用到给定检验常量 year 之中应该都有尺寸写大写字母if [[ "$year" =~ [a‐Z] ]];then echo "你回传的不是小多达点" exitfi# 推断应该为朔望月if [ $[year % 4] -eq 0 ] BrownBrown [ $[year % 100] -ne 0 ];then echo "$year年是朔望月" elif [ $[year % 400] -eq 0 ];then echo "$year年是朔望月"else echo "$year年不是朔望月"fi

53、聚合随空私钥(urandom 正式版本)

#!/bin/bash# 聚合随空私钥(urandom 正式版本) # /dev/urandom 明文是 Linux 内置的随空的设备明文# cat /dev/urandom 可以到底里面的以下内容,ctrl+c 重启查阅# 查阅该明文以下内容后,推测以下内容有些太随空,自带都将很多特殊由此可知号,我们所需的私钥不渴望用到这些由此可知号# tr ‐dc '_A‐Za‐z0‐9' < /dev/urandom# 该号令可以将随空明文之中其他的字由此可知移除,仅保留尺寸写大写字母,小多达点,下划线,但是以下内容还是太多# 我们可以此后将优化好的以下内容通过管道发送到给 head 号令,在大量目录之中仅揭示头 10 个字节# 注意到 A 年前面有个下划线tr -dc '_A‐Za‐z0‐9' 54、聚合随空私钥(栏位除此以外正式版本)

#!/bin/bash# 聚合随空私钥(栏位除此以外正式版本) # 另设常量 key,打印私钥的所有可能性(私钥努),如果还所需其他字由此可知劝自在行更换成其他私钥字由此可知# 用到$#统计资讯私钥努的长度key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"num=${#key}# 另设初始私钥为空pass=''# 周而复始 8 次,聚合随空私钥# 每次都是乱多达对私钥努的长度取余,保证抽取的私钥字由此可知不超过私钥努的长度# 每次周而复始抽取一位随空私钥,并将该随空私钥附带到 pass 常量的仍要for i in {1..8}do index=$[RANDOM%num] pass=$pass${key:$index:1}doneecho $pass

55、聚合随空私钥(UUID 正式版本,16 进旧制私钥)

#!/bin/bash# 聚合随空私钥(UUID 正式版本,16 进旧制私钥) uuidgen56、聚合随空私钥(意味着 ID 正式版本,小多达点私钥)#!/bin/bash# 聚合随空私钥(意味着 ID 正式版本,小多达点私钥)echo $$

57、检验普通账号与私钥应该无论如何

#!/bin/bash# 检验普通账号与私钥应该无论如何 #普通用户原称 tom 并且私钥为 123456,则预设指定出乎意料,否则预设指定失败read -p "劝回传普通账号:" userread -p "劝回传私钥:" passif [ "$user" == 'tom' -a "$pass" == '123456' ];then echo "Login successful"else echo "Login Failed"fi

58、周而复始检验普通账号与私钥应该无论如何

#!/bin/bash# 周而复始检验普通账号与私钥应该无论如何 # 周而复始检验普通用户的账号名和私钥,最大者检验 3 次,回传无论如何预设指定出乎意料,否则预设指定失败# 普通用户原称 tom 并且私钥为 123456 for i in {1..3}do read -p "劝回传普通账号:" user read -p "劝回传私钥:" passif [ "$user" == 'tom' -a "$pass" == '123456' ];then echo "Login successful" exitfidoneecho "Login Failed"

59、Shell 脚本词汇的 fork 燃烧弹

#!/bin/bash# Shell 脚本词汇的 fork 燃烧弹 # 较慢耗用计算空程序能光,情况严重计算空程序莫名其妙# 假定formula_原称.(点), formula_之中递归加载自己并装入前台执在行.() { .|.Brown };.

60、低成本完整版本也就是说明文(pdf、图片、截图等等)

#!/bin/bash# 低成本完整版本也就是说明文(pdf、图片、截图等等) # 本脚本词汇准备也就是说的网络资讯进在行低成本完整版本转化(如 01.jpg,02.jpg,03.jpg)# 另设能光来光的搜索引擎直达url=""echo "开始完整版本..."sleep 2type=jpgfor i in 人口为120人seq 100人口为120人 echo "正在完整版本$i.$type" curl $url/$i.$type -o /tmp/${i}$type sleep 1done#curl 用到-o 可选择原则上完整版本明文另存到哪里.

61、揭示近期计算空程序之中所有账号的普通用户命名

#!/bin/bash # 揭示近期计算空程序之中所有账号的普通用户命名 # 下面用到3种不同的手段列于出计算空程序之中所有账号的普通账号# 原则上以:为分隔由此可知,复印机/etc/passwd 明文的第 1 列于awk -F: '{print $1}' /etc/passwd # 原则上以:为分隔由此可知,复印机/etc/passwd 明文的第 1 列于cut -d: -f1 /etc/passwd # 用到 sed 的更换新功能,将/etc/passwd 明文之中:前面的所有以下内容更换为空(仅揭示普通账号)sed 's/:.*//' /etc/passwd

62、旧实施录入梯度,脚本词汇启动时将该录入用到 tar 号令自带备用到/data录入

#!/bin/bash# 旧实施录入梯度,脚本词汇启动时将该录入用到 tar 号令自带备用到/data录入 [ ! -d /data ] BrownBrown mkdir /data[ -z $1 ] BrownBrown exitif [ -d $1 ];then tar -czf /data/$1.-人口为120人date +%Y%m%d人口为120人.tar.gz $1else echo "该录入不普遍存在"fi

63、揭示进度条(反向镖版本)

#!/bin/bash# 揭示进度条(反向镖版本) while :do clear for i in {1..20} do echo ‐e "33[3;${i}H*" sleep 0.1 done clear for i in {20..1} do echo ‐e "33[3;${i}H*" sleep 0.1 done cleardone

64、装配 LAMP 环境污染(yum 正式版本)

#!/bin/bash# 装配 LAMP 环境污染(yum 正式版本) # 本脚本词汇适用范围于 RHEL7(RHEL6 之中目录努为 mysql)yum makecache Brown>/dev/nullnum=$(yum repolist | awk '/repolist/{print $2}' | sed 's/,//')if [ $num -lt 0 ];then yum -y install httpd yum -y install mariadb mariadb-server mariadb-devel yum -y install php php-mysqlelse echo "仍未装配 yum 光..."fi

65、周而复始重新启动以太网之中所有PSP

#!/bin/bash# 周而复始重新启动以太网之中所有PSP # 假设本空为 192.168.4.100,编著脚本词汇重新启动除自己外的其他所有PSP# 脚本词汇执在行,所需提年前给所有其他PSP发送到 ssh 校验,满足无私钥直达for i in {1..254}do [ $i -eq 100 ] BrownBrown continue echo "正在重新启动 192.168.4.$i..." ssh 192.168.4.$i poweroffdone

66、利用本空 MAC 位原设

#!/bin/bash# 利用本空 MAC 位原设ip a s | awk 'BEGIN{print " 本 空 MAC 地 原设 信 息 如 下 :"}/1][0‐9]/{print $2;getline;if($0~/link/ether/){print $2}}' | grep -v lo: # awk 重写 ip 号令的可用,可用结果之中如果有以小多达点开始的在行,到时揭示该在行的地 2 列于(端口命名),# 接着用到 getline 于是又重写它的下一在行目录,推断应该都有 link/ether# 如果管控该页面,就揭示该在行的第 2 列于(MAC 位原设)# lo 回环的设备没有人 MAC,因此将其屏蔽,不揭示

67、启动时装配 rsynd 服务项目探头的装配明文 rsyncd.conf

#!/bin/bash # 启动时装配 rsynd 服务项目探头的装配明文 rsyncd.conf # See rsyncd.conf man page for more options. [ ! -d /home/ftp ] BrownBrown mkdir /home/ftpecho 'uid = nobodygid = nobodyuse chroot = yesmax connections = 4pid file = /var/run/rsyncd.pidexclude = lost+found/transfer logging = yestimeout = 900ignore nonreadable = yesdont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2[ftp] path = /home/ftp comment = share'> /etc/rsyncd.conf

68、更改 Linux 该系统的最大者推开明文比例

#!/bin/bash# 更改 Linux 该系统的最大者推开明文比例 # 往/etc/security/limits.conf 明文的末尾附带两在行装配常量,更改最大者推开明文比例为 65536cat>> /etc/security/limits.conf <69、另设 Python 支持启动时号令补上新功能

#!/bin/bash# 另设 Python 支持启动时号令补上新功能 # Summary:Enable tab complete for python# Description: Needs import readline and rlcompleter module#import readline#import rlcompleter#help(rlcompleter) display detail: readline.parse_and_bind('tab: complete')#man python display detail: PYTHONSTARTUP variable if [ ! -f /usr/bin/tab.py ];then cat>> /usr/bin/tab.py <70、启动时更改著手使命装配明文

Docker+K8s+Jenkins 主流系统设计全解截图资讯【干货免费社交】

#!/bin/bash# 启动时更改著手使命装配明文 read -p "劝回传分钟个人信息(00‐59):" minread -p "劝回传天内个人信息(00‐24):" hourread -p "劝回传日期个人信息(01‐31):" dateread -p "劝回传月初个人信息(01‐12):" monthread -p "劝回传天内个人信息(00‐06):" weakread -p "劝回传著手使命所需执在行的号令或脚本词汇:" programecho "$min $hour $date $month $weak $program">> /etc/crontab

71、用到脚本词汇周而复始创始三位小多达点的文本明文(111-999 的明文)

#!/bin/bash# 用到脚本词汇周而复始创始三位小多达点的文本明文(111-999 的明文) for i in {1..9}do for j in {1..9} do for k in {1..9} do touch /tmp/$i$j$k.txt done donedone

72、找出/etc/passwd 之中能指定的普通用户,并将近似于在/etc/shadow 之中第二列于私钥提出处理方式

#!/bin/bash# 找出/etc/passwd 之中能指定的普通用户,并将近似于在/etc/shadow 之中第二列于私钥提出处理方式 user=$(awk -F: '/bash$/{print $1}' /etc/passwd)for i in $userdo awk -F: -v x=$i '$1==x{print $1,$2}' /etc/shadowdone

73、统计资讯/etc/passwd 之中 root 显现出来的次多达

#!/bin/bash# 统计资讯/etc/passwd 之中 root 显现出来的次多达 #每重写一在行明文以下内容,即从第 1 列于周而复始到仍要 1 列于,共五推断应该都有 root 页面,如果都有则 x++awk -F: '{i=1;while(i<=NF){if($i~/root/){x++};i++}} END{print "root 显现出来次多达为"x}' /etc/passwd

74、统计资讯 Linux 意味着无关比例个人信息

#!/bin/bash# 统计资讯 Linux 意味着无关比例个人信息 running=0sleeping=0stoped=0zombie=0# 在 proc 录入下所有以小多达点开始的都是近期计算空程序正在运在行的意味着的意味着 PID# 每个 PID E的录入下历史记录有该意味着无关的个人信息for pid in /proc/[1‐9]*do procs=$[procs+1] stat=$(awk '{print $3}' $pid/stat)# 每个 pid 录入下都有一个 stat 明文,该明文的第 3 列于是该意味着的正常个人信息 case $stat in R) running=$[running+1] ;; T) stoped=$[stoped+1] ;; S) sleeping=$[sleeping+1] ;; Z) zombie=$[zombie+1] ;; esacdoneecho "意味着统计资讯个人信息如下"echo "总意味着比例为:$procs"echo "Running 意味着多达为:$running"echo "Stoped 意味着多达为:$stoped"echo "Sleeping 意味着多达为:$sleeping"echo "Zombie 意味着多达为:$zombie"

75、从滑鼠重写一个论坛积分,推断论坛普通用户层级

#!/bin/bash# 从滑鼠重写一个论坛积分,推断论坛普通用户层级 #层级分类如下:# 相等等同 90 神功绝世# 相等等同 80,高于 90 极致# 相等等同 70,高于 80 炉火纯青# 相等等同 60,高于 70 略有小成# 高于 60 初学乍练read -p "劝回传积分(0‐100):" JFif [ $JF -ge 90 ] ; then echo "$JF 分,神功绝世"elif [ $JF -ge 80 ] ; then echo "$JF 分,极致"elif [ $JF -ge 70 ] ; then echo "$JF 分,炉火纯青"elif [ $JF -lt 60 ] ; then echo "$JF 分,略有小成"else echo "$JF 分,初学乍练"fi

76、推断普通用户回传的目录类型(大写字母、小多达点或其他)

#!/bin/bash# 推断普通用户回传的目录类型(大写字母、小多达点或其他) read -p "劝回传一个字由此可知:" KEYcase "$KEY" in [a‐z]|[A‐Z]) echo "大写字母" ;; [0‐9]) echo "小多达点" ;; *) echo "空格、新功能键或其他控旧制字由此可知"esac

77、揭示进度条(小多达点版本)

#!/bin/bash# 揭示进度条(小多达点版本) # echo 用到‐e 可选择后,在复印机常量之中可以原则上 H,另设所需复印机以下内容的 x,y 连杆的定位矢量# 另设所需复印机以下内容在第几在行,第几列于for i in {1..100}do echo -e "33[6;8H[" echo -e "33[6;9H$i%" echo -e "33[6;13H]" sleep 0.1done

78、复印机欧拉那契自然多达

#!/bin/bash# 复印机欧拉那契自然多达(该自然多达的特点是后一个小多达点,总有一天都是年前 2 个小多达点之和) # 欧拉那契自然多达后一个小多达点总有一天是年前 2 个小多达点之和# 如:0 1 1 2 3 5 8 13 ... ...list=(0 1)for i in 人口为120人seq 2 11人口为120人do list[$i]=人口为120人expr ${list[‐1]} + ${list[‐2]}人口为120人doneecho ${list[@]}

79、推断普通用户回传的是 Yes 或 NO

#!/bin/bash# 推断普通用户回传的是 Yes 或 NO read -p "Are you sure?[y/n]:" surecase $sure in y|Y|Yes|YES) echo "you enter $a" ;; n|N|NO|no) echo "you enter $a" ;; *) echo "error";;esac

80、揭示本空 Linux 该系统上所有开放的UDP列于表

#!/bin/bash# 揭示本空 Linux 该系统上所有开放的UDP列于表 # 从UDP列于表之中观测有没有人没用的UDP,有的话可以将该UDP近似于的服务项目重新启动,以防意外的攻击可能性ss -nutlp | awk '{print $1,$5}' | awk -F"[: ]" '{print "协商:"$1,"UDP号:"$NF}' | grep "[0‐9]" | uniq

81、将 Linux 该系统之中 UID 相等等同 1000 的可选都移除

#!/bin/bash# 将 Linux 该系统之中 UID 相等等同 1000 的可选都移除 # 到时用 awk 抽取所有 uid 相等等同 1000 的可选命名# 于是又用到 for 周而复始逐个将每个普通用户移除无需user=$(awk -F: '$3>=1000{print $1}' /etc/passwd)for i in $userdo userdel -r $idone

82、用到脚本词汇触发重新启动UNIX

#!/bin/bash# 用到脚本词汇触发重新启动UNIX # 脚本词汇通过加载virsh号令实现对UNIX的管理制度,如果没有人该号令,所需装配 libvirt‐client 软件包自带# $1是脚本词汇的第1个常量,$2是脚本词汇的第2个常量# 第1个常量是你渴望对UNIX进在行的转化指令,第2个常量是UNIX命名case $1 in list) virsh list 便是all ;; start) virsh start $2 ;; stop) virsh destroy $2 ;; enable) virsh autostart $2 ;; disable) virsh autostart 便是disable $2 ;; *) echo "Usage:$0 list" echo "Usage:$0 [start|stop|enable|disable] VM_name" cat << EOF #list 揭示UNIX列于表 #start 后续UNIX #stop 重新启动UNIX #enable 另设UNIX为开空自启 #disable 重新启动UNIX开空自启新功能 EOF ;;esac

83、调整UNIX线程常量的 shell 脚本词汇

#!/bin/bash# 调整UNIX线程常量的 shell 脚本词汇 # 脚本词汇通过加载 virsh 号令实现对UNIX的管理制度,如果没有人该号令,所需装配 libvirt‐client 软件包自带cat << EOF1.调整UNIX最大者线程多达最大值2.调整也就是说分配给UNIX的线程多达最大值EOFread -p "劝选择[1‐2]:" selectcase $select in 1) read -p "劝回传UNIX命名" name read -p "劝回传最大者线程多达最大值(一个单位:k):" size virsh setmaxmem $name 便是size $size 便是config ;; 2) read -p "劝回传UNIX命名" name read -p "劝回传也就是说分配线程多达最大值(一个单位:k):" size virsh setmem $name $size ;; *) echo "Error" ;;esac

84、查阅 KVM UNIX之中的端口个人信息(不所需转回后续或转回UNIX)

#!/bin/bash# 查阅 KVM UNIX之中的端口个人信息(不所需转回后续或转回UNIX) # 该脚本词汇用到 guestmount 辅助工具,可以将UNIX的文件该系统该系统挂架到现实空明文该系统之中# Centos7.2 之中装配 libguestfs‐tools‐c 可以利用 guestmount 辅助工具# UNIX可以后续或者不后续都不影响该脚本词汇的用到# 将UNIX文件该系统明文挂架到明文该系统后,就可以直接重写文件该系统明文之中的端口装配明文之中的目录clearmountpoint="/media/virtimage"[ ! -d $mountpoint ] BrownBrown mkdir $mountpointread -p "回传UNIX命名:" nameecho "劝几天后..."# 如果有的设备挂架到该挂架点,则到时 umount 卸载if mount | grep -q "$mountpoint" ;then umount $mountpointfi# 只读的手段,将UNIX的文件该系统明文挂架到特定的录入下,这里是/media/virtimage 录入guestmount -r -d $name -i $mountpointechoecho "‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐"echo -e "33[32m$name UNIX之中端口列于表如下:33[0m"dev=$(ls /media/virtimage/etc/sysconfig/network‐scripts/ifcfg-* |awk -F"[/‐]" '{print $9}')echo $devecho "‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐"echoechoecho "+++++++++++++++++++++++++++++++++++++++++++"echo -e "33[32m 端口 IP 位原设个人信息如下:33[0m"for i in $devdo echo -n "$i:" grep -q "IPADDR" /media/virtimage/etc/sysconfig/network‐scripts/ifcfg-$i || echo "仍未装配 IP位原设" awk -F= '/IPADDR/{print $2}' /media/virtimage/etc/sysconfig/network-scripts/ifcfg-$idoneecho "+++++++++++++++++++++++++++++++++++++++++++"

85、不逼近UNIX,更改UNIX端口 IP 位原设

#!/bin/bash# 不逼近UNIX,更改UNIX端口 IP 位原设 # 该脚本词汇用到 guestmount 辅助工具,Centos7.2 之中装配 libguestfs‐tools‐c 可以利用 guestmount 辅助工具# 脚本词汇在不逼近UNIX的可能下,更改UNIX的 IP 位原设个人信息# 在某些环境污染下,UNIX没有人 IP 或 IP 位原设与现实PSP不在一个交换机# 现实PSP在没有人 virt‐manger 可视化的可能下,远程直达UNIX很麻烦# 该脚本词汇可以解决类似的原因read -p "劝回传UNIX命名:" nameif virsh domstate $name | grep -q running ;then echo "更改UNIX端口目录,所需重新启动UNIX" virsh destroy $namefimountpoint="/media/virtimage"[ ! -d $mountpoint ] BrownBrown mkdir $mountpointecho "劝几天后..."if mount | grep -q "$mountpoint" ;then umount $mountpointfiguestmount -d $name -i $mountpointread -p "劝回传所需更改的端口命名:" devread -p "劝回传 IP 位原设:" addr# 推断原本端口装配明文之中应该有 IP 位原设,有就更改该 IP,没有人就更换成一个最初 IP 位原设if grep -q "IPADDR" $mountpoint/etc/sysconfig/network‐scripts/ifcfg‐$dev ;then sed -i "/IPADDR/s/=.*/=$addr/" $mountpoint/etc/sysconfig/network‐scripts/ifcfg‐$develse echo "IPADDR=$addr">> $mountpoint/etc/sysconfig/network‐scripts/ifcfg‐$devfi# 如果端口装配明文之中有客户装配的 IP 位原设,则脚本词汇预设更改 IP 完毕awk -F= -v x=$addr '$2==x{print "完毕..."}' $mountpoint/etc/sysconfig/network‐scripts/ifcfg-$dev

86、密码UNIX私钥,无私钥逼近UNIX该系统

#!/bin/bash# 密码UNIX私钥,无私钥逼近UNIX该系统 # 该脚本词汇用到 guestmount 辅助工具,Centos7.2 之中装配 libguestfs‐tools‐c 可以利用 guestmount 辅助工具 read -p "劝回传UNIX命名:" nameif virsh domstate $name | grep -q running ;then echo "密码,所需重新启动UNIX" virsh destroy $namefimountpoint="/media/virtimage"[ ! -d $mountpoint ] BrownBrown mkdir $mountpointecho "劝几天后..."if mount | grep -q "$mountpoint" ;then umount $mountpointfiguestmount -d $name -i $mountpoint# 将 passwd 之中私钥占位由此可知号 x 移除,该账号无需实现无私钥逼近该系统sed -i "/1]root/s/x//" $mountpoint/etc/passwd

87、Shell 脚本词汇对回波的处理方式,执在行脚本词汇后,按滑鼠 Ctrl+C 仍未能重启的脚本词汇

#!/bin/bash# Shell 脚本词汇对回波的处理方式,执在行脚本词汇后,按滑鼠 Ctrl+C 仍未能重启的脚本词汇 # 用到 trap 号令可以截获普通用户通过滑鼠或 kill 号令邮寄过来的回波# 用到 kill ‐l 可以查阅 Linux 该系统之中所有的回波列于表,其之中 2 象征性 Ctrl+C# trap 当推测有普通用户 ctrl+C 渴望终端脚本词汇时,就执在行 echo "暂停 10s";sleep 10 这两条号令# 另外普通用户用到号令:[ kill ‐2 脚本词汇的 PID ] 也可以之中断脚本词汇和 Ctrl+C 一样的效果,均会被 trap 截获trap 'echo "暂停 10s";sleep 10' 2while :do echo "go go go"done

88、一键调遣 memcached

#!/bin/bash# 一键调遣 memcached # 脚本词汇用光码来装配 memcached 服务项目探头# 注意到:如果软件包的完整版本链接大低成本了,劝更新 memcached 的完整版本链接wget yum -y install gcctar -xf memcached‐1.5.1.tar.gzcd memcached‐1.5.1./configuremakemake install

89、一键装配 VNC 远程桌面服务项目探头(无私钥正式版本)

#!/bin/bash# 一键装配 VNC 远程桌面服务项目探头(无私钥正式版本) # 脚本词汇装配的 VNC 服务项目探头,应用程序无需私钥无需直达# 应用程序仅有查阅远程桌面的越权,没有人鼠标和滑鼠的转化越权 rpm 便是quiet -q tigervnc‐serverif [ $? -ne 0 ];then yum -y tigervnc‐serverfix0vncserver AcceptKeyEvents=0 AlwaysShared=1 AcceptPointerEvents=0 SecurityTypes=None rfbport=5908

90、重新启动 SELinux

#!/bin/bash# 重新启动 SELinux sed -i '/1]SELINUX/s/=.*/=disabled/' /etc/selinux/configsetenforce 0

91、查阅所有UNIX文件该系统用到量以及CPU用到量个人信息

#!/bin/bash# 查阅所有UNIX文件该系统用到量以及CPU用到量个人信息 virt‐dfread -n1 "按任意键此后" keyvirt‐top

92、用到 shell 脚本词汇复印机可视化

#!/bin/bash# 用到 shell 脚本词汇复印机如下可视化: # 复印机第一第一组图片# for(())为类 C 词汇的句法PDF,也可以用到 for i in;do ;done 的PDF更换# for((i=1;i<=9;i++))周而复始会执在行 9 次,i 从 1 开始到 9,每周而复始一次 i 自加 1clearfor (( i=1; i<=9; i++ ))do for (( j=1; j<=i; j++ )) do echo -n "$i" done echo ""doneread -n1 "按任意键此后" key#复印机第二第一组图片clearfor (( i=1; i<=5; i++ )) do for (( j=1; j<=i; j++ )) do echo -n " |" done echo "_ "doneread -n1 "按任意键此后" key#复印机第三第一组图片clearfor (( i=1; i<=5; i++ ))do for (( j=1; j<=i; j++ )) do echo -n " *" done echo ""donefor (( i=5; i>=1; i‐‐ ))do for (( j=1; j<=i; j++ )) do echo -n " *" done echo ""done

93、根据计算空程序近期天内,送回这群人,可以将该脚本词汇另设为开空后续

#!/bin/bash# 根据计算空程序近期天内,送回这群人,可以将该脚本词汇另设为开空后续 # 00‐12 点为早晨,12‐18 点为下午,18‐24 点为晚上# 用到 date 号令利用天内后,if 推断天内的区间,确定这群人以下内容tm=$(date +%H)if [ $tm -le 12 ];then msg="Good Morning $USER"elif [ $tm -gt 12 -a $tm -le 18 ];then msg="Good Afternoon $USER"else msg="Good Night $USER"fiecho "近期天内是:$(date +"%Y‐%m‐%d %H:%M:%S")"echo -e "33[34m$msg33[0m"

94、重写普通用户回传的账号命名,将账号名重写到多达第一组保存

#!/bin/bash# 重写普通用户回传的账号命名,将账号名重写到多达第一组保存 # 假定多达第一组命原称 name,多达第一组的负数为 i,小标从 0 开始,每回传一个账号名,负数加 1,此后存下一个账号# 仍要,回传 over,脚本词汇可用总结性个人信息后脚本词汇重启i=0while :do read -p "劝回传账号名,回传 over 之前:" key if [ $key == "over" ];then break else name[$i]=$key let i++ fidoneecho "总账号名比例:${#name[*]}"echo "${name[@]}"

95、推断明文或录入应该普遍存在

#!/bin/bash# 推断明文或录入应该普遍存在 if [ $# -eq 0 ] ;thenecho "仍未回传任何常量,劝回传常量"echo "用法:$0 [明文名|录入名]"fiif [ -f $1 ];then echo "该明文,普遍存在" ls -l $1else echo "没有人该明文"fiif [ -d $1 ];then echo "该录入,普遍存在" ls -ld $2else echo "没有人该录入"fi

96、复印机各种PDF的天内

#!/bin/bash# 复印机各种天内PDF echo "揭示天内又称(如:Sun)"date +%aecho "揭示天内全称(如:Sunday)"date +%Aecho "揭示月初又称(如:Jan)"date +%becho "揭示月初全称(如:January)"date +%Becho "揭示小多达点月初(如:12)"date +%mecho "揭示小多达点日期(如:01 号)"date +%decho "揭示小多达点年(如:01 号)"date +%Y echo "揭示年‐月‐日"date +%Fecho "揭示天内(24 天内旧制)"date +%Hecho "揭示分钟(00..59)"date +%Mecho "揭示秒"date +%Secho "揭示六倍"date +%Necho "第一组合揭示"date +"%Y%m%d %H:%M:%S"

97、用到 egrep 过滤 MAC 位原设

#!/bin/bash# 用到 egrep 过滤 MAC 位原设 # MAC 位原设由 16 进旧制第一组合而成,如 AA:BB:CC:DD:EE:FF# [0‐9a‐fA‐F]{2}表示一段个字由此可知多达最大值,{5}表示连续显现出来5第一组年前置:的个字由此可知egrep "[0‐9a‐fA‐F]{2}(:[0‐9a‐fA‐F]{2}){5}" $1

98、统计资讯双色球各个小多达点的之抽中权重

#!/bin/bash # 统计资讯双色球各个小多达点的之抽中权重 # 往期双色球之抽中号码如下:# 01 04 11 28 31 32 16# 04 07 08 18 23 24 02# 02 05 06 16 28 29 04# 04 19 22 27 30 33 01# 05 10 18 19 30 31 03# 02 06 11 12 19 29 06# 统计资讯篮球和类推目录显现出来的权重次多达(篮球不分时序,统计资讯所有篮球复合在一起的权重)awk '{print $1""$2""$3""$4""$5""$6}' 1.txt | sort | uniq -c | sortawk '{print $7}' 1.txt | sort | uniq -c | sort

99、聚合邮寄私钥和许可证

#!/bin/bash# 聚合邮寄私钥和许可证 read -p "劝回传存放许可证的录入:" dirif [ ! -d $dir ];then echo "该录入不普遍存在" exitfiread -p "劝回传校验命名:" name# 用到 openssl 聚合私钥openssl genrsa -out ${dir}/${name}.key# 用到 openssl 聚合许可证 #subj 可选择可以在聚合许可证时,非交互启动时填写 Common Name 个人信息openssl req -new -x509 -key ${dir}/${name}.key -subj "/CN=common" -out ${dir}/${name}.crt

100、用到awk编著的wc程序

#!/bin/bash# 用到awk编著的wc程序 # 自假定常量 chars 常量打印字由此可知位多达,自假定常量 words 常量打印单词位多达# awk 内置常量 NR 打印以此类推# length()为 awk 内置formula_,用来统计资讯每在行的字由此可知比例,因为每在行均会有一个隐蔽的$,所以每次统计资讯后都+1# wc 程序会把明文结尾由此可知$也统计资讯在内,可以用到 cat ‐A 明文名,查阅该隐蔽字由此可知awk '{chars+=length($0)+1;words+=NF} END{print NR,words,chars}' $1

篇名对你有努力,劝点赞转发哦~

杭州看白癜风去哪个医院
辽宁妇科医院哪家比较专业
株洲看妇科去哪看
角膜炎用什么滴眼液
广西早泄阳痿治疗医院
美颜抗衰
中医祛痘
消炎药
眼部整容
安眠药

上一篇: 幼儿园一锅刺粥,导致孩子被大面积烫伤,类似安全隐患要排查

下一篇: 歌礼制药-B(01672)与老挝Phokam Pharmaceutical Import-Export Co., Ltd进行谈判利托那韦片采购协议

友情链接