LinuxBasicsForHackers笔记 -- 管理用户环境变量

查看和修改环境变量

env – 您可以通过从任何目录在终端中输入 env 来查看所有默认环境变量。环境变量的名称始终为大写,如 HOME、PATH、SHELL 等。

查看所有环境变量

set – 查看所有环境变量,包括 shell 变量、局部变量和 shell 函数(例如任何用户定义的变量和命令别名)。

更改会话的变量值

以HISTSIZE 变量举例子,HISTSIZE 变量包含要存储在历史文件中的命令数的值。

因为这个变量只有一个值,所以要更改它,可以使用下面的方式:HISTSIZE=0

使变量值更改永久化

如果您想让变量的更改永久生效,则需要使用export命令。 此命令会将新值从当前环境(bash shell)导出到任何新的分叉子进程。 这允许新进程继承导出的变量。

变量是字符串,因此如果您谨慎运行,在修改变量之前将其内容保存到文本文件中并不是一个坏主意。 例如,由于我们要更改 PS1 变量(该变量控制提示中显示的信息),因此首先运行以下命令将现有值保存到当前用户主目录中的文本文件中:echo $HISTSIZE> ~/valueofHISTSIZE.txt

这样,您随时可以撤消更改。 如果您想更加谨慎并创建一个包含所有当前设置的文本文件,您可以使用如下命令将 set 命令的输出保存到文本文件中:set> ~/valueofALLon01012019.txt

更改变量后,您可以通过输入 export 然后输入更改的变量名称来使更改永久生效,如下所示:

HISTSIZE=1000
export HISTSIZE

此代码片段会将 HISTSIZE 变量的值设置为 1,000 并将其导出到您的所有环境。

更改您的 Shell 提示符

shell 提示符是另一个环境变量,它为您提供有用的信息,例如您正在操作的用户以及您当前工作的目录。

您可以通过设置 PS1 变量的值来更改默认 shell 提示符中的名称。 PS1 变量有一组占位符,用于显示要在提示中显示的信息,包括以下内容:

  • \u – 当前用户的名称。
  • \h – 主机名。
  • \w – 当前工作目录的基本名称

例如:
在这里插入图片描述
在这里插入图片描述

改变你的PATH

环境中最重要的变量之一是 PATH 变量,它控制 shell 在系统上的何处查找您输入的命令,例如 grep、ls 和 echo。

大多数命令位于 sbin 或 bin 子目录中,例如 /usr/local/sbin 或 /usr/local/bin。 如果 bash shell 在您的 PATH 变量中的某个目录中没有找到该命令,它将返回错误命令未找到,即使该命令确实存在于您的目录中,但不在 PATH 中的。

您可以通过对 PATH 变量的内容使用 echo 来找出 PATH 变量中存储了哪些目录,如下所示:echo $PATH

这些是您的终端将在其中搜索任何命令的目录。每个目录由冒号 (😃 分隔。 不要忘记将 $ 内容符号添加到 PATH 中。 当我们在变量前放置 $ 时,我们是在向系统询问变量的内容。

添加到 PATH 变量

每次你想使用自己下载的工具时,你首先必须导航到你自己的工具目录,如果你想经常使用该工具,这有点不方便。

为了能够从任何目录使用这个新工具,您需要将保存该工具的目录添加到您的 PATH 变量中。使用命令:PATH=$PATH:<你的工具的目录>。这会将原始 PATH 变量加上你提供的目录分配给新的 PATH 变量,因此该变量包含它之前所做的所有内容以及新的工具目录。

对于您经常使用的目录,添加到 PATH 可能是一种有用的技术,但请注意不要向 PATH 变量添加太多目录。 因为系统必须搜索 PATH 中的每个目录来查找命令,所以添加大量目录可能会减慢终端。

创建用户定义变量

您可以在 Linux 中创建自己的自定义用户定义变量,只需将值分配给您命名的新变量即可。 当您正在执行一些更高级的 shell 脚本或发现您经常使用一个长命令而您厌倦了一遍又一遍地输入时,这可能很有用。

语法很简单:输入变量的名称,后跟不带空格的赋值符号 (=),然后是要放入变量中的值,如下所示:MYNEWVARIABLE="Hacking is the most valuable skill set in the 21st century"

就像我们的系统环境变量一样,用户定义的变量必须导出才能保留到新会话中。

unset <变量名> – 如果要删除这个新变量或任何变量,请使用 unset 命令。 不过,在删除系统变量之前一定要三思而后行,因为之后您的系统的运行方式可能会大不相同。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2. PyTorch——Tensor和Numpy

2.1Tensor和Numpy Tensor和Numpy数组之间具有很高的相似性&#xff0c;彼此之间的互操作也非常简单高效。需要注意的是&#xff0c;Numpy和Tensor共享内存。由于Numpy历史悠久&#xff0c;支持丰富的操作&#xff0c;所以当遇到Tensor不支持的操作时&#xff0c;可先转成Numpy…

conda配置不同版本的python及依赖库--conda conda conda

一、conda介绍 Conda 是一个开源的软件包管理系统和环境管理系统&#xff0c;用于安装多个不同版本的软件包及其依赖关系&#xff0c;并在它们之间轻松切换。 Conda 是为 Python 程序创建的&#xff0c;适用于 Linux&#xff0c;OS X 和Windows Conda可以构建不同的环境&#…

【计算机网络学习之路】HTTP响应报文Cookie原理

目录 HTTP响应报文格式 一. 状态行 状态码与状态码描述 二. 响应头 Cookie原理 一. 前因 二. Cookie的状态管理 结束语 HTTP响应报文格式 HTTP响应报文分为四部分 状态行&#xff1a;包含三部分&#xff1a;协议版本&#xff0c;状态码&#xff0c;状态码描述响应头&a…

企业计算机服务器中了mallox勒索病毒如何处理,Mallox勒索病毒解密

随着计算机技术的不断发展&#xff0c;越来越多的企业利用网络来提高工作效率&#xff0c;但随之而来的网络安全威胁也在不断增加&#xff0c;各种勒索病毒种类不断增加&#xff0c;给企业的数据安全带来严重的威胁&#xff0c;影响企业的生产业务开展。近期&#xff0c;云天数…

opencv的图像直方图处理

1 opencv的直方图 1.1 什么是直方图 直方图是对数据进行统计的一种方法&#xff0c;用于显示数据中各个数值或数值范围的分布情况。它将数据划分为一系列的区间&#xff08;也称为“箱子”或“bin”&#xff09;&#xff0c;然后统计每个区间中数据出现的频次&#xff08;或频…

Flink-源算子-读取数据的几种方式

Flink可以从各种来源获取数据&#xff0c;然后构建DataStream进行转换处理。一般将数据的输入来源称为数据源&#xff08;data source&#xff09;&#xff0c;而读取数据的算子就是源算子&#xff08;source operator&#xff09;。所以&#xff0c;source就是我们整个处理程序…

微服务2 Docker学习 P42-P60

Docker学习视频https://www.bilibili.com/video/BV1LQ4y127n4?p42&vd_source8665d6da33d4e2277ca40f03210fe53a 文档资料: 链接&#xff1a;https://pan.baidu.com/s/1P_Ag1BYiPaF52EI19A0YRw?pwdd03r 提取码&#xff1a;d03r Docker 其他笔记 服务器容器化-docker(全…

redis-学习笔记(list)

因为 list 可以头插头删, 尾插尾删, 所以其实更像 C 中的 deque (双端队列) ---- 知道就好, 别乱说, 具体底层编码是啥, 俺也不知道(没注意过) 可以通过组合, 把 list 当作队列 / 栈来用 list 的几种底层编码: ziplist(压缩列表) , linkedlist(链表) , quicklist ziplist 就是将…

12-07 周四 Pytorch 使用Visdom 进行可视化

简介 在完成了龙良曲的Pytroch视频课程之后&#xff0c;楼主对于pytroch有了进一步的理解&#xff0c;比如&#xff0c;比之前更加深刻的了解了BP神经网络的反向传播算法&#xff0c;梯度、损失、优化器这些名词更加熟悉。这个博客简要介绍一下在使用Pytorch进行数据可视化的一…

《使用ThinkPHP6开发项目》 - 安装ThinkPHP框架

1.安装ThinkPHP6框架 这里我们使用的是composer安装的安装方式&#xff0c;请确保电脑已经安装了composer&#xff0c;如未安装可查看Composer 安装与使用 | 菜鸟教程 composer create-project topthink/think tp 上面命令安装的是稳定版的&#xff0c;也是最新的稳定版&…

Jquery easyui异步提交表单的两种方式

这篇文章分享一下easyui常用的两种表单异步提交的方式。 目录 第一种&#xff1a;利用ajax提交 $.post() $.ajax() 第二种&#xff1a;使用easyui提供的表单提交方式 首先&#xff0c;准备一个简单的表单&#xff0c;包含三个输入框&#xff0c;在页面引入easyui的js文件。…

探索 HTML 语义化:让你的网页更有意义(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

【Linux】进程通信之命名管道mkfifo

1.认识命名管道 匿名管道应用的一个限制就是只能在具有共同祖先&#xff08;具有亲缘关系&#xff09;的进程间通信。如果我们想在不相关的进程之间交换数据&#xff0c;可以使用FIFO文件来做这项工作&#xff0c;它经常被称为命名管道。命名管道是一种特殊类型的文件 2.在命…

时间序列预测实战(二十四)PyTorch实现RNN进行多元和单元预测(附代码+数据集+完整解析)

一、本文介绍 本篇文章给大家带来的是利用我个人编写的架构进行RNN时间序列卷积进行时间序列建模&#xff08;专门为了时间序列领域新人编写的架构&#xff0c;简单且不同于市面上大家用GPT写的代码&#xff09;&#xff0c;包括结果可视化、支持单元预测、多元预测、模型拟合…

【Java代码接口自动化测试】REST Assured接口测试 HTTPClient接口测试

近几年接口自动化变得越来越热门&#xff0c;相对比于UI自动化&#xff0c;接口自动化有一些优势 1.运行比UI更稳定&#xff0c;让BUG更容易定位 2.UI自动化维护成本太高&#xff0c;接口相对低一些 接口测试其实有很多方式&#xff0c;主要有两种&#xff0c;一个是工具&am…

JM中ref_pic_list_modification bug记录

问题描述 今天在用JM对YUV420p编码时,发现编出的码流用ffplay播放花屏,报如下错误: JM的版本时19.1,没有使能B帧,PicOrderCntType设置为2,其它都是encoder.cfg中的默认配置。我用一些码流分析工具播放H264码流正常,用一些播放器播放也都存在花屏,不过大多数播放器都是…

k8s集群部分使用gpu资源的pod出现UnexpectedAdmissionError问题

记录一次排查UnexpectedAdmissionError问题的过程 1. 问题 环境 3master节点N个GPU节点 kubelet版本&#xff1a;v1.19.4 kubernetes版本&#xff1a;v1.19.4 生产环境K8S集群&#xff0c;莫名其妙的出现大量UnexpectedAdmissionError状态的Pod&#xff0c;导致部分任务执…

12.07

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//窗口设置//去掉表头this->setWindowFlags(Qt::FramelessWindowHint);//重新设置大小this->resize(800,420);//设置背景颜色this->setStyleSheet("background-color:whi…

【推荐系统】了解推荐系统的生态(重点:推荐算法的主要分类)

【大家好&#xff0c;我是爱干饭的猿&#xff0c;本文重点介绍推荐系统的关键元素和思维模式、推荐算法的主要分类、推荐系统常见的问题、推荐系统效果评测。 后续会继续分享其他重要知识点总结&#xff0c;如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一…

javaee实验:Spring Boot 整合 Mybatis

目录 MybatisMyBatis 框架简介Mybatis 框架执行流程图映射器 实验目的实验内容实验过程数据库准备项目结构代码实现 实验结果 Mybatis MyBatis 框架简介 Mybatis 的前身是 Apache 的开源框架 iBatis&#xff0c;与 Hibernate 一样是一个 Java 持久层的框 架。Mybatis 的优势在…