首页 > 系统相关 >Linux环境变量

Linux环境变量

时间:2023-08-15 15:37:16浏览次数:40  
标签:shell 用户 echo Linux PATH 环境变量 bash

Linux 是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义, 这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。

设置环境变量的方法

  • 对所有用户生效的永久性变量

这类变量对系统内的所有用户都生效,所有用户都可以使用这类变量。作用范围是整个系统。

此文件只在 root 下才能修改。

# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib

添加完成后新的环境变量不会立即生效,立即生效需要运行 source /etc/profile ,否则只能在下次重进此用户时才能生效。

  • 对单一用户生效的永久性变量

在用户目录下的. bash_profile 文件中添加变量,该文件是隐藏文件,可使用 ll -a 查看:

Linux环境变量_Linux环境变量

$ whoami 
rethink

$ vi /home/rethink/.bash_profile
export CLASSPATH=./JAVA_HOME/lib:$JAVA_HOME/jre/lib 

$ source /home/rethink/.bash_profile

在上图中用红框框住了两个文件:.bashrc 和. bash_profile ,原则上讲设置此类环境变量时在这两个文件任意一个里面添加都是可以的,这两个文件的区别为:.bash_profile 是交互式 login 方式进入 bash shell 运行,.bashrc 是交互式 non-login 方式进入 bash shell 运行。

可以理解为. bash_profile 文件只会在用户登录的时候读取一次,而. bashrc 在每次打开终端进行一次新的会话时都会读取。

临时有效的环境变量 (只针对当前 shell 有效)

此类环境变量只对当前的 shell 有效。当我们退出登录或者关闭终端再重新打开时,这个环境变量就会消失。是临时的。

设置方法:命令行下直接使用 [export 变量名 = 变量值] 定义变量。

$ export 
$ echo $NAME
rethink

设置环境变量常用命令

  • echo 用于打印显示环境变量,如:echo $NAME;
  • export 用于设置新的环境变量,如:export NAME='rethink';

更新环境变量 更新环境变量直接重新赋值即可:NAME='test'   (注意:变量名前不需要加 $);

  • env 显示当前用户的变量;
  • set 显示当前 shell 变量,shell 变量包含用户变量;
  • unset 删除一个环境变量,如:unset NAME;
  • readonly 设置环境变量只读,如:readonly NAME  ,只读变量 unset 无效。

常用环境变量

PATH
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

路径之间用冒号分隔,这些路径都是一些可以找到可执行程序的目录列表。当我们输入一个指令时,shell 会先检查命令是否是系统内部命令,如果不是则会再去检查此命令是否是一个应用程序,shell 会试着从 PATH 中寻找这些应用程序。

如果 shell 在这些路径目录里没有找到可执行文件,就会报错;若找到,系统将调用执行应用程序。通过设置 PATH ,可以让我们运行程序或指令更加方便。

将某个目录路径加入到 PATH 中,可以这样写:

$ pwd
/root/docker/httpd
$ export PATH=$PATH:$PWD
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/docker/httpd
`可以看到在PATH后面已经加上了我们当前所处目录的路径`
  • HOME

用户的主工作目录,即为用户登录到 Linux 系统中时的默认目录。

$ whoami
rethink
$ echo $HOME
/home/rethink
  • HISTSIZE

保存历史命令的条数。我们输入的指令都会被系统保存下来,这个环境变量记录的就是保持指令的条数。一般为 1000。

$ echo $HISTSIZE
1000
$ HISTSIZE=1001
$ echo $HISTSIZE
1001

历史命令是被保存在内存中的,当退出或者登录 shell 时,会自动保存或读取我们可以通过 history 命令来查看。可以使用符号 ! 执行指定序号的历史命令。例如,要执行第 2 个历史命令,则输入! 2。

$ history 5
   59  ls
   60  who
   61  history | head -n 5
   62  who am i
   63  history 5
$ !62
who am i
root     pts/0        2018-04-04 11:00 (101.81.92.18)
  • LOGNAME

当前用户登录名。

$ echo $LOGNAME
rethink
  • HOSTNAME 主机名称。
$ echo $HOSTNAME
JDu4e00u53f7
  • SHELL

当前用户使用的 shell 种类。

$ echo $SHELL
/bin/bash

标签:shell,用户,echo,Linux,PATH,环境变量,bash
From: https://blog.51cto.com/jowin/7089250

相关文章

  • Linux管理目录和文件2(Ubunt
    一:mkdir创建目录格式:mkdir[选项]目录名其中的目录名可以是相对路径也可以是绝对路径。mkdir有两个常见的选项,如下表所示选项说明-m设置新建目录的权限-p指定路径的名称,若不存在,会自动创建,一次可创建多个目录  -m选项涉及到权限,在桌面这个目录下创建一个新的目录mydir2,使用ls可......
  • Linux常用的命令
    1.把一个目录的文件拷贝另一个文件夹sudocp-p/home/likewei/lib/needlib/*/home/likewei/lib/112.pwd显示当前所在的目录3.ls显示当前目录下的文件4.cd切换路径,cd..返回到上一级路径5.mkdir新建目录6.rmdir删除目录7.touch新建文件8.cp复制文件9.rm删除文......
  • 时序数据库TimescaleDB 功能介绍、单节点、集群安装部署、centos、linux
    简介TimescaleDocumentation|GettingstartedwithTimescaleTimescale是一个用于时间序列,事件和分析的PostgreSQL数据平台。提供了PostgreSQL的可靠性,这是时间序列的超能力TimescaleDB,。它提供自动备份和还原、复制的高可用性等功能,无缝缩放和调整大小等等性能对比:Ti......
  • 掌握Linux Top命令:优化系统性能的关键
    简介:在Linux系统中,了解系统的当前状态以及资源的使用情况对于管理员和开发人员来说至关重要。Linux提供了许多工具来监视和管理系统性能,其中一个最重要的工具是Top命令。本文将介绍如何使用Top命令来监视系统资源、进程和性能,并提供一些实用的技巧来优化系统性能。1.什么是Top命令......
  • 在Linux系统中如何给文件夹设置777权限?
    Linux系统秉承着“一切皆文件”的原则,所以就需要对文件的权限进行把控,如果不对文件进行权限把控,很容易给自己和别人造成损失和困扰。那么如何给文件夹设置777权限呢?以下是详细的内容:在Linux系统中,文件和文件夹有不同的权限控制。其中,777权限是指具有读、写和执行权限的最......
  • 我的Linux网络之行1-基础网络知识
    前言最近不光在解决项目的问题,也遇到过部分的网络问题,发现自己对于网络的知识还是非常匮乏的,因而在此做一些归纳,记录也是分享,当然我的分享应该不是最全的,但个人认为有些东西就算分享出来,用不到也是白折腾。Wi-Fi的相关名词介绍到一家店里面,以前我们经常喊:老板,你们这边的WIFI叫......
  • 【Linux技术专题】「必备基础知识」带你仔细梳理一下平时排查问题查询日志的基本操作
    Linux文件与目录管理了解和熟悉Linux系统的文件存储结构、权限设置和命令行工具,将有助于快速定位和解决与日志相关的问题,提高系统管理员和开发人员的工作效率。文件路径:Linux系统的日志文件按规定的目录结构组织。了解不同日志文件的存储位置和命名规则,可更快地找到所需的日志文件......
  • Linux—控制服务和守护进程
    Linux控制服务和守护进程1、守护进程简介1.1为什么会有守护进程?在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就是这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制......
  • Linux配置互信
    例如有以下两台机需要做互信192.168.128.128192.168.128.1291、在服务器192.168.128.128生成公钥私钥对[[email protected]]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):Enterpassphrase(emptyf......
  • linux安装Nginx
    1.离线安装rpm-qa|grep"gcc" 或者yumlistinstalled|grep"gcc"查看是否安装第一步:gcc依赖下载镜像地址:官网:https://gcc.gnu.org/releases.html阿里云镜像站:http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/CentOS镜像站点:https://vault.centos.org/7.5.1804/o......