bash腳本編程

Linux腳本編程中bash常用的測試類型:            

    整數測試:

      -gt greater than  大于

      -le less or equal 小于或等于

      -ne not equal    不等

      -eq equal    等于

      -ge greater or equal  大于或等于

      -lt less than  小于

    字符測試            

        == 是否等于

        >  是否大于

        <  是否小于

        != 是否不等于

       =~ 左側字符串能否被右側的模式所匹配

       -z 判斷指定的字符串是否為空,空為真,不空為假

       -n 判斷指定的字符串是否不空,不空為真,空為假;

    文件測試

            文件的存在測試

          -a 

          -e

    文件的類型測試

     -b 是否存在并且為塊設備文件

     -c 是否存在并且為字符設備文件

     -d 是否存在并且為目錄設備文件

    -f 是否存在并且為普通設備文件

    -p 是否存在并且為命名管道文件

    -S 是否存在并且為套接字文件

    -h 是否存在并且為符號鏈接文件

文件權限測試

    -r 是否存在并且對當前用戶可讀

    -w 是否存在并且對當前用戶可寫

    -x 是否存在并且對當前用戶可執行

特殊權限測試

    -g 是否存在并且有sgid權限

    -u 是否存在且擁有suid權限

    -k 是否存在且擁有sticky權限

文件內容測試

    -s 文件是否存在且是否有內容

文件時間戳測試

    -N 文件自從上一次讀取后是否被修改過

從屬關系測試

    -O 當前用戶是否為文件的屬主

    -G 當前用戶是否屬于文件屬組

壓縮與解壓縮工具

   file-roller
?     compress/uncompress: .Z
?     gzip/gunzip: .gz
?     bzip2/bunzip2: .bz2
?     xz/unxz: .xz
?     zip/unzip
?     tar
?     cpio

作業 

    

                查找/var目錄下屬主為root,且屬組為mail的所有文件

                find /var/ -user root -group mail

                查找/var目錄下不屬于root、lp、gdm的所有文件

                find /var/  -not \( -user root -o -user lp -o -user gdm \) -ls

                查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是postfix的文件

                find /var/ -mtime -7 -not \( -user root -o -user postfix \) -ls

                查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件

                find /var/ -atime -7 -nouser  -nogroup

                查找/etc目錄下大于1M且類型為普通文件的所有文件

                find /etc/ -type f -size +1M  -exec ls -lh {} \;

                查找/etc目錄下所有用戶都沒有寫權限的文件

                find /etc/ -not -perm /222 -ls

                查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件

                find /etc/init.d/ -perm /111 -a -perm /002

    

         編寫腳本,利用變量RANDOM生成10個隨機數字,輸出這個10數字,并顯示其中的最大者

#!/bin/bash
	i=1
	max=0
        until [ $i -eq 10 ] ;do
                one=`echo $RANDOM`
        echo $one
        if [ $one -gt $max ] ;then
                max=$one
        else
                max=$max
        fi
                let i=$i+1
        done
	echo "the bigest number is $max"

      編寫腳本,通過ping命令探測172.16.250.1-254范圍內的所有主機的在線狀態,統計在線主機和離線主機各多少。 

#!/bin/bash
	#
	i=0 a=0 b=0
	until [ $i -gt 254 ] ; do
        ping -c 2 -w 2 10.1.252."$i" &> /dev/null
			if [ $? -eq 0 ] ;then
				echo "The host 10.1.252.$i on line"
				let a=$a+1
		else 
				echo "The host 10.1.252.$i out of line"
				let b=$b+1
			fi
				let i=$i+1
		done
	echo "The totol on line host is $a"
	echo "The totol out of line host is $b"

     編寫腳本,打印九九乘法表

#!/bin/bash
	#
	h=1 s=1
		until [ $h -gt 9 ] ; do
     echo -e " \n"		
        s=1
      until [ $s -gt $h ] ; do
		let sum=$h*$s		
		echo -e "$s*$h=$sum \c"
		let s=$s+1
      done
       let h=$h+1
   done
echo -e " \n"

原創文章,作者:317376161,如若轉載,請注明出處:http://www.www58058.com/37003

(0)
317376161317376161
上一篇 2016-08-18 10:10
下一篇 2016-08-18 10:10

相關推薦

  • 程序包管理:rpm和yum

    rpm命令                              軟件包管理 程序包管理 一、概述 (一)API:Application Program Interface  應用編程接口 ABI…

    Linux干貨 2016-08-21
  • 馬哥教育網絡班21期+第7周課程練習

    馬哥教育網絡班21期+第7周課程練習 創建一個10G分區,并格式為ext4文件系統;    a.要求block大小為2048,預留空間百分比為2,卷標為MYDATA,默認掛載屬性包含acl;    b.掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不能更新文件的訪問時間戳; #&…

    Linux干貨 2016-08-22
  • Linux的哲學思想

    Linux的哲學思想 一切皆文件  幾乎把所有的資源系統抽象為文件形式:包括硬件設備,甚至通信接口等 由眾多功能單一的程序組成:一個程序只做一件事,并且做好;組合小程序完成復雜任務  力求使程序精簡凝練,出現地完成最核心的需求;盡量避免使其膨脹成為一個臃腫的程序,致使大部分代碼很少被需要和執行。 小程序易于理解,維護,消耗系統資源較少,易…

    Linux干貨 2017-07-03
  • 1. linux basic cmd

    一。 國有股加點廉價航空j 1. 2. 二。

    2017-11-13
  • Linux中用戶管理基本命令和用法

    Linux操作系統用戶管理: 特點:多任務,多用戶操作系統(Multi-tasks,Multi-Users) Linux中用戶: 用戶組成: 用戶ID:每個用戶都有一個唯一識別碼稱為用戶ID。        密碼:認證手段 用戶分類:管理用戶 管理員的用戶ID為0       普通用戶 U…

    Linux干貨 2016-08-05
  • Bash的I/O重定向及管道

    每周更新的博客定時派送啦,本周與大家一起分享的是重定向和管道 首先了解一下 讀入數據:Input 輸出數據:Output 我們來看一下重定向:  >  覆蓋重定向 上面圖中 > 文件名     創建空文件 touch 文件名 創建空文件 這兩種方法都可以創建一個新的文…

    2017-07-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-19 09:21

    總結的有點簡單了哦,下次用點心,作業完成的還可以。

欧美性久久久久