Linux登录界面

Linux登录界面

  • 1. 起因
  • 2. 脚本
  • 3. 效果

1. 起因

某次刷抖音看到一个博主展示了一个登录页面,觉得蛮好看的.于是自己动手也写一个
在这里插入图片描述

2. 脚本

编写脚本/usr/local/bin/login.sh

#!/bin/bash
Current_time=`date '+%Y-%m-%d %H:%M:%S'`
Version=`cat /etc/redhat-release`
Kernel_Version=`uname -r`
Uptime=`uptime|awk '{print $3,$4}'|awk -F',' '{print $1}'`
Ipaddress=`hostname -I|awk '{print $1}'`
Hostname=`hostname|awk '{print $1}'`
Cpu_info=`grep name /proc/cpuinfo |awk -F : '{print ":"$2}'|head -1`
Cpu_used=`top -bn1|grep Cpu|awk '{print $2}'|awk -F'.' '{print $1}'`
Memory=`free -m | grep Mem | awk '{total=$2; free=$4; used=total-free; print used"MB /",total"MB","(" used*100/total "% Used)"}'`
Memory_Total=`free -m | grep Mem | awk '{print $2}'`
Memory_Used=`free -m |grep Mem|awk '{print $2-$4}'`
# 颜色
GREEN='\033[0;32m'
NC='\033[0m'
# 进度条
progress_bar() {
  Fraction=$1
  if [ $Fraction -lt 2 ];then
    Fraction=2
  fi
  Total=$2
  Percentage=($Fraction*100/$Total)
  Minus=(50-$Percentage/2)

  echo -n "["
  echo -n -e ${GREEN}
  for ((i=1; i<=$Percentage/2; i++)); do
    echo -n "="
  done

  for ((i=1; i<=Minus; i++)); do
    echo -n " "
  done  
  echo -n -e ${NC}
  echo -n "]"
  echo
}
Filesystem_Row_Total=`df -Th | grep -E 'xfs|ext[0-9]\+|nfs4'|wc -l`
Filesystem_info() {
  for i in $Filesystem_Row_Total;do
    Mount_point=`df -Th | grep -E 'xfs|ext[0-9]\+|nfs4'|awk 'NR=$i {print $NF}'`
    Total=`df -Th | grep -E 'xfs|ext[0-9]\+|nfs4'|awk 'NR=$i {print $3}'`
    Used=`df -Th | grep -E 'xfs|ext[0-9]\+|nfs4'|awk 'NR=$i {print $4}'`
    Percentage=`df -Th | grep -E 'xfs|ext[0-9]\+|nfs4'|awk 'NR=$i {print $(NF-1)}'|awk -F"%" '{print $1}'`
    echo "Mounted: $Mount_point		$Total / $Used ( $Percentage% Used )"
    progress_bar $Percentage 100
  done
}

echo "-------------------------------------------------------------------------------"
echo "[System Info]"
echo 
echo "Current Time		: ${Current_time}"
echo "Os Version		: $Version"
echo "Kernel Version		: ${Kernel_Version}"
echo "Uptime			: ${Uptime}"
echo "Hostname		: ${Hostname}"
echo "Ipaddress		: ${Ipaddress}"
echo
echo "[System Performance]"
echo
echo "Cpu			${Cpu_info} , $Cpu_used% used"
echo -n "CPU Used		: "
progress_bar $Cpu_used 100
echo "Memory			: ${Memory}"
echo -n "Memory Used 		: "
progress_bar $Memory_Used $Memory_Total
echo
echo "[Filesystem Info]"
echo
Filesystem_info
echo "-------------------------------------------------------------------------------"

如果全局生效在/etc/profile追加,如果是某个用户生效~/.bash_profile中追加

echo '/usr/local/bin/login.sh' >> /etc/profile

3. 效果

但那个框框不知道怎么搞,哪位兄弟如果知道记得告诉我下.
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/764973.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

合作协议的网络接入协议

合作协议的网络接入协议 介绍阿里云获取网络接入协议查看合同生成新合同总结 介绍 最近在帮公司弄增值电信业务经营许可证的相关的材料&#xff0c;然后需要我提供网络接入商的网络接入协议。因为每个公司买的服务器可能都不一样&#xff0c;有的阿里云、华为云、腾讯云等还有…

币界网讯,币安准备与SEC 展开长期法律对决

刚刚&#xff0c;数字货币交易所的领头羊Binance公布了法律策略&#xff0c;未来将会采取大胆举措与美国证券交易委员会 (SEC) 展开长期法律斗争&#xff0c;彰显其对监管合规的承诺。小编认为&#xff0c;Binance的这一战略立场是向美国SEC传递的道歉信&#xff0c;自从美国SE…

【0299】Postgres内核之哈希表(Hash Tables)

0. 哈希表(Hash Tables) 哈希表是 一种用于存储键值对的数据结构。与使用索引号访问元素的基本数组不同,哈希表使用键来查找表条目。这使得数据管理对于用户来说更易于管理,因为按属性对数据条目进行分类比按它们在一个巨大的列表中的数量更容易。 在 C++ 中,我们将哈希…

MySQL自学教程:1. MySQL简介与安装

MySQL简介与安装 一、MySQL简介二、MySQL安装(一)Windows系统上的安装(二)Linux系统上的安装(以Ubuntu为例)(三)Mac OS系统上的安装三、安装后的基本配置四、总结一、MySQL简介 MySQL是一个流行的开源关系型数据库管理系统(RDBMS),广泛应用于各种业务场景,从小型个…

干货分享:代理IP的10大误区

在当今的数字时代&#xff0c;代理已成为在线环境不可或缺的一部分。它们的用途广泛&#xff0c;从增强在线隐私到绕过地理限制。然而&#xff0c;尽管代理无处不在&#xff0c;但仍存在许多围绕代理的误解。在本博客中&#xff0c;我们将探讨和消除一些最常见的代理误解&#…

AI太火,今年更缺人了 (含实习)

AI太火了&#xff01;眼睛一睁一闭&#xff0c;一大堆新鲜出炉的前沿科技进展已经塞满未读列表。 许多公司更是开出了高薪&#xff0c; 读者福利&#xff1a;如果大家对大模型感兴趣&#xff0c;这套大模型学习资料一定对你有用 对于0基础小白入门&#xff1a; 如果你是零基础…

构建LangChain应用程序的示例代码:50、如何在检索-生成 (RAG) 应用中利用多模态大型语言模型 (LLM) 处理包含文本和图像的混合文档的示例

多模态 RAG 许多文档包含多种内容类型&#xff0c;包括文本和图像。 然而&#xff0c;大多数 RAG 应用中&#xff0c;图像中捕获的信息往往被忽略。 随着多模态 LLM 的出现&#xff0c;如 GPT-4V&#xff0c;值得考虑如何在 RAG 中利用图像&#xff1a; 选项 1&#xff1a;…

CDC同步器设计方案:为什么使用异步路径?

随着现代ASIC中时钟域的增加&#xff0c;时钟域交叉&#xff08;CDC&#xff09;变得无处不在&#xff0c;必不可少且必不可少。当然&#xff0c;时间安排总是一个问题。高时钟速度和信号路径中的延迟会导致信号到达不希望的时刻&#xff0c;从而导致亚稳性。本文的部分重点介绍…

pandas数据分析(5)

pandas使用Numpy的np.nan代表缺失数据&#xff0c;显示为NaN。NaN是浮点数标准中地Not-a-Number。对于时间戳&#xff0c;则使用pd.NaT&#xff0c;而文本使用的是None。 首先构造一组数据&#xff1a; 使用None或者np.nan来表示缺失的值&#xff1a; 清理DataFrame时&#xf…

【关于C/C++中的scanf不能使用问题】

方法1&#xff1a;scanf_s 方法2&#xff1a;看见后面的日志了吗 CRT……&#xff1f;在第一行加上#define 日志 方法3&#xff1a;#pragma warning&#xff08;disable&#xff1a;4996&#xff09; 4996是我们的报错序号

PDF压缩工具选哪个?6款免费PDF压缩工具分享

PDF文件已经成为一种常见的文档格式。然而&#xff0c;PDF文件的体积有时可能非常庞大&#xff0c;尤其是在包含大量图像或复杂格式的情况下。选择一个高效的PDF压缩工具就显得尤为重要。小编今天给大家整理了2024年6款市面上反响不错的PDF压缩文件工具。轻松帮助你找到最适合自…

广州外贸建站模板

Yamal外贸独立站wordpress主题 绿色的亚马尔Yamal外贸独立站wordpress模板&#xff0c;适用于外贸公司建独立站的wordpress主题。 https://www.jianzhanpress.com/?p7066 赛斯科Sesko-W外贸建站WP主题 适合机械设备生产厂家出海做外贸官网的wordpress主题&#xff0c;红橙色…

【区块链+基础设施】银联云区块链服务 | FISCO BCOS应用案例

为了顺应区块链基础设施化的发展趋势&#xff0c;中国银联推出了银联云区块链服务——UPBaaS&#xff0c;为金融行业采用区块链 技术提出了解决方案&#xff0c;微众银行为平台提供 FISCO BCOS 区块链开源技术支持。通过银联云区块链服务&#xff0c;用户可 以用可视化的方式创…

安卓应用开发学习:通过腾讯地图SDK实现定位功能

一、引言 这几天有些忙&#xff0c;耽误了写日志&#xff0c;但我的学习始终没有落下&#xff0c;有空我就会研究《 Android App 开发进阶与项目实战》一书中定位导航方面的内容。在我的手机上先后实现了“获取经纬度及地理位置描述信息”和“获取导航卫星信息”功能后&#x…

java基于ssm+vue 病人跟踪治疗信息管理系统

1病人功能模块 病人登录进入病人跟踪治疗信息管理系统可以查看首页、个人中心、病例采集管理、预约管理、医生管理、上传核酸检测报告管理、上传行动轨迹管理、病人治疗状况管理等内容。 病例采集管理&#xff0c;在病例采集管理页面可以查看账号、姓名、住院号、入院时间、病…

git 禁止dev合并到任何其他分支

创建 pre-merge-commit 钩子 导航到 Git 仓库的钩子目录&#xff1a; cd /path/to/your/repo/.git/hooks创建或编辑 pre-merge-commit 钩子&#xff1a; 也可以通过指令创建 nano pre-merge-commit在钩子文件中添加以下代码&#xff1a; #!/bin/sh# 获取当前分支名称 curr…

成人职场商务英语学习柯桥外语学校|邮件中的“备注”用英语怎么说?

在英语中&#xff0c;"备注"通常可以翻译为"Notes" 或 "Remarks"。 这两个词在邮件中都很常用。例如: 1. Notes Notes: 是最通用和最常见的表达&#xff0c;可以用在各种情况下&#xff0c;例如&#xff1a; 提供有关电子邮件内容的附加信息 列…

hive中cast()函数

CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。CAST()函数的参数是一个表达式&#xff0c;它包括用AS关键字分隔的源值和目标数据类型。 语法&#xff1a;CAST (expression AS data_type) expression&#xff1a;任何有效的SQServer表达式。 AS&#xff1a;用…

软降工程学系统实现

一、程序编码 程序编码是设计的继续&#xff0c;将软件设计的结果翻译成用某种程序设计语言描述的源代码。 程序编码涉及到方法、工具和过程。 程序设计风格和程序设计语言的特性会深刻地影响软件的质量和可维护性。 要求源程序具有良好的结构性和设计风格。 程序设计风格…

2024.7.2作业

1. 梳理笔记(原创&#xff01;&#xff01;&#xff01;) 2.解析代码&#xff1a;分析每一步变量的取值 #include <stdio.h> int main(int argc, char *argv[]) { int a 10; //a10 int b a--; //b10 int c a b 2; //a9 b10 c21 int d (b--…