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 命令。 不过,在删除系统变量之前一定要三思而后行,因为之后您的系统的运行方式可能会大不相同。

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

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

相关文章

Axure的安装及基本功能介绍

目录 一. Axure概述 二. Axure安装 2.1 安装包下载 2.2 安装步骤 三. Axure功能介绍​ 3.1 工具栏介绍 3.1.1 复制&#xff0c;剪切及粘贴 3.1.2 选择模式和连接 3.1.3 插入形状 3.1.4 点&#xff08;编辑控点&#xff09; 3.1.5 置顶和置底 3.1.6 组合和取消组合 …

利用Rclone将阿里云对象存储迁移至雨云对象存储的教程,对象存储数据迁移教程

使用Rclone将阿里云对象存储(OSS)的文件全部迁移至雨云对象存储(ROS)的教程&#xff0c;其他的对象存储也可以参照本教程。 Rclone简介 Rclone 是一个用于和同步云平台同步文件和目录命令行工具。采用 Go 语言开发。 它允许在文件系统和云存储服务之间或在多个云存储服务之间…

RE2文本匹配调优实战

引言 在RE2文本匹配实战的最后&#xff0c;博主说过会结合词向量以及其他技巧来对效果进行调优&#xff0c;本篇文章对整个过程进行详细记录。其他文本匹配系列实战后续也会进行类似的调优&#xff0c;方法是一样的&#xff0c;不再赘述。 本文所用到的词向量可以在Gensim训练…

如何用CHAT写方案?

问CHAT&#xff1a;帮我写一份航空无动力乐园的可执行方案 CHAT回复&#xff1a; 方案一&#xff1a;概念及地点筛选 航空无动力乐园是指以航空运动为主题&#xff0c;利用自然地形与风力进行滑翔、跳伞等无动力航空运动的户外休闲娱乐乐园。鉴于此&#xff0c;首需要确定乐园…

Java入门项目--蚂蚁爱购

简介 这是一个靠谱的Java入门项目实战&#xff0c;名字叫蚂蚁爱购。 从零开发项目&#xff0c;视频加文档&#xff0c;十天就能学会开发JavaWeb项目&#xff0c;教程路线是&#xff1a;搭建环境> 安装软件> 创建项目> 添加依赖和配置> 通过表生成代码> 编写Ja…

力扣111. 二叉树的最小深度

给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明&#xff1a;叶子节点是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;2 示例 2&#xff1a; 输入…

这样的Python自动化测试面试题,测开来了都不一定都会把!

十、接口自动化 10.1 接口自动化怎么测试 ( Python requestspytest 版本) 原来我们接口自动化是用 python request pytest 执行 接口自动化其实主要就是接口测试的基础上填加了断言&#xff0c;参数化&#xff0c;动态关联 做接口自动化之前&#xff0c;我们也会划分模块&#…

【数据结构】C语言实现堆(附完整运行代码)

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.了解项目功能 二.项目功能演示(以大堆为例) 三.逐步实现项目功能模块及其逻辑详解 1.实现堆程序主函数 2.创建堆结构 3.堆的初始化 4.数据元素入堆 5.数据元素…

Linux上编译和测试V8引擎源码

介绍 V8引擎是一款高性能的JavaScript引擎&#xff0c;广泛应用于Chrome浏览器和Node.js等项目中。在本篇博客中&#xff0c;我们将介绍如何在Linux系统上使用depot_tools工具编译和测试V8引擎源码。 步骤一&#xff1a;安装depot_tools depot_tools是一个用于Chromium开发…

边缘智能网关如何应对环境污染难题

随着我国工业化、城镇化的深入推进&#xff0c;包括大气污染在内的环境污染防治压力继续加大。为应对环境污染防治难题&#xff0c;佰马综合边缘计算、物联网、智能感知等技术&#xff0c;基于边缘智能网关打造环境污染实时监测、预警及智能干预方案&#xff0c;可应用于大气保…

【华为OD题库-076】执行时长/GPU算力-Java

题目 为了充分发挥GPU算力&#xff0c;需要尽可能多的将任务交给GPU执行&#xff0c;现在有一个任务数组&#xff0c;数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。 假设GPU最多一次执行n个任务&#xff0c;一次执行耗时1秒&#xff0c;在保证GPU不空闲情况下&…

ELK综合案例

综合案例 ELKfilebeatnginxjson nginx配置 1,在nginx服务器上安装nginx # yum install epel-release # yum install nginx 2,将nginx日志改成json格式,这样各个字段就方便最终在kibana进行画图统计了 # vim /etc/nginx/nginx.conf ​ http {log_format main $remote_ad…

解决Git提交错误分支

如果 Git 提交到错误的分支&#xff0c;可以通过以下步骤将其转移到正确的分支上&#xff1a; 1.检查当前所在的分支&#xff0c;可以通过 git branch 命令查看。 git branch2.切换到正确的分支&#xff0c;可以通过 git checkout <正确的分支名> 命令进行切换。 git …

windows系统proteus中Ardunio Mega 2560和虚拟机上Ubuntu系统CuteCom进行串口通信

在文章利用proteus实现串口助手和arduino Mega 2560的串口通信-CSDN博客 中&#xff0c;实现了windows系统的proteus中Ardunio Mega 2560和SSCOM通过虚拟串口进行通信。虚拟串口的连接示意图如下图所示。 在文章windows系统和虚拟机上ubuntu系统通过虚拟串口进行通信-CSDN博客…

高级网工在Linux服务器抓包,少不了这几条常用的tcpdump命令。

Linux 的命令太多&#xff0c;tcpdump 是一个非常强大的抓包命令。有时候想看线上发生的一些问题&#xff1a; nginx 有没有客户端连接过来…… 客户端连接过来的时候 Post 上来的数据对不对…… 我的 Redis 实例到底是哪些业务在使用…… tcpdump 作为网络分析神器就派上用场…

2023年四川网信人才技能大赛 实操赛Writeup

文章目录 Crypto比base64少的baseaffine简单的RSA Misc不要动我的flagSimpleUSB猜猜我是谁不聪明的AI Pwngetitezbbstack Reverse谁的DNA动了Dont Touch Me Weblittle_gamejustppbezbbssmart 题目附件&#xff0c;文章末尾微信公众号点点关注亲&#xff0c;谢谢亲~ 题目附件链接…

Ubuntu安装TensorRT

文章目录 1. 安装CUDAa. 下载CUDAb. 安装CUDAc. 验证CUDA 2. 安装CUDNNa. 下载CUDNNb. 安装CUDNNc. 验证CUDNN 3. 安装TensorRTa. 下载TensorRTb. 解压TensorRTc. 安装TensorRTd. 安装uff和graphsurgeone. 验证是否安装成功f. 备注 关注公众号&#xff1a;『AI学习星球』 回复&…

机器学习算法性能评估常用指标总结

考虑一个二分问题&#xff0c;即将实例分成正类&#xff08;positive&#xff09;或负类&#xff08;negative&#xff09;。对一个二分问题来说&#xff0c;会出现四种情况。如果一个实例是正类并且也被 预测成正类&#xff0c;即为真正类&#xff08;True positive&#xff0…

Halcon 简单的ORC 字体识别

文章目录 仿射变化识别使用助手自己训练 仿射变化 将图片进行矫正处理 dev_close_window() dev_open_window(0, 0, Width, Height, black, WindowHandle) read_image(Image,C:/Users/Augustine/Desktop/halcon/image.png) *获取图片的大小 get_image_size(Image, Width, Height…

宝塔面板部署Apache服务器搭建本地站点发布到公网可访问【内网穿透】

文章目录 前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家…