1. 程式人生 > >linux需要裝?那就和我一起來配置一個動態的MOTD登陸效果吧

linux需要裝?那就和我一起來配置一個動態的MOTD登陸效果吧

網址 描述 signature cti info 制作 退出 分享 rep

說到motd,熟悉linux系統的同學應該熟悉,motd它是linux系統上的一個普通的文件,在linux系統上的/etc/motd文件 .作用於:每次系統需要登陸時,通過終端展示一些消息給登陸用戶。

然而,通過在motd文件中,添加的消息只能是靜態的,功能也不夠直觀,也不夠炫,為了實現這些效果,就有必要來作一個動態的motd信息效果,這節手記Jeson就教大家如何制作動態的motd登陸效果。
技術分享圖片
1. 制作登陸的logo
其實就是就是用一些好看了符號來拼接,Jeson制作的如下(我的博客logo),我們用vim來新建一個空文件 login_logo.txt,進行編輯並保存。我們應該:
(1) logo盡量簡單明了,不要復雜
(2) 如果不想自己設計,那就去copy別人的吧,這裏提供給大家一個網址去參考。

  _            
 (_)          
  _    _ __ ___  __    __    __  __  
   _ ` _ \  /  \  /  \  / / / /

 __ _ _ \__/  \__/  \_\ \_\

2. Shell腳本
寫一段shell腳本完成,用於動態消息內容的生成。
我寫的如下,供大家參考:

#########################################################################
# File Name: /opt/work/test/login_bash_ok.sh
# Program function:
# Author:Jeson
# mail:[email protected]
# Created Time: 四 10/ 6 10:41:58 2016
# * Variables
user=$USER
path=$PWD
home=$HOME

# * Check if we‘re somewhere in /home
if [ ! -d ${home} ];then
    return 0
fi

# * Calculate last login
lastlog=`lastlog -u ${user}grep ${user}awk ‘{for(i=3;i<=NF;++i) printf("%s ",$i)}‘`

#
# * ASCII head
cat /opt/work/login_logo.txt
# * Print Output
echo " ::::::::::::::::::::::::::::::::::-STATUS-::::::::::::::::::::::::::::::::::"
reset_terminal=$(tput sgr0)
#  * Check RAM and SWAP Usages
app_mem_usages=$(awk ‘/MemTotal/{total=$2}/MemFree/{free=$2}/Buffers/{buffers=$2}/^Cached/{cached=$2}END{print (total-free-buffers-cached)/1024}‘  /proc/meminfo)
echo -e ‘\E[32m‘" Application Memmory Usages :" $reset_terminal ${app_mem_usages}
all_mem_usages=$(awk ‘/MemTotal/{total=$2}/MemFree/{free=$2}END{print (total-free)/1024}‘  /proc/meminfo)
echo -e ‘\E[32m‘" System Memmory Usages :" $reset_terminal ${all_mem_usages}
# * Check Disk Usages
disk_device=$(fdisk -lgrep Diskgrep -vE ‘identifier‘grep -ioE ‘\/dev\/[a-z]{2}‘uniq )
diskusages=$(df -PH  grep -vE ‘^Filesystemtmpfscdrom‘ awk ‘{ print $1 " " $5 }‘)
echo -e ‘\E[32m‘" Disk Usages :" $reset_terminal  ${diskusages}
# * Check Load Average
loadaverage=$(top -n 1 -b  grep "load average:"  awk ‘{print $(NF-2) $(NF-1) $NF}‘)
echo -e ‘\E[32m‘""])])])]‘`‘>)}‘`

修改完畢後,執行查看輸出是否正常
技術分享圖片

3. 修改配置
如果想,指定某個用戶登陸然後執行並生成,那麽需要將執行腳本對應的命令加入到~/.bashrc文件中。
[jeson@localhost ~]$ vim ~/.bashrc
加入執行語句:
sh /opt/work/login_bash.sh

另外,如果想,作為全局的用戶都有效,那麽就需要加入到/etc/bashrc配置中。

4. 驗證
1)退出當前登陸終端
2)用設置的指定用戶登陸,如果有出現了本手記前中出現的登陸信息,那麽說明順利完成。

linux需要裝?那就和我一起來配置一個動態的MOTD登陸效果吧