shell小技巧(三十七)顯示主機的主要資訊

2021-10-04 18:13:04 字數 1218 閱讀 6749

編寫指令碼/root/bin/systeminfo.sh,顯示當前主機系統資訊,包括主機名,ipv4位址,作業系統版本,核心版本, cpu型號,記憶體大小,硬碟大小。

**如下:

#!/bin/bash

#hostname

myhostname=$(hostname)

echo "host name:" $myhostname

#ip address

$ip=$(ip addr |grep -a 2 -e "^2: "| tail -1|tr -s " "|awk -f "[/ ]+" '')

#ososname=$(cat /etc/centos-release)

echo "os name: " $osname

#core

coreversion=$(uname -r)

echo "core version:" $coreversion

#cpu

cpumodel=$(lscpu |grep "model name" | awk -f ":" '' | tr -s " ")

echo "cpu model: " $cpumodel

#mem

memsize=$(free -h | awk 'nr==2')

echo "memory size: " $memsize

#hard disk

disksize=$(cat /proc/partitions | awk 'nr==3')

echo "harddisk size: " $disksize

總結:本例看著挺熱鬧,其實超簡單。無非就是考察獲取各個資訊的命令。涉及的命令如下:

主機名:hostname;其實用uname也可以,使用uname -a列出所有主機資訊,主機名在第二列

之前謝過獲取ip位址的例子,這裡用了不同的技巧,有興趣可以看看前例。

作業系統:直接讀取/etc/centos-release檔案,如果是debian系統讀取 /etc/debian_version;debian的uname -a命令也可以。

核心系統:uname -r

cpu型號:lscpu命令;直接讀取/proc/cpuinfo檔案也可以

記憶體:free -h命令;直接讀取/proc/meminfo也可以

硬碟:讀取直接/proc/partitions檔案(因為我只有一塊硬碟,這裡偷懶了,應該判斷一下有幾塊硬碟);df 命令也可以,不過需要自己計算一下。

shell學習三十七天 引用

引用 案例,如果我想輸出乙個星號 使用echo 如何做?echo 這是肯定不行的,需要將 轉移,即 echo 這樣就引出了引用的概念.所為引用 是用來防止 shell 將某些你想要的東西解釋成不同的意義 如果你希望某些可能被 shell 視為個別引數的東西保持為單個引數 這時你就必須將其引用.引用的...

shell小技巧(二十七)檢查url

如下 以下是 執行獲得url檢測結果 echo 結果輸出0,代表正常 chk url baidu.com 結果輸出1,代表url不正常 總結說明 本例編寫了4個函式,分別是chkinst check url check url2 chk url chkinst 是檢查軟體是否安裝 check url...

shell小知識小技巧

1 local config config 1,如果沒有第乙個引數,那麼config netowk 2 字串可以用 來比較 數字可以用 來比較 3 shell函式傳引數的時候,local var1 hello local var2 word 傳這兩個引數到shell函式 fun shell寫成 fu...