首页 >> 中医养生

100 个 Linux Shell 脚本经典案例求解

发布时间:2025年10月31日 12:18

l vsftpdelse echo "您不是办公室,从并未权责重新安装硬件"fi

8)扫描本MS当此前服务于器究竟为超级办公室, 如果是办公室, 则可用 yum 重新安装 vsftpd, 如果不是, 则察看您非办公室 (可用 UID 十进制对比新版本)

#!/bin/bash# 扫描本MS当此前服务于器究竟为超级办公室,如果是办公室,则可用 yum 重新安装 vsftpd,如果不# 是,则察看您非办公室(可用 UID 十进制对比新版本)if [ $UID -eq 0 ];then yum ‐y install vsftpdelse echo "您不是办公室,从并未权责重新安装硬件"fi

9)重写脚本母语: 察看服务于器读写Gmail和解开, 脚本母语操作方法者建立除此以外的联系人及系统对设计解开。如果服务于器不读写联系人名, 则察看只能读写联系人名并引退脚本母语; 如果服务于器不读写解开, 则分立可用默认的 123456 作为默认解开。

#!/bin/bash# 重写脚本母语:察看服务于器读写Gmail和解开,脚本母语操作方法者建立除此以外的联系人及系统对设计解开。如果服务于器# 不读写联系人名,则察看只能读写联系人名并引退脚本母语;如果服务于器不读写解开,则分立可用默# 认的 123456 作为默认解开。read -p "允诺读写Gmail: " user#可用‐z 可以断定一个给定究竟为空,如果为空,察看服务于器只能读写联系人名,并引退脚本母语,引退小数点为 2#从并未读写Gmail脚本母语引退后,可用$?察看的回到小数点为 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# 重写脚本母语,实现人MS单人游戏game=(木头 剪刀 布)num=$[RANDOM%3]computer=${game[$num]}# 通过随MS数换取集成电路的出拳# 出拳的似乎性留有在一整数一组外面,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 整个交换机外面哪些单人游戏MS始终保持季于状况, 哪些单人游戏MS始终保持关MS状况 (for 新版本)

#!/bin/bash# 重写脚本母语扫描 192.168.4.0/24 整个交换机外面哪些单人游戏MS始终保持季于状况,哪些单人游戏MS始终保持关MS# 状况(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 Wild>/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 整个交换机外面哪些单人游戏MS始终保持季于状况, 哪些单人游戏MS始终保持关MS状况 (while 新版本)

#!/bin/bash# 重写脚本母语扫描 192.168.4.0/24 整个交换机外面哪些单人游戏MS始终保持季于状况,哪些单人游戏MS始终保持关MS# 状况(while 新版本)i=1while [ $i -le 254 ]do ping ‐c 2 ‐i 0.3 ‐W 1 192.168.4.$i Wild>/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 整个交换机外面哪些单人游戏MS始终保持季于状况, 哪些单人游戏MS始终保持关MS状况 (多意味着版)

#!/bin/bash# 重写脚本母语扫描 192.168.4.0/24 整个交换机外面哪些单人游戏MS始终保持季于状况,哪些单人游戏MS始终保持关MS# 状况(多意味着版)#度量一整数组,ping 某一台单人游戏MS,并扫描单人游戏MS的能活状况myping(){ping ‐c 2 ‐i 0.3 ‐W 1 $1 Wild>/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 Wilddone# 可用Wild八字号,将分派的数组倒入本该分派# 这样动手的好处是不须要等待ping第一台单人游戏MS的回应,就可以此后所发ping5台单人游戏MS,共五类推。

15)重写脚本母语, 标示出工程进度条

#!/bin/bash# 重写脚本母语,标示出工程进度条jindu(){while :do echo -n '#' sleep 0.2done}jindu Wildcp -a $1 $2killall $0echo "拷贝未完成"

16)工程进度条, 动态而行新版本;度量一个标示出工程进度的数组, 屏幕短时间内标示出 | / ‐

#!/bin/bash# 工程进度条,动态而行新版本# 度量一个标示出工程进度的数组,屏幕短时间内标示出| / ‐ rotate_line(){INTERVAL=0.5 #另设间隔时长COUNT="0" #另设4个外观的E,默认E为 0(不代表者任何图片)while :do COUNT=----expr $COUNT + 1---- #分派可逆,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 ----seq 9----do for j in ----seq $i---- 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 MS密文件外面的人员名单, 在集成电路外面操作方法者建立相同的联系人并系统对设计初始解开本脚本母语分派, 须要提此前作准备一个 user.txt MS密文件, 该MS密文件外面举例来说有若干Gmail个人义统息

#!/bin/bash# 可用 user.txt MS密文件外面的人员名单,在集成电路外面操作方法者建立相同的联系人并系统对设计初始解开# 本脚本母语分派,须要提此前作准备一个 user.txt MS密文件,该MS密文件外面举例来说有若干Gmail个人义统息for i in ----cat user.txt----do useradd $i echo "123456" | passwd ‐‐stdin $idone

20)重写批量重写默认脚本母语

#!/bin/bash# 重写批量重写默认脚本母语,如批量将 txt MS密文件重写为 doc MS密文件# 分派脚本母语时,须要给脚本母语替换成位置给定# 脚本母语名 txt doc(可以将 txt 的默认重写为 doc)# 脚本母语名 doc jpg(可以将 doc 的默认重写为 jpg)for i in ----ls *.$1----do mv $i ${i%.*}.$2done

21)可用 expect 用以操作方法者交互解开远程其他单人游戏MS重新安装 httpd 硬件

#!/bin/bash# 可用 expect 用以操作方法者交互解开远程其他单人游戏MS重新安装 httpd 硬件# 删减~/.ssh/known_hosts 后,ssh 远程任何单人游戏MS才则会询问究竟确认要相连该单人游戏MSrm ‐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 Wild>/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 Wild>/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 时从并未所选关MS哪些应用程序特性,如果的服务于器可以顶上据单单上述情况自先为替换成额皆特性如‐‐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 开发人员包被MS密文件" 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 开发人员包被MS密文件" 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 WildWild 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 开发人员包被MS密文件" exitfi}while :do menu choice case $select in 1) install_nginx ;; 2) install_mysql ;; 3) install_php ;; 4) exit ;; *) echo Sorry! esacdone

23)重写脚本母语短时间内克林 KVM 操作方法系统对

#!/bin/bash# 重写脚本母语短时间内克林 KVM 操作方法系统对# 本脚本母语针对 RHEL7.2 或 Centos7.2# 本脚本母语须要提此前作准备一个 qcow2 PDF的操作方法系统对模版,# 称谓为/var/lib/libvirt/images /.rh7_template 的操作方法系统对模版# 该脚本母语可用 qemu‐img 允诺短时间内建立快照操作方法系统对# 脚本母语可用 sed 重写模版操作方法系统对的系统对设计MS密文件,将操作方法系统对称谓、UUID、可知储设备MS密URL、MAC 位址# exit code:# 65 ‐> user input nothing# 66 ‐> user input is not a number# 67 ‐> user input out of range# 68 ‐> vm disk image existsIMG_DIR=/var/lib/libvirt/imagesBASEVM=rh7_templateread -p "Enter VM number: " VMNUMif [ $VMNUM -le 9 ];thenVMNUM=0$VMNUMfiif [ -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 67fiNEWVM=rh7_node${VMNUM}if [ -e $IMG_DIR/${NEWVM}.img ]; then echo "File exists." exit 68fiecho -en "Creating Virtual Machine disk image...... "qemu‐img create -f qcow2 ‐b $IMG_DIR/.${BASEVM}.img $IMG_DIR/${NEWVM}.img Wild> /dev/nullecho -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 位址,本例可用的是给定,每位可用该脚本母语的服务于器须要顶上据单单上述情况重写这些倍数# 最好这里可以可用便利,这样来得适合于批量操作方法,可以克林来得多操作方法系统对sed -i "/mac /s/a1/0c/" /tmp/myvm.xmlecho -en "Defining new virtual machine...... "virsh define /tmp/myvm.xml Wild> /dev/nullecho -e "e[32;1m[OK]e[0m"

24)点名器脚本母语

#!/bin/bash# 重写一个点名器脚本母语# 该脚本母语,须要提此前作准备一个 user.txt MS密文件# 该MS密文件外面须要举例来说所有姓名的个人义统息,即刻一个姓名,脚本母语每次随MS标示出一个姓名while :do#总和 user MS密文件外面有多少服务于器line=----cat user.txt |wc ‐l----num=$[RANDOM%line+1]sed -n "${num}p" user.txtsleep 0.2cleardone

25)察看有多少远程的 IP 在相连本MS

#!/bin/bash# 察看有多少远程的 IP 在相连本MS(不管是通过 ssh 还是 web 还是 ftp 都总和)# 可用 netstat ‐atn 可以察看本MS所有相连的状况,‐a 察看所有,# -t均标示出 tcp 相连的个人义统息,‐n 十进制PDF标示出# Local Address(第四加是本MS的 IP 和TCP个人义统息)# Foreign Address(第五加是远程单人游戏MS的 IP 和TCP个人义统息)# 可用 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 ----seq 100----do sum=$[sum+i]doneecho "总和是:$sum"

27)总和 13:30 到 14:30 所有回访 apache 代理服务于器的允诺求有多少个

#!/bin/bash# 总和 13:30 到 14:30 所有回访 apache 代理服务于器的允诺求有多少个# awk 可用‐F 可选择所选MS密文件章节的分隔八字是/或者:# 条件断定$7:$8 成比例等同 13:30,并且促请,$7:$8 低于等同 14:30# 仍要可用 wc ‐l 总和这样的原始数据有多少先为,即多少个awk -F "[ /:]" '$7":"$8>="13:30" WildWild $7":"$8<="14:30"' /var/log/httpd/access_log |wc -l

28)总和 13:30 到 14:30 所有回访本MS Aapche 代理服务于器的远程 IP 位址是什么

#!/bin/bash# 总和 13:30 到 14:30 所有回访本MS Aapche 代理服务于器的远程 IP 位址是什么# awk 可用‐F 可选择所选MS密文件章节的分隔八字是/或者:# 条件断定$7:$8 成比例等同 13:30,并且促请,$7:$8 低于等同 14:30# 记事文档章节外面,第 1 加是远程单人游戏MS的 IP 位址,可用 awk 单独标示出第 1 加需awk -F "[ /:]" '$7":"$8>="13:30" WildWild $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 回访了本MS apache 几次

#!/bin/bash# 总和每个远程 IP 回访了本MS 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 有多少个MS密文件, 并标示出这些MS密URL

#!/bin/bash# 总和/var/log 有多少个MS密文件,并标示出这些MS密URL# 可用 ls 递归标示出所有,如此一来断定究竟为MS密文件,如果是MS密文件则计数器加 1cd /var/logsum=0for i in ----ls -r *----do if [ -f $i ];then let sum++ echo "MS密URL:$i" fidoneecho "总MS密文件量为:$sum"

33)操作方法者为其他脚本母语替换成Objective-C个人义统息

Docker+K8s+Jenkins 取向关配体技术全解图片档案资料【鲜肉付费分享】#!/bin/bash# 操作方法者为其他脚本母语替换成Objective-C个人义统息#!/bin/bash,如脚本母语取名为 test.sh 则真实感如下:# ./test.sh abc.sh 操作方法者为 abc.sh 替换成Objective-C个人义统息# ./test.sh user.sh 操作方法者为 user.sh 替换成Objective-C个人义统息# 必先可用 grep 断定取向脚本母语究竟仍并未有Objective-C个人义统息,如果从并未则可用 sed 替换成Objective-C以及描述个人义统息if ! grep -q "^#!" $1; thensed '1i #!/bin/bash' $1sed '2i #Description: 'fi# 因为每个脚本母语的特性相异,功用相异,所以在给取向脚本母语替换成完Objective-C个人义统息,以及 Description 后还想要# 此后编辑具体内容的脚本母语特性的描述个人义统息,这里直接可用 vim 把取向脚本母语关上,并且光标加载到该MS密文件的第 2 先为vim +2 $1

34)操作方法者化布署 varnish 开发人员包被硬件

#!/bin/bash# 操作方法者化布署 varnish 开发人员包被硬件# 本脚本母语须要提此前iTunes 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 WildWild make install# 在开发人员包被清单下,将除此以外的系统对设计MS密文件拷贝到 Linux 系统对MS密文件系统对外面# 默认重新安装未完成后,不则会操作方法者拷贝或重新安装系统对设计MS密文件到 Linux 系统对,所以须要手动 cp 复制系统对设计MS密文件# 并可用 uuidgen 转换成一个随MS接收者的系统对设计MS密文件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 关MS脚本母语

#!/bin/bash# 重写 nginx 关MS脚本母语# 本脚本母语重写未完成后,放置在/etc/init.d/清单下,就可以被 Linux 系统对操作方法者识别到该脚本母语# 如果本脚本母语取名为/etc/init.d/nginx,则 service nginx start 就可以关MS该服务于# 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)操作方法者对可知储设备北区、PDF化、可携带

#!/bin/bash# 操作方法者对可知储设备北区、PDF化、可携带# 对操作方法系统对的 vdb 可知储设备进先为北区PDF化,可用<<将须要的北区解释器导入给程序 fdisk# n(新建北区),p(建立主北区),1(北区E为 1),两个空白先为(两个回车,相当于将整个可知储设备分一个区)# 同样:1 前头的两个回车(空白先为)是只能的!fdisk /dev/vdb << EOFnp1wqEOF#PDF化刚刚建立好的北区mkfs.xfs /dev/vdb1#建立可携带点清单if [ -e /data ]; thenexitfimkdir /data#操作方法者可携带刚刚建立的北区,并另设季于操作方法者可携带该北区echo '/dev/vdb1 /data xfs defaults 1 2'>> /etc/fstabmount -a

37)操作方法者构建 Linux 驱动程序给定

#!/bin/bash# 操作方法者构建 Linux 驱动程序给定#脚本母语针对 RHEL7cat>> /usr/lib/sysctl.d/00‐system.conf <38)切开 Nginx 记事MS密文件 (预防单个MS密文件过大, 后期妥善处理很困难)

#mkdir /data/scripts#vim /data/scripts/nginx_log.sh#!/bin/bash# 切开 Nginx 记事MS密文件(预防单个MS密文件过大,后期妥善处理很困难)logs_path="/usr/local/nginx/logs/"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 /data/scripts/nginx_log.sh# crontab ‐e #脚本母语写完后,将脚本母语倒入方案侦查每天分派一次脚本母语0 1 * * * /data/scripts/nginx_log.sh

39)扫描 MySQL 原始数据努相连量

#!/bin/bash# 扫描 MySQL 原始数据努相连量# 本脚本母语每 2 秒扫描一次 MySQL 所发相连数,可以将本脚本母语另设为季于关MS脚本母语,或在特定时长段分派# 以满足对 MySQL 原始数据努的追踪期望,察看 MySQL 相连究竟正常# 本案例外面的Gmail和解开须要顶上据单单上述情况重写外围可可用log_file=/var/log/mysql_count.loguser=rootpasswd=123456while :do sleep 2 count=----mysqladmin -u "$user" -p "$passwd" status | awk '{print $4}'---- echo "----date +%Y‐%m‐%d---- 所发相连数为:$count">> $log_filedone

40)顶上据 md5 CRC, 扫描MS密文件究竟被重写

#!/bin/bash# 顶上据 md5 CRC,扫描MS密文件究竟被重写# 本示例脚本母语扫描的是/etc 清单下所有的 conf 片尾的MS密文件,顶上据单单上述情况,您可以重写为其他清单或MS密文件# 本脚本母语在前提原始数据从并未被重写时分派一次,当怀疑原始数据被人篡改,如此一来分派一次# 将两次分派的结果动手对比,MD5 小数点发生变动的MS密文件,就是被人篡改的MS密文件for i in $(ls /etc/*.conf)do md5sum "$i">> /var/log/conf_file.logdone

41)扫描 MySQL 服务于究竟能活

#!/bin/bash# 扫描 MySQL 服务于究竟能活# host 为你须要扫描的 MySQL 单人游戏MS的 IP 位址,user 为 MySQL 联系人名,passwd 为解开# 这些个人义统息须要顶上据单单上述情况重写外围可可用host=192.168.51.198user=rootpasswd=123456mysqladmin -h '$host' -u '$user' -p'$passwd' ping Wild>/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(原始数据努Gmail),passwd(原始数据努解开),date(启动时的时长标识)# dbname(须要启动时的原始数据努称谓,顶上据单单期望须要重写该给定的倍数,默认启动时 mysql 原始数据努)user=rootpasswd=123456dbname=mysqldate=$(date +%Y%m%d)# 扫描启动时清单究竟假定,不假定则操作方法者建立该清单[ ! -d /mysqlbackup ] WildWild mkdir /mysqlbackup# 可用 mysqldump 允诺启动时原始数据努mysqldump -u "$user" -p "$passwd" "$dbname"> /mysqlbackup/"$dbname"-${date}.sql

43)将MS密文件外面所有的下标鼓动转为标记

#!/bin/bash# 将MS密文件外面所有的下标鼓动转为标记# $1是位置给定,是你须要鼓动转外观写大写的MS密文件称谓# 分派脚本母语,取倍数一个MS密URL作为给定,脚本母语就则会将该MS密文件外面所有的下标鼓动转为标记tr "[a‐z]" "[A‐Z]" < $1

44)非交互操作方法者转换成 SSH 接收者MS密文件

#!/bin/bash# 非交互操作方法者转换成 SSH 接收者MS密文件# ‐t 所选 SSH 接收者的演算法为 RSA 演算法;‐N 另设接收者的解开为空;‐f 所选转换成的接收者MS密文件>放于哪里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} Wild>/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=# 度量数组 check_http:# 可用 curl 允诺检验 http 代理服务于器的状况# ‐m 另设curl不管回访取得成功或受挫,仅有能量消耗的时长为 5 秒,5 秒相连服务于为除此以外则视为不能相连# ‐s 另设静默相连,不标示出相连时的相连飞行速度、时长能量消耗等个人义统息# ‐o 将 curl iTunes的网址章节取倍数到/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# 所选扫描代理服务于器状况的数组,并顶上据回到小数点决定是发送电邮报警还是将正常个人义统息可知储记事 if [ $status_code -ne 200 ];then mail -s Warning root < /tmp/http$$.pid else echo "$url 相连正常">> /var/log/http.log fi sleep 5done

47)操作方法者替换成VPN规范, 掀开某些服务于或TCP (仅限于于 RHEL7)

#!/bin/bash# 操作方法者替换成VPN规范,掀开某些服务于或TCP(仅限于于 RHEL7)## 另设给定度量须要替换成到VPN规范的服务于和TCP号# 可用 firewall‐cmd ‐‐get‐services 可以察看 firewall 支持哪些服务于service="nfs http ssh"port="80 22 8080"# 可逆将每个服务于替换成到VPN规范外面for i in $servicedo echo "Adding $i service to firewall" firewall‐cmd ---add-service=${i}done#可逆将每个TCP替换成到VPN规范外面for i in $portdo echo "Adding $i Port to firewall" firewall‐cmd ---add-port=${i}/tcpdone#将以上另设的临时VPN规范,鼓动转为永久有效性的规范(适当据报导后有效性)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 ] WildWild exit# 察看服务于器读写相关给定(可知储设备、卷一组称谓等原始数据),并扫描服务于器究竟读写了这些倍数,如果从并未读写,则脚本母语引退read -p "允诺读写可知储设备称谓,如/dev/vdb:" disk[ -z $disk ] WildWild echo "从并未读写可知储设备称谓" WildWild exitread -p "允诺读写卷一组称谓:" vg_name[ -z $vg_name ] WildWild echo "从并未读写卷一组称谓" WildWild exitread -p "允诺读写形式化卷称谓:" lv_name[ -z $lv_name ] WildWild echo "从并未读写形式化卷称谓" WildWild exitread -p "允诺读写形式化卷外观:" lv_size[ -z $lv_size ] WildWild echo "从并未读写形式化卷外观" WildWild 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 的MS密文件

#!/bin/bash# 删减某个清单下外观为 0 的MS密文件#/var/www/html 为扫描清单,脚本母语则会清空该清单下所有 0 字节的MS密文件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 "允诺读写一个同年份:" yearif [ "$year" = "" ];then echo "从并未读写同年份" exitfi#可用正则扫描给定 year 外面究竟举例来说外观写大写if [[ "$year" =~ [a‐Z] ]];then echo "你读写的不是十进制" exitfi# 断定究竟为闰日if [ $[year % 4] -eq 0 ] WildWild [ $[year % 100] -ne 0 ];then echo "$year年是闰日"elif [ $[year % 400] -eq 0 ];then echo "$year年是闰日"else echo "$year年不是闰日"fi

53)转换成随MS解开 (urandom 新版本)

#!/bin/bash# 转换成随MS解开(urandom 新版本)# /dev/urandom MS密文件是 Linux 内置的随MS电源MS密文件# cat /dev/urandom 可以看看外面的章节,ctrl+c 引退察看# 察看该MS密文件章节后,发现章节有些太随MS,包被括很多特殊八字号,我们须要的解开不想要可用这些八字号# tr ‐dc '_A‐Za‐z0‐9' < /dev/urandom# 该允诺可以将随MSMS密文件外面其他的字八字删减,均保留外观写大写,十进制,下划线,但是章节还是太多# 我们可以此后将构建好的章节通过管道传递给 head 允诺,在大量原始数据外面均标示出头 10 个字节# 同样 A 此前面有个下划线tr -dc '_A‐Za‐z0‐9' 54)转换成随MS解开 (程式小数点截取新版本)

#!/bin/bash# 转换成随MS解开(程式小数点截取新版本)# 另设给定 key,可知储解开的所有似乎性(解开努),如果还须要其他字八字允诺自先为替换成其他解开字八字# 可用$#总和解开努的宽度key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"num=${#key}# 另设初始解开为空pass=''# 可逆 8 次,转换成随MS解开# 每次都是随MS数对解开努的宽度取余,适当浓缩的解开字八字不超过解开努的宽度# 每次可逆浓缩一位随MS解开,并将该随MS解开追加到 pass 给定的仍要for i in {1..8}do index=$[RANDOM%num] pass=$pass${key:$index:1}doneecho $pass

55)转换成随MS解开 (UUID 新版本, 16 进制解开)

#!/bin/bash# 转换成随MS解开(UUID 新版本,16 进制解开)uuidgen

56)转换成随MS解开 (意味着 ID 新版本, 十进制解开)

#!/bin/bash# 转换成随MS解开(意味着 ID 新版本,十进制解开)echo $$

57)扫描Gmail与解开究竟应该

#!/bin/bash# 扫描Gmail与解开究竟应该#Gmail为 tom 并且解开为 123456,则察看受保护取得成功,否则察看受保护受挫read -p "允诺读写Gmail:" userread -p "允诺读写解开:" passif [ "$user" == 'tom' -a "$pass" == '123456' ];then echo "Login successful"else echo "Login Failed"fi

58)可逆扫描Gmail与解开究竟应该

#!/bin/bash# 可逆扫描Gmail与解开究竟应该# 可逆扫描服务于器的联系人名和解开,仅有扫描 3 次,读写应该察看受保护取得成功,否则察看受保护受挫# Gmail为 tom 并且解开为 123456for i in {1..3}do read -p "允诺读写Gmail:" user read -p "允诺读写解开:" passif [ "$user" == 'tom' -a "$pass" == '123456' ];then echo "Login successful" exitfidoneecho "Login Failed"

59)Shell 脚本母语的 fork 炸弹

#!/bin/bash# Shell 脚本母语的 fork 炸弹# 短时间内能量消耗集成电路人力,致使集成电路莫名其妙# 度量数组取名为.(点), 数组外面递归codice_自己并倒入本该分派.() { .|.Wild };.

60)批量iTunes有序MS密文件 (pdf、图片、图片等等)

#!/bin/bash# 批量iTunes有序MS密文件(pdf、图片、图片等等)# 本脚本母语作准备有序的网络档案资料进先为批量iTunes操作方法(如 01.jpg,02.jpg,03.jpg)# 另设人力来源的的网站相连url=""echo "开始iTunes..."sleep 2type=jpgfor i in ----seq 100---- echo "将要iTunes$i.$type" curl $url/$i.$type -o /tmp/${i}$type sleep 1done#curl 可用-o 可选择所选iTunesMS密文件另可知到哪里.

61)标示出当此前集成电路外面所有联系人的Gmail称

#!/bin/bash # 标示出当此前集成电路外面所有联系人的Gmail称# 下面可用3种相异的方式则加出集成电路外面所有联系人的Gmail# 所选以:为分隔八字,墨水/etc/passwd MS密文件的第 1 加awk -F: '{print $1}' /etc/passwd# 所选以:为分隔八字,墨水/etc/passwd MS密文件的第 1 加cut -d: -f1 /etc/passwd# 可用 sed 的替换特性,将/etc/passwd MS密文件外面:前头的所有章节替换为空(均标示出Gmail)sed 's/:.*//' /etc/passwd

62)颁布清单同方向, 脚本母语操作方法者将该清单可用 tar 允诺拆开被启动时到 / data 清单

#!/bin/bash# 颁布清单同方向,脚本母语操作方法者将该清单可用 tar 允诺拆开被启动时到/data清单[ ! -d /data ] WildWild mkdir /data[ -z $1 ] WildWild exitif [ -d $1 ];then tar -czf /data/$1.-----date +%Y%m%d----.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 Wild>/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)可逆封闭因特网外面所有单人游戏MS

#!/bin/bash# 可逆封闭因特网外面所有单人游戏MS# 理论上本MS为 192.168.4.100,重写脚本母语封闭除自己皆的其他所有单人游戏MS# 脚本母语分派,须要提此前给所有其他单人游戏MS传递 ssh 接收者,满足无解开相连for i in {1..254}do [ $i -eq 100 ] WildWild continue echo "将要封闭 192.168.4.$i..." ssh 192.168.4.$i poweroffdone

66)换取本MS MAC 位址

#!/bin/bash# 换取本MS MAC 位址ip a s | awk 'BEGIN{print " 本 MS MAC 地 址 义统 息 如 下 :"}/^[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 代理服务于器的系统对设计MS密文件 rsyncd.conf

#!/bin/bash# 操作方法者系统对设计 rsynd 代理服务于器的系统对设计MS密文件 rsyncd.conf# See rsyncd.conf man page for more options.[ ! -d /home/ftp ] WildWild 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 系统对的仅有关上MS密文件量

#!/bin/bash# 重写 Linux 系统对的仅有关上MS密文件量# 往/etc/security/limits.conf MS密文件的末尾追加两先为系统对设计给定,重写仅有关上MS密文件量为 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 variableif [ ! -f /usr/bin/tab.py ];then cat>> /usr/bin/tab.py <70)操作方法者重写方案侦查系统对设计MS密文件

Docker+K8s+Jenkins 取向关配体技术全解图片档案资料【鲜肉付费分享】#!/bin/bash# 操作方法者重写方案侦查系统对设计MS密文件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)可用脚本母语可逆建立三位十进制的文本MS密文件 (111-999 的MS密文件)

#!/bin/bash# 可用脚本母语可逆建立三位十进制的文本MS密文件(111-999 的MS密文件)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 消失的周内#每读写即刻MS密文件章节,即从第 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 MS密文件,该MS密文件的第 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)从QWERTY读写一个专题积分, 断定专题服务于器级别

#!/bin/bash# 从QWERTY读写一个专题积分,断定专题服务于器级别#级别分类如下:# 成比例等同 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 ----seq 2 11----do list[$i]=----expr ${list[‐1]} + ${list[‐2]}----doneecho ${list[@]}

79)断定服务于器读写的是 Yes 或 NO

#!/bin/bash# 断定服务于器读写的是 Yes 或 NOread -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)标示出本MS Linux 系统对上所有开放的TCP加表

#!/bin/bash# 标示出本MS Linux 系统对上所有开放的TCP加表# 从TCP加表外面观测有从并未没用的TCP,有的话可以将该TCP相同的服务于封闭,预防意皆的攻击似乎性ss -nutlp | awk '{print $1,$5}' | awk -F"[: ]" '{print "协议:"$1,"TCP号:"$NF}' | grep "[0‐9]" | uniq

81)将 Linux 系统对外面 UID 成比例等同 1000 的服务于器端都删减

#!/bin/bash# 将 Linux 系统对外面 UID 成比例等同 1000 的服务于器端都删减# 必先用 awk 浓缩所有 uid 成比例等同 1000 的普通Gmail称# 如此一来可用 for 可逆先将每个服务于器删减需user=$(awk -F: '$3>=1000{print $1}' /etc/passwd)for i in $userdo userdel -r $idone

82)可用脚本母语掀开封闭操作方法系统对

#!/bin/bash# 可用脚本母语掀开封闭操作方法系统对# 脚本母语通过codice_virsh允诺实现对操作方法系统对的管理,如果从并未该允诺,须要重新安装 libvirt‐client 文档# $1是脚本母语的第1个给定,$2是脚本母语的第2个给定# 第1个给定是你想要对操作方法系统对进先为的操作方法解释器,第2个给定是操作方法系统对称谓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 标示出操作方法系统对加表 #start 关MS操作方法系统对 #stop 封闭操作方法系统对 #enable 另设操作方法系统对为季于自启 #disable 封闭操作方法系统对季于自启特性 EOF ;;esac

83)调整操作方法系统对内可知给定的 shell 脚本母语

#!/bin/bash# 调整操作方法系统对内可知给定的 shell 脚本母语# 脚本母语通过codice_ virsh 允诺实现对操作方法系统对的管理,如果从并未该允诺,须要重新安装 libvirt‐client 文档cat << EOF1.调整操作方法系统对仅有内可知数倍数2.调整单单分配给操作方法系统对的内可知数倍数EOFread -p "允诺选择[1‐2]:" selectcase $select in 1) read -p "允诺读写操作方法系统对称谓" name read -p "允诺读写仅有内可知数倍数(各单位:k):" size virsh setmaxmem $name ---size $size ---config ;; 2) read -p "允诺读写操作方法系统对称谓" name read -p "允诺读写单单分配内可知数倍数(各单位:k):" size virsh setmem $name $size ;; *) echo "Error" ;;esac

84)察看 KVM 操作方法系统对外面的调制解调器个人义统息 (不须要带入关MS或带入操作方法系统对)

#!/bin/bash# 察看 KVM 操作方法系统对外面的调制解调器个人义统息(不须要带入关MS或带入操作方法系统对)# 该脚本母语可用 guestmount 用以,可以将操作方法系统对的可知储设备系统对可携带到真实MSMS密文件系统对外面# Centos7.2 外面重新安装 libguestfs‐tools‐c 可以取得 guestmount 用以# 操作方法系统对可以关MS或者不关MS都不严重影响该脚本母语的可用# 将操作方法系统对可知储设备MS密文件可携带到MS密文件系统对后,就可以直接读写可知储设备MS密文件外面的调制解调器系统对设计MS密文件外面的原始数据clearmountpoint="/media/virtimage"[ ! -d $mountpoint ] WildWild mkdir $mountpointread -p "读写操作方法系统对称谓:" nameecho "允诺再一..."# 如果有电源可携带到该可携带点,则必先 umount 卸载if mount | grep -q "$mountpoint" ;then umount $mountpointfi# 只读的方式则,将操作方法系统对的可知储设备MS密文件可携带到特定的清单下,这里是/media/virtimage 清单guestmount -r -d $name -i $mountpointechoecho "‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐"echo -e "33[32m$name 操作方法系统对外面调制解调器加表如下: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)不则会合操作方法系统对, 重写操作方法系统对调制解调器 IP 位址

#!/bin/bash# 不则会合操作方法系统对,重写操作方法系统对调制解调器 IP 位址# 该脚本母语可用 guestmount 用以,Centos7.2 外面重新安装 libguestfs‐tools‐c 可以取得 guestmount 用以# 脚本母语在不则会合操作方法系统对的上述情况下,重写操作方法系统对的 IP 位址个人义统息# 在某些生态下,操作方法系统对从并未 IP 或 IP 位址与真实单人游戏MS全都一个交换机# 真实单人游戏MS在从并未 virt‐manger 纹理的上述情况下,远程相连操作方法系统对很麻烦# 该脚本母语可以解决类似的问题read -p "允诺读写操作方法系统对称谓:" nameif virsh domstate $name | grep -q running ;then echo "重写操作方法系统对调制解调器原始数据,须要封闭操作方法系统对" virsh destroy $namefimountpoint="/media/virtimage"[ ! -d $mountpoint ] WildWild mkdir $mountpointecho "允诺再一..."if mount | grep -q "$mountpoint" ;then umount $mountpointfiguestmount -d $name -i $mountpointread -p "允诺读写须要重写的调制解调器称谓:" devread -p "允诺读写 IP 位址:" addr# 断定原本调制解调器系统对设计MS密文件外面究竟有 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# 如果调制解调器系统对设计MS密文件外面有客户系统对设计的 IP 位址,则脚本母语察看重写 IP 未完成awk -F= -v x=$addr '$2==x{print "未完成..."}' $mountpoint/etc/sysconfig/network‐scripts/ifcfg-$dev

86)解开操作方法系统对解开, 无解开则会合操作方法系统对系统对

#!/bin/bash# 解开操作方法系统对解开,无解开则会合操作方法系统对系统对# 该脚本母语可用 guestmount 用以,Centos7.2 外面重新安装 libguestfs‐tools‐c 可以取得 guestmount 用以read -p "允诺读写操作方法系统对称谓:" nameif virsh domstate $name | grep -q running ;then echo "解开,须要封闭操作方法系统对" virsh destroy $namefimountpoint="/media/virtimage"[ ! -d $mountpoint ] WildWild mkdir $mountpointecho "允诺再一..."if mount | grep -q "$mountpoint" ;then umount $mountpointfiguestmount -d $name -i $mountpoint# 将 passwd 外面解开占位八字号 x 删减,该联系人需实现无解开则会合系统对sed -i "/^root/s/x//" $mountpoint/etc/passwd

87)Shell 脚本母语对频谱的妥善处理, 分派脚本母语后, 按QWERTY Ctrl+C 不能终止的脚本母语

#!/bin/bash# Shell 脚本母语对频谱的妥善处理,分派脚本母语后,按QWERTY Ctrl+C 不能终止的脚本母语# 可用 trap 允诺可以拦截服务于器通过QWERTY或 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 代理服务于器# 同样:如果硬件的iTunes元数据过期了,允诺来得新 memcached 的iTunes元数据wget yum -y install gcctar -xf memcached‐1.5.1.tar.gzcd memcached‐1.5.1./configuremakemake install

89)一配体系统对设计 VNC 远程桌面代理服务于器 (无解开新版本)

#!/bin/bash# 一配体系统对设计 VNC 远程桌面代理服务于器(无解开新版本)# 脚本母语系统对设计的 VNC 代理服务于器,服务器无需解开需相连# 服务器均有察看远程桌面的权责,从并未鼠标和QWERTY的操作方法权责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# 封闭 SELinuxsed -i '/^SELINUX/s/=.*/=disabled/' /etc/selinux/configsetenforce 0

91)察看所有操作方法系统对可知储设备可用量以及 CPU 可用量个人义统息

#!/bin/bash# 察看所有操作方法系统对可知储设备可用量以及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)顶上据集成电路当此前时长, 回到曲名, 可以将该脚本母语另设为季于关MS

#!/bin/bash# 顶上据集成电路当此前时长,回到曲名,可以将该脚本母语另设为季于关MS# 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)断定MS密文件或清单究竟假定

#!/bin/bash# 断定MS密文件或清单究竟假定if [ $# -eq 0 ] ;thenecho "并未读写任何给定,允诺读写给定"echo "用法:$0 [MS密URL|清单名]"fiif [ -f $1 ];then echo "该MS密文件,假定" ls -l $1else echo "从并未该MS密文件"fiif [ -d $1 ];then echo "该清单,假定" ls -ld $2else echo "从并未该清单"fi

96)墨水各种PDF的时长

#!/bin/bash# 墨水各种时长PDFecho "标示出周内简称(如: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 内置数组,用来总和每先为的字八字量,因为每先为才则会有一个隐蔽的$,所以每次总和后都+1# wc 程序则会把MS密文件片尾八字$也总和在内,可以可用 cat ‐A MS密URL,察看该隐蔽字八字awk '{chars+=length($0)+1;words+=NF} END{print NR,words,chars}' $1。

北京看妇科哪里比较好
北京看妇科的专业医院
苏州看白癜风哪里比较好
太极药业
济南妇科哪家医院最好
癫痫的病因
老人用药
肝病科
小孩厌食
老是咳嗽喉咙痒有痰是怎么回事

上一篇: 从“法庭见”到“白花500万买和解”,动力电池业大哥和小弟谁赢了?

下一篇: 荷兰政府出价 欲将欧洲最大核电企业国有化

友情链接