国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

shell 簡單且常用的幾種

這篇具有很好參考價值的文章主要介紹了shell 簡單且常用的幾種。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、配置環(huán)境的shell腳本

?二、系統(tǒng)資源腳本

一、要求

二、腳本內容

三、腳本解析

四、賦權并驗證

三、查看當前內存的總大小、實際使用大小、剩余大小、顯示使用率百分比的腳本

一、第一種方法

二、驗證

三、第二種方法

四、驗證

四、查看網卡實時流量腳本

一、編輯腳本

?二、驗證結果

五、把當前目錄(包含子目錄)下所有后綴為 ".sh" 的文件后綴變更為 ".shell",之后刪除每個文件的第二行。

一、編寫腳本

二、驗證

六、統(tǒng)計訪問最多的十個IP

一、首先模擬創(chuàng)建IP、編寫腳本

二、驗證ip生成結果

七、磁盤使用率檢測腳本

一、首先lsblk 查看一下磁盤情況

二、進入編寫腳本

八、備份當前日期文件

一、編寫腳本

二、腳本結果驗證


因新接觸shell腳本,所以只能一直統(tǒng)計和手機不一樣的shell腳本,水平有限,希望可以幫助到大家如果有錯誤的地方歡迎大家及時指出,我們共同進步,(#^.^#)。

一、配置環(huán)境的shell腳本

systemctl stop firewalld

systemctl disable firewalld

systemctl stop NetworkManager

systemctl disable NetworkManager

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

cat << e > /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

BOOTPROTO=static

NAME=ens33

DEVICE=ens33

ONBOOT=yes

IPADDR=$1

PREFIX=24

GATEWAY=192.168.115.2

DNS1=192.168.115.2

e

systemctl restart network

shell 簡單且常用的幾種,服務器,linux,apache

?將此腳本放入終端中,后續(xù)輸入想設置的IP 則成功配置環(huán)境并設置ip?

shell 簡單且常用的幾種,服務器,linux,apache

?結果查看

shell 簡單且常用的幾種,服務器,linux,apache

?二、系統(tǒng)資源腳本

一、要求

1. 編寫一個腳本來監(jiān)控 CPU 使用率、內存使用率、磁盤空間等系統(tǒng)資源。
2. 實時顯示系統(tǒng)資源的使用情況,并根據預設的閾值提供警報功能。
3. 腳本應該可以在后臺運行,每隔一定時間自動更新資源狀態(tài)。
4. 提供一個簡單的用戶界面(命令行或圖形界面),方便用戶查看當前系統(tǒng)資源的情況。

二、腳本內容

#!/bin/bash
#lsq
#監(jiān)測腳本
while true
do
times=10
#磁盤
disk=$(df -Th | awk '{ print $6 }' | awk 'NR==6' |cut -d "%" -f 1)
#內存
mem=$(free -m | grep "Mem" | awk '{ printf "%.0f", $3/$2 * 100 }')
#cpu
cpu=$(top -n 1 | grep "Cpu(s)" | awk '{ printf "%.0f", $2+$4 }')
#顯示監(jiān)測情況:
? ? ? ? echo "******************"
? ? ? ? echo "CPU使用率$cpu %"
? ? ? ? echo "內存使用率$mem %"
? ? ? ? echo "磁盤使用率$disk %"
? ? ? ? echo "******************"
#——————————————————————————————————
disk1=80
mem1=80
cpu1=80
if [ "$mem" -ge "$mem1" ];then
? ? ? ? echo "內存使用已到$mem %,請注意" && exit 0
fi
if [ $cpu -ge $cpu1 ];then
? ? ? ? echo "CPU使用已到$cpu %,請注意" && exit 0
fi
if [ $disk -ge $disk1 ];then
? ? ? ? echo "磁盤使用已到$disk ,請注意" && exit 0
fi
sleep $times
done

三、腳本解析

這是一個監(jiān)測腳本,用于監(jiān)測系統(tǒng)的磁盤、內存和CPU使用率。下面是對腳本中各部分的解析:

  1. #!/bin/bash:指定腳本采用Bash解釋器。

  2. #mpy:注釋,用于說明腳本的用途。

  3. while true:一個無限循環(huán),表示腳本會一直執(zhí)行下去。

  4. dotimes=10:設置一個變量dotimes的值為10。

  5. disk=$(df -Th | awk '{ print $6 }' | awk 'NR==6' |cut -d "%" -f 1):使用df命令獲取磁盤信息,并使用awk和cut命令提取出磁盤使用率的數值部分。

  6. mem=$(free -m | grep "Mem" | awk '{ printf "%.0f", $3/$2 * 100 }'):使用free命令獲取內存信息,再使用awk命令計算內存使用率百分比。

  7. cpu=$(top -n 1 | grep "Cpu(s)" | awk '{ printf "%.0f", $2+$4 }'):使用top命令獲取CPU信息,并使用awk命令計算CPU使用率百分比。

  8. echo "******************":打印分隔線。

  9. echo "CPU使用率$cpu %":打印CPU使用率。

  10. echo "內存使用率$mem %":打印內存使用率。

  11. echo "磁盤使用率$disk %":打印磁盤使用率。

  12. echo "******************":打印分隔線。

  13. disk1=80:設置一個變量disk1的值為80,表示磁盤使用率的閾值。

  14. mem1=80:設置一個變量mem1的值為80,表示內存使用率的閾值。

  15. cpu1=80:設置一個變量cpu1的值為80,表示CPU使用率的閾值。

  16. if [ "$mem" -ge "$mem1" ]; then:如果內存使用率大于等于閾值mem1,則執(zhí)行下面的命令。

  17. echo "內存使用已到$mem %,請注意" && exit 0:打印內存使用率達到閾值的警告信息,并退出腳本。

  18. if [ $cpu -ge $cpu1 ]; then:如果CPU使用率大于等于閾值cpu1,則執(zhí)行下面的命令。

  19. echo "CPU使用已到$cpu %,請注意" && exit 0:打印CPU使用率達到閾值的警告信息,并退出腳本。

  20. if [ $disk -ge $disk1 ]; then:如果磁盤使用率大于等于閾值disk1,則執(zhí)行下面的命令。

  21. echo "磁盤使用已到$disk ,請注意" && exit 0:打印磁盤使用率達到閾值的警告信息,并退出腳本。

  22. sleep $times:暫停腳本執(zhí)行一段時間,時間長度由變量times指定。

  23. done:結束while循環(huán)。

shell 簡單且常用的幾種,服務器,linux,apache

?shell 簡單且常用的幾種,服務器,linux,apache

四、賦權并驗證

shell 簡單且常用的幾種,服務器,linux,apache

shell 簡單且常用的幾種,服務器,linux,apache

三、查看當前內存的總大小、實際使用大小、剩余大小、顯示使用率百分比的腳本

一、第一種方法

#!/bin/bash

Mem_all=$(free -m | awk '/Mem/ {print $2}')
Mem_used=$(free -m | awk '/Mem/ {print $3}')
Mem_free=$(free -m | awk '/Mem/ {print $4}')
Mem_usage=$(free -m | awk '/Mem/ {printf "%.0f", $3/$2 * 100}')

echo "當前內存總共: $Mem_all MB"
echo "當前內存已使用: $Mem_used MB"
echo "當前剩余: $Mem_free MB"
echo "當前物理內存使用率: $Mem_usage%"?

shell 簡單且常用的幾種,服務器,linux,apache

?shell 簡單且常用的幾種,服務器,linux,apache

二、驗證

shell 簡單且常用的幾種,服務器,linux,apache

三、第二種方法

#!/bin/bash

# 獲取內存信息
mem_info=$(free -m | awk 'NR==2{print}')

# 獲取內存總量、已使用量和剩余量(以兆字節(jié)為單位)
total=$(echo $mem_info | awk '{print $2}')
used=$(echo $mem_info | awk '{print $3}')
free=$(echo $mem_info | awk '{print $4}')

# 計算內存使用率
usage_percent=$(echo "scale=2; $used / $total * 100" | bc)

# 打印信息
echo "物理內存總量:${total}MB"
echo "已使用內存:${used}MB"
echo "剩余內存:${free}MB"
echo "內存使用率:${usage_percent}%"

shell 簡單且常用的幾種,服務器,linux,apache

shell 簡單且常用的幾種,服務器,linux,apache

四、驗證

shell 簡單且常用的幾種,服務器,linux,apache

四、查看網卡實時流量腳本

一、編輯腳本

#!/bin/bash
NIC=ens33
echo -e " In ------ Out"
while true; do
? ? ? ? OLD_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev)
? ? ? ? OLD_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)
sleep 1
? ? ? ? NEW_IN=$(awk '$0~"'$NIC'"{print $2}' /proc/net/dev)
? ? ? ? NEW_OUT=$(awk '$0~"'$NIC'"{print $10}' /proc/net/dev)
? ? ? ? IN=$(printf "%.1f%s" "$((($NEW_IN-$OLD_IN)/1024))" "KB/s")
? ? ? ? OUT=$(printf "%.1f%s" "$((($NEW_OUT-$OLD_OUT)/1024))" "KB/s")
? ? ? ? echo "$IN $OUT"
? ? ? ? sleep 1
done

shell 簡單且常用的幾種,服務器,linux,apache
shell 簡單且常用的幾種,服務器,linux,apache

?二、驗證結果

shell 簡單且常用的幾種,服務器,linux,apache

五、把當前目錄(包含子目錄)下所有后綴為 ".sh" 的文件后綴變更為 ".shell",之后刪除每個文件的第二行。

先查看目錄下的后綴文件

shell 簡單且常用的幾種,服務器,linux,apache

一、編寫腳本

?#!/bin/bash

ALL_SH_FILE=$(find . -type f -name "*.sh")

????????for file in ${ALL_SH_FILE[*]}

do

????????filename=$(echo $file | awk -F'.sh' '{print $1}')

????????new_filename="${filename}.shell"

????????mv "$file" "$new_filename"

????????sed -i '2d' "$new_filename"

done

shell 簡單且常用的幾種,服務器,linux,apache

shell 簡單且常用的幾種,服務器,linux,apache

二、驗證

shell 簡單且常用的幾種,服務器,linux,apache

六、統(tǒng)計訪問最多的十個IP

一、首先模擬創(chuàng)建IP、編寫腳本

vim /makeiplog.sh

#!/bin/bash
for i in {1..30};do
? ? ? ? host=$[$RANDOM % 10]
? ? ? ? host1=$[$RANDOM % 10]

? ? ? ? echo "192.168.$host1.$host" >> /root/ip.log
done

shell 簡單且常用的幾種,服務器,linux,apache

shell 簡單且常用的幾種,服務器,linux,apache

賦權并啟動

shell 簡單且常用的幾種,服務器,linux,apache

二、驗證ip生成結果

?輸入 vim ip.log 查看

shell 簡單且常用的幾種,服務器,linux,apache

輸入命令?

awk '{a[$1]++}END{print "UV:",length(a);for(v in a)print v,a[v]}' ip.log |sort -k2 -nr |head -10

shell 簡單且常用的幾種,服務器,linux,apache

?顯示結果

shell 簡單且常用的幾種,服務器,linux,apache

shell 簡單且常用的幾種,服務器,linux,apache

awk '{a[$1]++}END{print "UV:",length(a);for(v in a)print v,a[v]}' ip.log |sort -k2

升序顯示

shell 簡單且常用的幾種,服務器,linux,apache

shell 簡單且常用的幾種,服務器,linux,apache

七、磁盤使用率檢測腳本

一、首先lsblk 查看一下磁盤情況

shell 簡單且常用的幾種,服務器,linux,apache

?echo fdisk.sh 創(chuàng)建

二、進入編寫腳本

shell 簡單且常用的幾種,服務器,linux,apache

#!/bin/bash
# 截取IP
IP=`ifconfig eth0 |awk -F " " 'NR==2{print $2}'`
# 定義使用率,并轉換為數字
SPACE=`df -Ph |awk '{print int($5)}'`
for i in $SPACE
do
if [ $i -ge 80 ]
then
echo "$IP的磁盤使用率已經超過了80%,請及時處理"
fi
done

shell 簡單且常用的幾種,服務器,linux,apache

?shell 簡單且常用的幾種,服務器,linux,apache

授權、并驗證結果

shell 簡單且常用的幾種,服務器,linux,apache

?如果把腳本內容改為90則,驗證的時候會提示超過百分之九十

shell 簡單且常用的幾種,服務器,linux,apache

?./fdisk.sh 驗證

shell 簡單且常用的幾種,服務器,linux,apache

八、備份當前日期文件

一、編寫腳本

#!/bin/bash
#一月前
historyTime=$(date "+%Y-%m-%d %H" -d '1 month ago')
echo ${historyTime}
historyTimeStamp=$(date -d "$historyTime" +%s)
echo ${historyTimeStamp}
#一周前
date_this_month=`date +%Y%m01`
#一天前
date_today=`date -d '1 day ago' +%Y%m%d`

這是一個Bash腳本,下面是對每個部分的解釋:

  1. historyTime=$(date "+%Y-%m-%d %H" -d '1 month ago'):獲取一月前的日期和時間,并將其存儲在變量historyTime中。date命令的-d選項用于指定日期,"+%Y-%m-%d %H"表示輸出格式為年-月-日 小時。

  2. echo ${historyTime}:打印變量historyTime的值,即一月前的日期和時間。

  3. historyTimeStamp=$(date -d "$historyTime" +%s):將變量historyTime轉換成時間戳格式并存儲在變量historyTimeStamp中。date命令的-d選項用于指定日期,+%s表示輸出時間戳。

  4. echo ${historyTimeStamp}:打印變量historyTimeStamp的值,即一月前的時間戳。

  5. date_this_month=date +%Y%m01``:獲取當月的年和月,并在末尾添加"01",表示當月的第一天。結果存儲在變量date_this_month中。

  6. date_today=date -d '1 day ago' +%Y%m%d``:獲取昨天的日期,并以年月日的格式存儲在變量date_today。

這段腳本的目的是獲取一月前的日期和時間,并將其轉換成時間戳格式。然后,獲取當月的第一天的日期和昨天的日期。

shell 簡單且常用的幾種,服務器,linux,apache

二、腳本結果驗證

root@localhost ~]# ./jiaoben.sh?
2023-07-29 21
1690635600
shell 簡單且常用的幾種,服務器,linux,apache文章來源地址http://www.zghlxwxcb.cn/news/detail-660453.html

到了這里,關于shell 簡單且常用的幾種的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • PostgreSQL 查看服務器版本的幾種方法

    本文介紹一下查看 PostgreSQL 服務器版本的幾種方法。 如果已經連接到 PostgreSQL 服務器,可以執(zhí)行以下查詢語句獲取服務器版本信息: 以下是一個返回結果的示例: 如果只需要獲取簡單的服務器版本號,可以利用配置選項 server_version: 以下是一個輸出示例: 另外,配置選項

    2024年02月11日
    瀏覽(26)
  • MacBook 往服務器上傳、下載文件的幾種操作

    MacBook 往服務器上傳、下載文件的幾種操作

    往服務器傳文件、下載文件有很多種方法,可以使用scp、rsync或者rs/sz MacBook上的rz和sz 配置起來比較麻煩 這里就不說了 另外 研發(fā)和測試同學可能對于scp命令和rsync命令并不了解 這里也不說了 這里直說兩種圖形化界面的工具 通過jumpserver登錄服務器后 可以簡單快速實現上傳和

    2024年02月16日
    瀏覽(27)
  • MySQL客戶端和服務器進程通信的幾種方式

    真實環(huán)境中,數據庫服務器進程和客戶端進程可能運行在不同的主機中,它們之間必須通過網絡來進行通訊。MySQL采用TCP作為服務器和客戶端之間的網絡通信協(xié)議。在網絡環(huán)境下,每臺計算機都有一個唯一的IP地址,如果某個進程有需要采用TCP協(xié)議進行網絡通信方面的需求,可

    2024年04月24日
    瀏覽(26)
  • Shell 分析服務器日志常用命令

    1、查看有多少個IP訪問: 日志文件的第一列是IP地址 2、查看某一個頁面被訪問的次數: 3、查看每一個IP訪問了多少個頁面: 4、將每個IP訪問的頁面數進行從小到大排序: 5、查看某一個IP訪問了哪些頁面: 6、去掉搜索引擎統(tǒng)計的頁面: 7、查看2015年8月16日14時這一個小時內

    2024年02月14日
    瀏覽(22)
  • axios 多個baseURL配置、實現不同前綴代理到不同的服務器的幾種方式

    前言: 在開發(fā)中,有可能遇到每部分的功能的需要調用另一臺服務器的地址。這個時候就需要設置不同的請求前綴首先代理到不同的服務器地址。 一、axios封裝實例以及代理:(不是完整的封裝實例,重點在于baseURL的區(qū)別) 文件路徑:/CMDB/src/utils/request.js 代理的時候有兩個前

    2024年02月04日
    瀏覽(23)
  • Windows的幾種常用反彈shell方法

    Windows的幾種常用反彈shell方法

    簡介:shell類似于DOS下的COMMAND.COM和后來的cmd.exe,它接收用戶命令,然后調用相應的應用程序,也可以通俗的說是命令執(zhí)行環(huán)境。分為交互式shell,與非交互式shell。 交互shell就是shell等待你的輸入,并且立即執(zhí)行你提交的命令,這種模式被稱作交互式是因為shell與用戶進行交互

    2024年02月12日
    瀏覽(18)
  • Shell腳本常用命令及如何通過shell腳本實現服務器上文件的上傳和下載

    Shell腳本常用命令 簡介 1、什么是shell: Shell 是一個用 C 語言編寫的應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統(tǒng)內核的服務。Shell 腳本(shell script),是一種為 shell 編寫的腳本程序,擴展名為.sh。 2、如何編寫shell腳本: 文本編輯器(可以使用

    2024年02月03日
    瀏覽(32)
  • 遠程連接銀河麒麟高級服務器操作系統(tǒng)V10SP1的幾種方法(命令行遠程+圖形化遠程)

    遠程連接銀河麒麟高級服務器操作系統(tǒng)V10SP1的幾種方法(命令行遠程+圖形化遠程)

    服務端 OS環(huán)境:銀河麒麟高級服務器操作系統(tǒng)V10SP1(x86_64) 確認sshd服務處于運行狀態(tài) [root@localhost ~]# systemctl status sshd 確認防火墻已經放行SSH服務 [root@localhost ~]# firewall-cmd --list-all 備注:如果系統(tǒng)沒有放行ssh服務,或者ssh端口號被修改,則需要重新放行ssh服務或者新的ssh端口

    2024年02月09日
    瀏覽(41)
  • Linux&Shell--多服務器自動登錄連接

    sshpass 是一個命令行工具,用于自動化SSH密碼認證。它通常在腳本或自動化任務中使用,其中您需要提供密碼以建立SSH連接,而無需用戶干預。可以直接將密碼作為命令行參數或通過文件提供,以便在建立SSH連接時自動輸入密碼。這對于需要自動化處理SSH連接的任務非常有用

    2024年02月03日
    瀏覽(24)
  • (六)關于Linux中服務器磁盤爆滿問題的幾個解決思路

    (六)關于Linux中服務器磁盤爆滿問題的幾個解決思路

    在監(jiān)控服務器性能的時候,發(fā)現服務器的磁盤占用很大,幾乎快要爆滿,具體的表現可能如下: 1、應用服務訪問卡頓甚至失??; 2、數據庫訪問失??; 3、文件上傳失敗 等等 通過命令 df -h 查看磁盤占用情況,發(fā)現如下: 這里的占用是清除過的,所以并不算特別高。 這種現

    2024年02月04日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包