?卸載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.www58058.com/40304

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

相關推薦

  • 新的篇章

    第一天,linux,努力,奮斗!

    Linux干貨 2017-07-11
  • 文本處理工具Sed及VIM的使用

    1.文本處理工具Sed   Stream Editor 行編輯器                            圖1-1 sed幫助手冊  用法:      se…

    Linux干貨 2016-08-10
  • Ansible應用介紹

    Ansible 簡介 ansible是個什么東西呢?官方的title是“Ansible is Simple IT Automation”——簡單的自動化IT工具。這個工具的目標有這么幾項:自動化部署APP;自動化管理配置項;自動化的持續交互;自動化的(AWS)云服務管理。所有的這幾個目標從本質上來說都是在一個臺或者幾臺服務器上,執行一系列的命令而已。通俗的說…

    Linux干貨 2015-07-03
  • Gdevops 2017全球敏捷運維峰會【上海站】

    Gdevops-2017全球敏捷運維峰會-上海將于7月7日舉行,活動家提供Gdevops 2017全球敏捷運維峰會【上海】在線報名服務。 峰會介紹 Introduction 全球敏捷運維峰會 數據已經成為企業的核心競爭力!誰掌控數據、更好的利用數據、實現資產化,誰就會真正率先進入大數據時代。 中國數據資產管理峰會DAMS2017,連續三年站在數據時…

    Linux干貨 2017-06-27
  • 馬哥教育網絡班20期+第七周博客作業

    1、創建一個10G分區,并格式為ext4文件系統     (1) 要求其block大小為2048,預留空間百分比為2,卷標為MYDATA,默認掛載屬性包含acl fdisk /dev/sdbnp1110Gw[root@llww3317 ~]# mke2fs -t ext…

    Linux干貨 2016-08-02
  • 文件查找相關:whereis、find和locate

        本文將對find和locate進行詳細講解 命令簡介 名稱:whereis     功能:定位文件所在的目錄     用法:whereis shell命令     注意:whereis是根據環境變量PATH來查找文件的,而PATH通常設置成存放命令的那些路徑,如/bin、…

    Linux干貨 2016-04-05
欧美性久久久久