關註上方 浩道Linux ,回復 資料 ,即可獲取海量 L inux 、 Python 、 網路通訊、網路安全 等學習資料!
前言
大家好,這裏是 浩道Linux ,主要給大家分享 L inux 、 P ython 、 網路通訊、網路安全等 相關的IT知識平台。
好多私信我的朋友都問,能不能短時間內掌握shell編程,畢竟面試時還是經常會遇到相關筆試題。今天浩道跟大家分享一份關於shell知識硬核幹貨,這份資料包含shell編程相關知識點總結,同時又有幾百條經典的shell指令碼供大家練習,要我說認真肝3天,掌握shell自然不在話下! 有需要的朋友,可以看下文 免費領取 !
而且,這份資料不是掃描版的,都是清晰可見的,非常便於我們學習:
點選👆👆👆卡片,關註後回復【shell總結】,即可獲取
這份資料非常全面且詳細,包含諸多的shell經典例項 ,非常適合初學者入門! 多看、多練、多學,相信你一定能寫出滿意的指令碼。
除此之外,還準備了一些Shell指令碼的編寫規範、入門手冊、編寫指南等資源,今天一並分享給大家。
由於指令碼案例太多,在此僅展示部份,完整版領取方式請見文末
249個拿來即用的shell指令碼!
這249個Shell指令碼共147頁,目錄清楚,一鍵搜尋定位,程式碼清晰可復制,電子版可以隨時拿來練習提升,是學習、提升、面試必備精品。
1、透過位置變量建立Linux系統帳戶及密碼
#!/bin/bash
# 透過位置變量建立 Linux 系統帳戶及密碼
#$1 是執行指令碼的第一個參數,$2 是執行指令碼的第二個參數
useradd "$1"
echo"$2" | passwd ‐‐stdin "$1"
2、備份日誌
#!/bin/bash
# 每周 5 使用 tar 命令備份/var/log 下的所有日誌檔
# vim /root/logbak.sh
# 編寫備份指令碼,備份後的檔名包含日期標簽,防止後面的備份將前面的備份數據覆蓋
# 註意 date 命令需要使用反引號括起來,反引號在鍵盤<tab>鍵上面
tar -czf log-`date +%Y%m%d`.tar.gz /var/log
# crontab ‐e #編寫計劃任務,執行備份指令碼
00 03 * * 5 /root/logbak.sh
3、輸入三個數並進行升序排序
#!/bin/bash
# 依次提示使用者輸入 3 個整數,指令碼根據數位大小依次排序輸出 3 個數位
read -p "請輸入一個整數:" num1
read -p "請輸入一個整數:" num2
read -p "請輸入一個整數:" num3
# 不管誰大誰小,最後都打印 echo "$num1,$num2,$num3"
# num1 中永遠存最小的值,num2 中永遠存中間值,num3 永遠存最大值
# 如果輸入的不是這樣的順序,則改變數的儲存順序,如:可以將 num1 和 num2 的值對調
tmp=0
# 如果 num1 大於 num2,就把 num1 和和 num2 的值對調,確保 num1 變量中存的是最小值
if [ $num1 -gt $num2 ];then
tmp=$num1
num1=$num2
num2=$tmp
fi
# 如果 num1 大於 num3,就把 num1 和 num3 對調,確保 num1 變量中存的是最小值
if [ $num1 -gt $num3 ];then
tmp=$num1
num1=$num3
num3=$tmp
fi
# 如果 num2 大於 num3,就把 num2 和 num3 對標,確保 num2 變量中存的是小一點的值
if [ $num2 -gt $num3 ];then
tmp=$num2
num2=$num3
num3=$tmp
fi
echo"排序後數據(從小到大)為:$num1,$num2,$num3"
4、點名器指令碼
#!/bin/bash
# 編寫一個點名器指令碼
# 該指令碼,需要提前準備一個 user.txt 檔
# 該檔中需要包含所有姓名的資訊,一行一個姓名,指令碼每次隨機顯示一個姓名
while :
do
#統計 user 檔中有多少使用者
line=`cat user.txt |wc ‐l`
num=$[RANDOM%line+1]
sed -n "${num}p" user.txt
sleep 0.2
clear
done
5、對100以內的所有正整數相加求和(1+2+3.....+100)
#!/bin/bash
# 對 100 以內的所有正整數相加求和(1+2+3+4...+100)
#seq 100 可以快速自動生成 100 個整數
sum=0
for i in `seq 100`
do
sum=$[sum+i]
done
echo"總和是:$sum"
6、統計當前Linux系統中可以登入電腦的帳戶有多少個
#!/bin/bash
# 統計當前 Linux 系統中可以登入電腦的帳戶有多少個
#方法 1:
grep "bash$" /etc/passwd | wc -l
#方法 2:
awk -f: '/bash$/{x++}end{print x}' /etc/passwd
8、打印各種格式的時間
#!/bin/bash
# 打印各種時間格式
echo"顯示星期簡稱(如:Sun)"
date +%a
echo"顯示星期全稱(如:Sunday)"
date +%A
echo"顯示月份簡稱(如:Jan)"
date +%b
echo"顯示月份全稱(如:January)"
date +%B
echo"顯示數位月份(如:12)"
date +%m
echo"顯示數位日期(如:01 號)"
date +%d
echo"顯示數位年(如:01 號)"
date +%Y echo"顯示年‐月‐日"
date +%F
echo"顯示小時(24 小時制)"
date +%H
echo"顯示分鐘(00..59)"
date +%M
echo"顯示秒"
date +%S
echo"顯示納秒"
date +%N
echo"組合顯示"
date +"%Y%m%d %H:%M:%S"
更多內容展示
上下捲動檢視更多,僅展示部份內容
Shell指令碼是自動化運維的關鍵組成部份,雖然簡簡單單幾十行程式碼,但可是蘊藏著巨大的能量和智慧,還是很值得運維朋友學習的。
所有資料已經打包好了,想要提升的同學請務必拿走學習!
而且,這份資料不是掃描版的,都是清晰可見的,非常便於我們學習:
點選👆👆👆卡片,關註後回復【shell總結】,即可獲取
更多精彩
關註公眾號 「 浩道Linux 」
浩道Linux ,專註於 Linux系統 的相關知識、 網路通訊 、 網路安全 、 Python相關 知識以及涵蓋IT行業相關技能的學習, 理論與實戰結合,真正讓你在學習工作中真正去用到所學。同時也會分享一些面試經驗,助你找到高薪offer,讓我們一起去學習,一起去進步,一起去漲薪!期待您的加入~~~ 關註回復「資料」可 免費獲取學習資料 (含有電子書籍、視訊等)。
喜歡的話,記得 點「贊」 和 「在看」 哦