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.rhkb.cn/news/214962.html

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

相关文章

记一次测试环境git翻车经历

本来想拉一个功能分支进行新的功能开发&#xff0c;合并代码发现没有冲突居然有文件被修改了&#xff0c;贸然选择最近的一次回滚提交&#xff0c;没想到不假思索的push -f 导致一部分dev主干的代码不见了。 事故记录 开发分支origin/dev&#xff0c;功能分支file 合并之后发…

UE Websocket笔记

参考链接 [UE4 C入门到进阶]12.Websocket网络通信 - 哔哩哔哩 包含怎么用Nodejs 写测试服务器 UE4_使用WebSocket和Json&#xff08;上&#xff09; - 知乎 包含Python写测试服务器 UE4_使用WebSocket和Json&#xff08;下&#xff09; - 知乎 示例代码 xxx.Build.cs"W…

带有 RaspiCam 的 Raspberry Pi 监控和延时摄影摄像机

一、说明 一段时间以来&#xff0c;我一直想构建一个运动激活且具有延时功能的树莓派相机&#xff0c;但从未真正找到我喜欢的案例。我在thingiverse上找到了这个适合树莓派和相机的好案例。它是为特定的鱼眼相机设计的&#xff0c;但从模型来看&#xff0c;我拥有的廉价中国鱼…

重温经典struts1之常用标签

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 前言 上一篇&#xff0c;我们学习了struts的基本概念&#xff0c;怎样搭建struts开发环境&#xff0c;从编写formbean&#xff0c;action到jsp页面&#xff0c;以及怎样将他…

Flink之流的转换

ProcessFuncion处理函数 功能 拥有富函数功能 - 生命周期方法 - 状态编程对元素的处理功能processElement, 在不同的处理函数中&#xff0c;该方法的名字略有区别定时器编程 TimeService:定时服务,可以用于注册定时器&#xff0c;删除定时器ontimer():定时器触发后会自动调用该…

C++中字符串详解

在C语言中只能通过字符串数组来模拟字符串&#xff0c;没有字符串类型。在C引入了string类来表示字符串类型。从而用它定义字符串。 在C语言中&#xff1a; char str[] "abc"; char str[] {a&#xff0c;b,c,\0}; char* str "abc"; //这三种形式是C语言…

Java TCP(一对一)聊天简易版

客户端 import java.io.*; import java.net.Socket; import java.util.Date; import javax.swing.*;public class MyClient {private JFrame jf;private JButton jBsend;private JTextArea jTAcontent;private JTextField jText;private JLabel JLcontent;private Date data;p…

推荐一个FL Studio最适配的midi键盘?

Hello大家好&#xff01;好消息&#xff01;好消息&#xff01;特大好消息&#xff01; 水果党们&#xff01;终于有属于自己的专用MIDI键盘啦&#xff01; 万众期待的Novation FLKEY系列 正式出炉&#xff01; 做编曲和音乐制作的朋友们&#xff0c;对水果软件FLSTUDIO应该…

使用xshell连接虚拟机(服务器)

作者&#xff1a;余小小 Xshell Xshell [1] 是一个强大的安全终端模拟软件&#xff0c;它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。 Xshell可以…

2023年度盘点:智能汽车、自动驾驶、车联网必读书单

【文末送书】今天推荐几本自动驾驶领域优质书籍 前言 2023年&#xff0c;智能驾驶和新能源汽车行业仍然有着肉眼可见的新进展。自动驾驶技术继续尝试从辅助驾驶向自动驾驶的过渡&#xff0c;更重要的是相关技术成本的下降。根据《全球电动汽车展望2023》等行业报告&#xff0c…

vue-baidu-map实现在地图上选择范围并解决相关问题

vue-baidu-map实现在地图上选择范围并解决相关问题 实现地图上选择不规则范围实现功能遇到的问题1、覆盖物多边形怎么才能盖住覆盖物点2、遇到其他问题 实现地图上选择不规则范围 这个功能比较简单&#xff0c;只需要使用vue-baidu-map插件的覆盖物多边形功能就行了。直接看文…

dToF直方图之美_激光雷达多目标检测

直方图提供了一种简单有效的方法来分析信号分布并识别与目标存在相对应的峰值,并且能够可视化大量数据,让测距数形结合。在车载激光雷达中,对于多目标检测,多峰算法统计等,有着区别于摄像头以及其他雷达方案的天然优势。 如下图,当中有着清晰可见的三个峰值,我们可以非…

Java智慧校园-中小学校园管理系统源码

智慧校园系统是通过信息化手段&#xff0c;实现对校园内各类资源的有效集成 整合和优化&#xff0c;实现资源的有效配置和充分利用&#xff0c;将校务管理过程的优化协调。为校园提供数字化教学、数字化学习、数字化科研和数字化管理。 致力于为家长和教师提供一个全方位、多层…

消费增值:一种改变消费观念的新模式

据统计&#xff0c;全球电子商务市场在过去的五年内以每年20%的速度增长&#xff0c;预计到2025年将达到5.5万亿美元。然而&#xff0c;在这个庞大的市场中&#xff0c;消费者在购物后往往只获得了商品或服务本身&#xff0c;而没有获得更多的附加价值。为了改变这种消费观念&a…

内网穿透的应用-如何结合Cpolar内网穿透工具实现在IDEA中远程访问家里或者公司的数据库

文章目录 1. 本地连接测试2. Windows安装Cpolar3. 配置Mysql公网地址4. IDEA远程连接Mysql小结 5. 固定连接公网地址6. 固定地址连接测试 IDEA作为Java开发最主力的工具&#xff0c;在开发过程中需要经常用到数据库&#xff0c;如Mysql数据库&#xff0c;但是在IDEA中只能连接本…

SpringMVC项目出现404

目录 问题讲解&#xff1a; 解决方案&#xff1a; 1、处理器映射器和处理器适配器以及视图解析器没有配置好 2、Controller的包扫描没有加或者包扫描的配置是错误的 3、当然也有说jar包没有 4、请求地址是错误的 5、还有一种解决办法说web.xml配置DispatcherServlet的时…

Android Studio的笔记--String和byte[]

String和byte[]的相互转换&#xff0c;字节数组转换 String转换byte[]文本16进制字节数组 byte[]转换String文本16进制 其它 String转换byte[] 文本 将字符串&#xff08;String&#xff09;转换为字节&#xff08;byte&#xff09;的方法。默认使用的是UTF-8编码 StandardCh…

二叉树题目:在受污染的二叉树中查找元素

文章目录 题目标题和出处难度题目描述要求示例数据范围 前言解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;在受污染的二叉树中查找元素 出处&#xff1a;1261. 在受污染的二叉树中查找元素 难度 5 级 题目描述 要求…

脱碱软化树脂Tulsimer CXO-5 MP 高盐水除钙镁树脂

一、产品介绍 Tulsimer CXO-5 MP 是一款大孔弱酸性丙烯酸系阳离子交换树脂&#xff0c;能除去水中的碱度和硬度&#xff0c;特别是除去水中的碳酸氢盐、碳酸盐及其它碱性盐类&#xff0c;适合运用于纯水 ,脱碱软化及选择性的去除重金属。适合在宽广的 pH 及温度范围情况下操作…

深入理解软件测试中的Web请求流程!

在软件开发的过程中&#xff0c;软件测试是不可或缺的一环&#xff0c;它有助于确保软件系统的稳定性、可靠性和安全性。而在众多测试中&#xff0c;Web请求流程的测试显得尤为重要&#xff0c;因为几乎所有的现代应用都离不开网络交互。接下来我们将深入探讨软件测试中完整的W…