1、編寫指令碼 systeminfo.sh,顯示當前主機系統資訊,包括主機名、ipv4 位址、作業系統版本、核心版本、cpu 型號、記憶體大小、硬碟大小;
#!/bin/bash
echo -e "hostname:\t `
hostname`"
echo -e "ipv4 address:\t `
hostname -i`
"echo -e "os version:\t `
cat /etc/redhat-release`
"echo -e "kernel version:\t `
uname -r`
"echo -e "cpu model:\t`lscpu |
grep
"model name"
|tr -s ' '
|cut -d : -f 2`
"echo -e "memory size:\t`lsmem |
grep
"total online"
|tr -s ' '
|cut -d: -f 2`
"echo -e "disk size:\t `lsblk |
sed -nr 's/^(sd[:alpha:]) .* ([0-9]+g) .*?/\1: \2/p'
`"
[yinxd@centos7 ~]$ ./systeminfo.sh
hostname: centos7
ipv4 address: 10.10.10.10
os version: centos linux release 7.7.1908 (core)
kernel version: 3.10.0-1062.el7.x86_64
cpu model: intel(r) pentium(r) cpu g3250 @ 3.20ghz
memory size: 2g
disk size: sda: 100g
2、編寫指令碼 backup.sh,可實現每日將/etc/目錄備份到 /backup/etcyyyy-mm-dd 中;#!/bin/bash
date=
`date +%f`
sudo
mkdir -p /backup/etc$date
sudo
cp -a /etc/ /backup/etc$date
[yinxd@centos7 ~]$ ./backup.sh
[yinxd@centos7 ~]$ ls /backup/etc2020-05-25/
etc[yinxd@centos7 ~]$ sudo
du -sh /backup/etc2020-05-25/
42m /backup/etc2020-05-25/
3、編寫指令碼 disk.sh,顯示當前硬碟分割槽中空間利用率最大的值;#!/bin/bashdf|
grep
'^/dev/'
|tr -s ' '
|cut -d' ' -f5 |
sort -nr |
head -1
[yinxd@centos7 ~]$ ./disk.sh
19%
4、編寫指令碼 links.sh,顯示正連線本主機的每個遠端主機的ipv4位址和連線數,並按連線數從大到小排序。#!/bin/bash
netstat -nt |
sed -nr "s/^.* ([0-9.]):.*?/\1/p"
|sort
|uniq -c |
sort -nr
[yinxd@centos7 ~]$ ./links.sh
2 10.10.10.1
Shell指令碼程式設計01 基礎知識
shell指令碼與windows dos下的批處理相似,就是將各類命令預先放入到乙個檔案中,然後執行該檔案,便可以達到與批處理類似的功能,主要是方便管理員進行設定或者管理用的。換句話來說,shell指令碼是利用shell的功能所寫的乙個程式,這個程式使用純文字檔案,將一些shell的語法與指令寫在裡...
shell 程式設計 shell 指令碼基礎
shell 是乙個命令直譯器,它在作業系統的最外層,負責直接與使用者進行對話,把使用者的輸入解釋給作業系統,並處理各種各樣的作業系統的輸出結果,輸出到螢幕反饋給使用者。把 linux 命令或語句放在乙個檔案中,通過這個程式檔案去執行,這個程式為 shell 指令碼或 shell 程式 可以在指令碼中...
shell指令碼程式設計基礎
1.使用多個命令 2.建立shell指令碼檔案 shell指令碼中注釋一般以 開頭,shell指令碼不會處理注釋的行。但是,shell指令碼的第一行是例外。後的 會告訴shell用哪個shell來執行指令碼,shell會根據命令在檔案 現的先後順序進行處理。下面是建立指令碼名為demo的檔案。bin...