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

[欢迎大家继续关注我在imooc的文章 ,jeson@imooc.com]

linux用户motd,linux需要装?那就和我一起来配置一个动态的MOTD登陆效果吧相关推荐

  1. php 当前linux用户权限,Linux 下用户组别权限的理解

    本篇讲述 Linux 用户组别权限的理解,希望给大家带来帮助. 先看操作历史记录.Last login: Thu Aug 3 03:31:18 2017 from 202.101.22.42 root ...

  2. linux用户随机密码,Linux 生成随机密码/修改密码

    Linux生成随机密码方式: strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo Linux修改密码 ...

  3. c修改linux 用户密码,Linux修改用户密码实用案例

    1. passwd命令简介 passwd命令用来更改Linux使用者的密码.passwd命令用于设置用户的认证信息,包括用户密码.密码过期时间等.系统管理者则能用它管理系统用户的密码.只有管理者可以指 ...

  4. 查看有多少个linux用户登录,Linux用户查看系统有多少用户在登录

    作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正在做什么.本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法. 1. 使用w ...

  5. linux用户随机密码,Linux面试题-批量添加用户并设置8位随机密码

    一.批量添加用户stu01 stu02 stu03 并设置123456 化简为 添加3个用户设置固定密码 1.最终目标: useradd stu01 ;echo 123456|passwd --std ...

  6. linux如何注销远程用户登录,Linux无法被远程登录;用户的关机, 重启,注销,新增用户,删除用户...

    不能使用xshell连接到我的Linux服务器 通过再windows的cmd中ping了我的Linux地址,发现网络不通. 查看百度发现是因为网络没有选桥接模式,然后选完桥接模式告诉我: 然后发现没有 ...

  7. Linux用户和HDFS和Hive权限关系

    1.Linux用户组和用户新建    1)用户组      新建:$groupadd hphs      删除命令:groupdel;      属性修改:groupmod;    2)用户:     ...

  8. linux 全球用户数量,全球Linux用户市场占有率升至2.78%

    6月7日下午1点左右,www.w3counter.com终 于发布了今年5月份的统计数字,看起来,该网站为此次发布大概做了不少审定工作,相比以往,拖延了几天才发布.公布的统计数字如下: 4月份     ...

  9. linux的用户及权限管理,Linux 用户及权限管理.doc

    ? ? ? ? ? ? ? ? Linux 用户及权限管理 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Linux 是一个多用户的操作系统,引入用户,可 ...

最新文章

  1. MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)
  2. 启用Windows Server 2012的远程桌面
  3. python中字符编码使用_python中字符编码是什么?如何转换字符?
  4. Matlab——对比度拉伸
  5. c python 内存冲突_Python在计算内存时应该注意的问题?
  6. java求二阶微积分方程特解_Scipy:实现微分方程的两种方法:两种不同的解决方案:回答...
  7. 如何在C++中集成LUA脚本(LuaWrapper For C++篇)
  8. 《深入理解Java虚拟机》第1,2章
  9. 使用openssh的登录的三种方法
  10. 程序员又双叕和产品打起来了,说说与产品经理的那些事。
  11. CSS基础part1
  12. 计算机考研百天,2021非全日制研究生备考即将进入百天倒计时的你还在坚持吗?...
  13. python刷今日头条访问量_python爬虫实战:刷某博客站点的访问量(转)
  14. 医院体检PEIS系统
  15. 一维数组实验题:大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m>2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低分后,取平均分作为该选
  16. 程序员工资真的高吗?
  17. 理财中的六大心理学效应(一)
  18. java判断200以内的素数_java判断101-200之间的素数并输出
  19. 日本转运海淘包裹被税、退运处理流程详解—北京篇
  20. 推荐算法工程师面试准备

热门文章

  1. linux运行openfoam,OpenFOAM应用的准备工作
  2. 数学规划模型(三):整数规划模型
  3. Qtum量子链发布QIP-6,通过预编译合约大幅降低开发成本
  4. Spring Cloud 基本理论概述
  5. [OpenGL] 视图矩阵(View)矩阵与glm::lookAt函数源码解析
  6. narwal机器人_欧美追捧的中国黑科技产品,Narwal云鲸全自动扫拖机器人
  7. [源码解析] 深度学习流水线并行 PipeDream(6)--- 1F1B策略
  8. for /f 用法详解
  9. uva 815 Flooded!
  10. oracle 人民币符号,人民币的符号的正确表示法?一杠?两杠?