スクリプトの基礎演習

1.スクリプト/root/bin/systeminfo.sh、ホスト名、IPv4アドレス、オペレーティングシステムのバージョン、カーネルバージョン、CPUタイプ、メモリサイズ、ハードディスクドライブのサイズを含むシステムディスプレイ現在のホスト情報。
#!/ binに/ bashの

コンピュータのハードウェア情報の表示

        echo "主机名:      $(hostname)"
        echo "IPv4地址:    $(ifconfig | head -n2 |tail -n1 |tr -s " " ":"| cut -d":" -f3)"
        echo "操作系统版本:$(cat /etc/redhat-release)"
        echo "内核版本:    $(uname -r)"
        echo "CPU型号:     $(cat /proc/cpuinfo|grep "model name"|uniq -c|cut -d":" -f2)"
        echo "内存大小:    $(free -m | head -n2 |tail -n1|tr -s " " ":"|cut -d":" -f2)"
        echo "硬盘大小:    $(fdisk -l | grep "GB"|cut -d":" -f2|cut -d"," -f1)"

2.書き込みスクリプト/root/bin/backup.shは、へ/のルート/ etcYYYY-MM-DD毎日の/ etc / backupディレクトリ達成することができます
。#!/ binに/ bashの
CP -rの/ etc / /ルートの/ etcを" $(%のDATE + F) "
3.スクリプト/root/bin/disk.h、ディスプレイ現在のハードディスクのパーティションスペース使用率の最大値
#/ binに/ bashの!
最大= $(DF | TR -s" "" : "|カットは-d": " - F5 | egrepの-o" [[:桁:]] * "| |ソート-NRヘッド-N1)は、
現行のハード・ディスク・パーティションのスペース利用をエコー"最大です:$最大「
4.スクリプト/root/bin/links.sh、表示IPv4アドレスおよび接続の数がこのホストと押します注文降順接続数各リモートホストに接続している
。#!/ binに/バッシュ
= $(リンクnetstatの-tan | grepを"^ [T ] | [U]" | trの-s "" ":" |カット-d ":" -f6 | uniqは-c |ソート-nr | egrepの「\ <(([0 -9] | [1-9] [0-9 ] | 1 [0-9] [0-9] | 2 [0-4] [0-9] |。25 [0-5])){3 }([0-9] | [1-9 ] [0-9] | 1 [0-9] [0-9] | 2 [0-4] [0-9] | 25 [0-5]) 「|テール-N1)
エコー」接続とIPアドレスの数は以下のとおりです。$リンク"
出口0
5。/root/bin/sumid.shをスクリプティング、ユーザーのユーザーIDと20などのコンピューティング/ passwdファイルの10分の1
#!/ binに/ bashの
ユーザーA = $(猫-n / etc / passwdファイル|ヘッド|尾-n1 |カットは、-d ":" -f3)
エコー"ID为10的UID:$ユーザーA"
ユーザーB = $(猫-n / etc / passwdファイル|ヘッド-n20 |尾-n1 |カットが-d ":" -f3)
エコー"ID为20的UID:$ユーザーB"

userall = $ユーザーA + $ユーザーB

let usera=$usera+$userb
echo "id和为: $usera"
exit 0

6.スクリプト/root/bin/sumspace.shは、スクリプトにパラメータとして2つのファイルのパスを渡し、これら二つの文書は空白行すべての合計で計算されます。
#!/ binに/ bashのは
A = $(CATの$ 1 |はgrep "^ [[:スペース:]]。$" | WC -l)
B = $(CAT $ 2 |はgrep "^ [[:スペース:]]
$" | -l WC)
#let = $ A $ A + B
のlet C = A + $ B $
"$ 1、$ 2、及び、2つのファイルの空白行Cに$"エコー
出口0
スクリプティング/root/bin/sumfile.sh 7.サブディレクトリとファイルの合計の統計/etc,./var,/usrディレクトリ番号
#!/ binに/ bashの
EF = $(LSは/ etc / | grepを" [:] $" | WC -l)
= $ ED(LSは/ etc / | grepの-v。 " [:] $" | grepの-v "^ [[:スペース:]] $" | -l WC)
VF = $(LSは/ var /
| grepを" 。[:] $ "| -l WC)
VD = $(LSは/ var /
| grepの-v。" [:] $ "| grepの-v" ^ [[:スペース:]] $ "
[:] $ "| WC -l)
UD = $(LSは/ usr / | grepの-v。" [:] $ "| grepの-v" ^ [[:スペース:]] * $「| WC -l)
エコーの「/ etc $ EFサブディレクトリ、$編ファイルの合計ディレクトリ」
エコー「/ varディレクトリ、$サブディレクトリVF、$ VDファイルの合計」
エコー「/ usrディレクトリ、の合計サブディレクトリUF $、$ UDファイル」
8.書き込みスクリプト生成されたスクリプトと、/ root / binに/ createsh.shは自動的に、とき/root/bin/createsh.shテスト.SHようになる実行時に/ルート/ binの下test.shと呼ばれる新しいファイルを作成し、ファイルが自動的に実行する権限を与え、自動的にファイル情報やメモを追加します次のように#注釈情報を頭:!。
#/ binに/ bashの!

------------------------------------------

    # Filename:    test.sh(此处会根据文件名自动更换)
    # Revision:    1.0
    # Date:        2017-01-22(此处会自动变换为当前日期)
    # Author:      Nanyibo
    # Email:       [email protected]
    # ------------------------------------------
    # Copyright:   2017 nanyibo
    # License:     GPL

ユーザーがスクリプトテキストの書き込みを開始するのを待つ、その後、自動的に使用Vimはオープン
#を!/ binに/ bashのを
タッチ/ルート/ binに/ $ 1
X- + /ルート/ binに/ $ 1 chmodコマンド
エコー「#!/ binに/ bashのを

------------------------------------------

                    # Filename:    $1(此处会根据文件名自动更换)
                    # Revision:    1.0
                    # Date:        $(date +%F)(此处会自动变换为当前日期)
                    # Author:      xiaoyu
                    # Email:       [email protected]
                    # ------------------------------------------
                    # Copyright:   2018 xiaoyu
                    # License:     GPL" > /root/bin/$1
        vim /root/bin/$1

おすすめ

転載: blog.51cto.com/13870640/2485278