当前位置: 首页 > news >正文

Linux使用:环境变量指南和CPU和GPU利用情况查看

Linux使用:环境变量指南和CPU和GPU利用情况查看

  • Linux环境变量初始化与对应文件的生效顺序
    • Linux的变量种类
    • 设置环境变量
      • 直接运行`export`命令定义变量
      • 修改系统环境变量
      • 修改用户环境变量
      • 修改环境变量配置文件
    • 环境配置文件的区别
      • `profile`、 `bashrc`、`.bash_profile`、 `.bashrc`介绍
      • `.bashrc`和`.bash_profile`的区别
      • 建议
  • 监视GPU和CPU资源利用情况

Linux环境变量初始化与对应文件的生效顺序

Linux的变量种类

按变量的生存周期划分:

  • 永久的:需要修改配置文件,变量永久生效。
  • 临时的:使用export命令声明即可,变量在关闭shell时失效。

在配置永久环境变量时,又可以按照作用范围分为:

  • 用户环境变量
  • 系统环境变量

系统环境变量对所有系统用户都有效,用户环境变量仅仅对当前的用户有效。

设置环境变量

直接运行export命令定义变量

在shell的命令行下直接使用[export 变量名=变量值] 定义变量。该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

修改系统环境变量

系统环境变量一般保存在下面的文件中

  • /etc/profile : 全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
  • /etc/bash.bashrc : 它也是全局(公有)的 bash执行时,不管是何种方式,都会读取此文件。
  • /etc/environment : 不要轻易修改此文件

修改用户环境变量

用户环境变量通常被存储在下面的文件中:

  • ~/.profile
    若bash是以login方式执行时,读取/.bash_profile,若它不存在,则读取/.bash_login,若前两者不存在,读取~/.profile。

  • ~/.bash_profile 或者 ~./bash_login
    若bash是以login方式执行时,读取~/.bash_profile,若它不存,则读取~/.bash_login,若前两者不存在,读取 ~/.profile
    只有bash是以login形式执行时,才会读取.bash_profile,Unbutu默认没有此文件,可新建。 通常该配置文件还会配置成去读取~/.bashrc

  • ~/.bashrc
    当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。

~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

修改环境变量配置文件

如想将一个路径加入到环境变量(例如$PATH)中,可以像下面这样做(修改/etc/profile):

sudo vi /etc/profile

以环境变量PATH为例子,环境变量的声明格式:

PATH=$PATH:PATH_1:PATH_2:PATH_3:...:PATH_N
export PATH

你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:

$source /etc/profile

环境配置文件的区别

profilebashrc.bash_profile.bashrc介绍

bash会在用户登录时,读取下列四个环境配置文件:

  • 全局环境变量设置文件:/etc/profile/etc/bashrc
  • 用户环境变量设置文件:~/.bash_profile~/.bashrc

读取顺序:① /etc/profile 、② ~/.bash_profile 、③ ~/.bashrc 、④ /etc/bashrc

  • /etc/profile:此文件为系统的每个用户设置环境信息,系统中每个用户登录时都要执行这个脚本,如果系统管理员希望某个设置对所有用户都生效,可以写在这个脚本里,该文件也会从/etc/profile.d目录中的配置文件中搜集shell的设置。
  • ~/.bash_profile:每个用户都可使用该文件设置专用于自己的shell信息,当用户登录时,该文件仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
  • ~/.bashrc:该文件包含专用于自己的shell信息,当登录时以及每次打开新shell时,该文件被读取。
  • /etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q8ALhk66-1661083221189)(./linux/shell/shell.png)]

.bashrc.bash_profile的区别

  • .bash_profile会用在登陆shell, .bashrc 使用在交互式非登陆 shell 。简单说来,它们的区别主要是.bash_profile是在你每次登录的时候执行的;.bashrc是在你新开了一个命令行窗口时执行的。
  • 当通过控制台进行登录(输入用户名和密码):在初始化命令行提示符的时候会执行.bash_profile 来配置你的shell环境。但是如果已经登录到机器,在Gnome或者是KDE也开了一个新的终端窗口(xterm),这时,.bashrc会在窗口命令行提示符出现前被执行。当你在终端敲入/bin/bash.bashrc也会在这个新的bash实例启动的时候执行。

建议

大多数的时候你不想维护两个独立的配置文件,一个登录的一个非登录的shell。当你设置PATH时,你想在两个文件都适用。可以在.bash_profile中调用.bashrc,然后将PATH和其他通用的设置放到.bashrc中。
要做到这几点,添加以下几行到.bash_profile中:

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

现在,当你从控制台登录机器的时候,.bashrc就会被执行。

监视GPU和CPU资源利用情况

监视GPU资源利用情况:

watch -n 1 nvidia-smi #每隔一秒刷新一下GPU资源情况

在这里插入图片描述

或者

nvtop

nvtop需要源码安装,Github地址。
在这里插入图片描述

监视CPU资源利用情况
CPU监视可以用自带的top命令查看,但是推荐使用htop来显示,首先需要安装htop:

sudo apt-get install htop

然后输入以下命令显示CPU资源利用情况:

htop

在这里插入图片描述

相关文章:

  • 自学大数据第13天~Hbase数据库操作
  • FPGA 20个例程篇:20.USB2.0/RS232/LAN控制并行DAC输出任意频率正弦波、梯形波、三角波、方波(三)
  • Java 基本数据类型
  • 做了个springboot接口参数解密的工具,我给它命名为万能钥匙(已上传maven中央仓库,附详细使用说明)
  • ChatGPT如何批量撰写最新的热点自媒体文章
  • 虚拟动力数字人技术亮相第六届文创产业大会,探见元宇宙 驱动新文创
  • 内存优化小结
  • Android复习总结
  • 回溯算法37:解数独
  • Web前端 jQuery
  • 银行数字化转型导师坚鹏:银行产品经理技能快速提升之道
  • aws beanstalk 实例日志和环境状态日志的轮换和流式传输配置
  • GameFramework框架详解之 Scene场景
  • ChatGPT 使用 拓展资料:如何处理OpenAI 对 API 的调用限速
  • SoapUI基础使用教程
  • ES6指北【2】—— 箭头函数
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [Vue CLI 3] 配置解析之 css.extract
  • 【RocksDB】TransactionDB源码分析
  • Android优雅地处理按钮重复点击
  • Android组件 - 收藏集 - 掘金
  • AWS实战 - 利用IAM对S3做访问控制
  • Babel配置的不完全指南
  • Brief introduction of how to 'Call, Apply and Bind'
  • CEF与代理
  • Create React App 使用
  • Git的一些常用操作
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • JAVA SE 6 GC调优笔记
  • JavaScript设计模式系列一:工厂模式
  • Java比较器对数组,集合排序
  • Linux下的乱码问题
  • Python进阶细节
  • vue:响应原理
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 对象管理器(defineProperty)学习笔记
  • 将回调地狱按在地上摩擦的Promise
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端路由实现-history
  • 前端性能优化——回流与重绘
  • 算法-图和图算法
  • 微服务核心架构梳理
  • 学习HTTP相关知识笔记
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 数据可视化之下发图实践
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​卜东波研究员:高观点下的少儿计算思维
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #QT(QCharts绘制曲线)
  • (4.10~4.16)
  • (Forward) Music Player: From UI Proposal to Code
  • (JS基础)String 类型
  • (多级缓存)多级缓存