• linux需要装?那就和我一起来配置一个动态的MOTD登陆效果吧


    说到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:jeson@imoocc.com
    # 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)用设置的指定用户登陆,如果有出现了本手记前中出现的登陆信息,那么说明顺利完成。

  • 相关阅读:
    Ubuntu16.04 安装Teamviewer
    Redis 中的事务
    apache rewrite .htaccess 站点内容重定向实例
    PHP_EOL常量
    PHP 设计模式之适配器模式
    MYSQL优化
    php设计模式之简单工厂模式
    php设计模式之单例模式
    PHP设计模式之策略模式
    PHP 设计模式之观察者模式 (转载)
  • 原文地址:https://www.cnblogs.com/linuxx/p/8468950.html
Copyright © 2020-2023  润新知