shell腳本練習

1、編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小
答:echo -e "My hostname is hostname"
echo -e "My ip is ifconfig | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|head -1"
echo -e "OS version is cat /etc/redhat-release"
echo -e "kernel version is uname -r"
echo -e "CPU type islscpu|grep 'Model name'|tr -s " "|cut -d: -f2"
echo -e "Mem total is cat /proc/meminfo |head -1|cut -d: -f2|tr -d ' '"
echo -e "Disk is lsblk | grep -Eo "[0-9]+G"|sort -nr|head -1"

2、編寫腳本/root/bin/backup.sh,可實現每日將/etc/目錄備份到/root/etcYYYY-mm-dd中
答:cp -av /etc/ /data/etcdate +%F

3、編寫腳本/root/bin/disk.sh,顯示當前硬盤分區中空間利用率最大的值
答:df | grep /dev/sd| tr -s " "|cut -d" " -f5|sort -nr|head -1

4、編寫腳本/root/bin/links.sh,顯示正連接本主機的每個遠程主機的IPv4地址和連接數,並按連接數從大到小排序
答:cat ss.log | tr -s " " :| cut -d: -f4|grep ^[0-9]|sort -nr|uniq -c

1、編寫腳本/root/bin/sumid.sh,計算/etc/passwd文件中的第10個用戶和第20用戶的ID之和
答:ID10=cat /etc/passwd|head -10|tail -1|cut -d: -f3
ID20=cat /etc/passwd|head -20|tail -1|cut -d: -f3
ID=$[$ID10+$ID20]
echo -e "第十個用戶的ID爲:$ID10"
echo -e "第二十個用戶的ID爲:$ID20"
echo -e "和爲:$ID"

2、編寫腳本/root/bin/sumspace.sh,傳遞兩個文件路徑作爲參數給腳本,計算這兩個文件中所有空白行之和
答:FILE1=cat $1 | grep ^[[:space:]]*[[:space:]]$|wc -l

echo -e "文件一的空白行爲:"$FILE1"行"

FILE2=cat $2 | grep ^[[:space:]]*[[:space:]]$|wc -l

echo -e "文件二的空白行爲:"$FILE2"行"

FILE="$[$FILE1+$FILE2]"

echo -e "文件一和文件二的總空白行爲:"$FILE"行"

3、編寫腳本/root/bin/sumfile.sh,統計/etc, /var, /usr目錄中共有多少個一級子目錄和文件
答:ETCDIR=ls -la /etc | grep ^d | wc -l

echo -e "/etc中一級目錄有"$ETCDIR"個"

ETCFILE=ls -la /etc | grep -v ^d|wc -l

echo -e "/etc中文件有"$[$ETCFILE-1]"個"

VARDIR=ls -la /var | grep ^d | wc -l

echo -e "/var中一級目錄有"$VARDIR"個"

VARFILE=ls -la /var | grep -v ^d|wc -l

echo -e "/var中文件有"$[$VARDILR-1]"個"

USRDIR=ls -la /usr | grep ^d | wc -l

echo -e "/usr中一級目錄有"$USRDIR"個"

USRFILE=ls -la /usr | grep -v ^d|wc -l

echo -e "/usr中文件有"$[$USRFILE-1]"個"

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章