☞卸载kernel玩一玩

卸载kernel玩一玩

废话不多说,下面开始卸载内核这一惊险之旅,特别提醒在开始之前做好虚拟机的快照,也许会造成系统无法启动,也许会出现各种错误,也许会笑着删数据库跑路,也许会从入门到放弃,,请系好安全带。 

f-0.jpgf-1.jpgf-2.jpgf-3.jpgf-4.jpgf-5.jpgf-7.jpgf-8.jpgf-9.jpgf-10.jpgf-11.jpg

练习

冒泡排序法

#!/bin/bash
#
#Author:jasonmc
#Date:2016-08-24
#Description:buble sort.
#

NUM_FILE=./random.txt   #get number from file
#########################################################
swap_element(){
     local tmp=0
     tmp=${NUM_SEQUENCE[$1]}
     NUM_SEQUENCE[$1]=${NUM_SEQUENCE[$2]}
     NUM_SEQUENCE[$2]=$tmp
}
show_element(){
     echo "${NUM_SEQUENCE[*]},swap $swap_count times"
}
#########################################################
#
#The original bubble sort.
bubble_sort_orgi(){
     for ((i=0;i<${#NUM_SEQUENCE[*]}-1;i++))
     do
       for ((j=0;j<${#NUM_SEQUENCE[@]}-i-1;j++))
       do
         if [ ${NUM_SEQUENCE[$j]} $1 ${NUM_SEQUENCE[$[j+1]]} ]
         then
             swap_element $j $[j+1]
             let swap_count++
         fi
       done
     done
}
#Use the original bubble sort,by increase
NUM_SEQUENCE=(`cat $NUM_FILE`)
 bubble_sort_orgi -gt
 show_element
#Use the original bubble sort,by decrease
NUM_SEQUENCE=(`cat $NUM_FILE`)
swap_count=0
 bubble_sort_orgi -lt
 show_element
#
#With a flag to mark the sequence,if the sequence has been order,stop
bubble_sort_flag(){
    flag=0
    for ((i=0;i<${#NUM_SEQUENCE[@]}-1,!flag;i++))
    do
     flag=1
     for ((j=0;j<${#NUM_SEQUENCE[*]}-i-1;j++))
     do
          if [ ${NUM_SEQUENCE[$j]} $1 ${NUM_SEQUENCE[$[j+1]]} ]
          then
        swap_element $j $[j+1]
        flag=0
        let swap_count++
          fi
     done
    done
}
#bubble with flag.
NUM_SEQUENCE=(`cat $NUM_FILE`)
swap_count=0
  bubble_sort_flag -gt
  show_element
#
NUM_SEQUENCE=(`cat $NUM_FILE`)
swap_count=0
  bubble_sort_flag -lt
  show_element
#
#Record the last position of bubble sort
bubble_sort_last(){
  current=0
  last=$[${#NUM_SEQUENCE[*]}-1]
  while [ $last -gt 0 ]
  do
     for ((i=current=0;i<last;i++))
     do
    if [ ${NUM_SEQUENCE[$i]} $1 ${NUM_SEQUENCE[$[i+1]]} ]
    then
       swap_element $i $[i+1]
       current=$i
      let swap_count++
   fi
    done
    last=$current
 done
}
#
#Record last order position.
NUM_SEQUENCE=(`cat $NUM_FILE`)
swap_count=0
  bubble_sort_last -gt
  show_element
#
NUM_SEQUENCE=(`cat $NUM_FILE`)
swap_count=0
  bubble_sort_last -lt
  show_element
#
#Bidirectional bubble sort
bubble_sort_bid(){
  head=0
  tail=$[${#NUM_SEQUENCE[*]}-1]
  while [ $head -lt $tail ]
  do
     for ((i=head;i<tail;i++))
     do
    if [ ${NUM_SEQUENCE[$i]} $1 ${NUM_SEQUENCE[$[i+1]]} ]
    then
       swap_element $i $[i+1]
       index=$i
      let swap_count++
   fi
     done
     tail=$index
     for ((i=tail;i>head;i--))
     do
    if [ ! ${NUM_SEQUENCE[$i]} $1 ${NUM_SEQUENCE[$[i-1]]} ]
    then
       swap_element $i $[i-1]
       index=$i
       let swap_count++
   fi
    done
    head=$index
 done
}
#
#increase
NUM_SEQUENCE=(`cat $NUM_FILE`)
swap_count=0
bubble_sort_bid -gt
show_element
#
#decrease
NUM_SEQUENCE=(`cat $NUM_FILE`)
swap_count=0
bubble_sort_bid -lt
show_element
#
unset i j index head tail NUM_FILE NUM_SEQUENCE swap_count last tmp flag

原创文章,作者:helloc,如若转载,请注明出处:http://www.178linux.com/40304

(0)
hellochelloc
上一篇 2016-08-26 09:11
下一篇 2016-08-26 09:11

相关推荐

  • iptables:iptables工具详解

    之前的博客聊了关于iptables防火墙工作原理的相关介绍, 本片将详细介绍iptables的使用。 一、 iptables 查看链表,创建链表,类命令     1. iptables [-t table] -N chain : 创建一条自定义规则的链      #&n…

    Linux干货 2015-08-06
  • 马哥教育网络班22期+第5周课程练习

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@rhel677850 ~]# grep "^\(root\|fedora\|user1\)" /etc/passwd|awk -F: '{print $1,$7}&#039…

    Linux干货 2016-09-26
  • 网卡别名和bonding——让你的网络接口更加稳定

    网卡配置文件: 1、IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE     IFACE:接口名称 2、路由的相关配置文件(默认无此文件):/etc/sysconfig/network-scripts/route-IFACE 3、配置文件/etc/sy…

    Linux干货 2016-09-05
  • N22-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fd…

    Linux干货 2016-10-07
  • 2017全球互联网架构大会上海站火热来袭,等您赴约!

    GIAC 全球互联网架构大会,是长期关注互联网技术与架构的高可用架构技术社区推出的,面向架构师、技术负责人及高端技术从业人员的年度技术架构大会。

    2017-11-30
  • 文件查找命令Find

    文件查找命令find Find:在文件上查找符合条件的文件,是个实时的查找工具,通过遍历指定路径完成文件查找 工作特点: l  查找速度慢 l  精度查找 l  实时查找 l  可能只搜索用户具有读取和执行权限的目录   语法: find [option]…[查找路径][查找条件][处理动作]   …

    Linux干货 2016-08-16