Linux 用户环境变量可以帮助你找到你需要的命令,无须了解系统如何配置的细节而完成大量工作。而这些设置来自哪里和如何被修改它们是另一个话题。-- Sandra Henry-stocker

在 Linux 系统上的用户账户配置以多种方法简化了系统的使用。你可以运行命令,而不需要知道它们的位置。你可以重新使用先前运行的命令,而不用发愁系统是如何追踪到它们的。你可以查看你的电子邮件,查看手册页,并容易地回到你的家目录,而不用管你在文件系统中身在何方。并且,当需要的时候,你可以调整你的账户设置,以便其更符合你喜欢的方式。

Linux 环境设置来自一系列的文件:一些是系统范围(意味着它们影响所有用户账户),一些是处于你的家目录中的配置文件里。系统范围的设置在你登录时生效,而本地设置在其后生效,所以,你在你账户中作出的更改将覆盖系统范围设置。对于 bash 用户,这些文件包含这些系统文件:

/etc/environment/etc/bash.bashrc/etc/profile

以及一些本地文件:

~/.bashrc~/.profile # 如果有 ~/.bash_profile 或 ~/.bash_login 就不会读此文件~/.bash_profile~/.bash_login

你可以修改本地存在的四个文件的任何一个,因为它们处于你的家目录,并且它们是属于你的。

查看你的 Linux 环境设置

为查看你的环境设置,使用 env 命令。你的输出将可能与这相似:

$ envLS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.spf=00;36:SSH_CONNECTION=192.168.0.21 34975 192.168.0.11 22LESSCLOSE=/usr/bin/lesspipe %s %sLANG=en_US.UTF-8OLDPWD=/home/shsXDG_SESSION_ID=2253USER=shsPWD=/home/shsHOME=/home/shsSSH_CLIENT=192.168.0.21 34975 22XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktopSSH_TTY=/dev/pts/0MAIL=/var/mail/shsTERM=xtermSHELL=/bin/bashSHLVL=1LOGNAME=shsDBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/busXDG_RUNTIME_DIR=/run/user/1000PATH=/home/shs/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/binLESSOPEN=| /usr/bin/lesspipe %s_=/usr/bin/env

虽然你可能会看到大量的输出,上面显示的第一大部分用于在命令行上使用颜色标识各种文件类型。当你看到类似 *.tar=01;31: 这样的东西,这告诉你 tar 文件将以红色显示在文件列表中,然而 *.jpg=01;35: 告诉你 jpg 文件将以紫色显现出来。这些颜色旨在使它易于从一个文件列表中分辨出某些文件。你可以在《在 Linux 命令行中自定义你的颜色》处学习更多关于这些颜色的定义,和如何自定义它们。

当你更喜欢一种不加装饰的显示时,一种关闭颜色显示的简单方法是使用如下命令:

$ ls -l --color=never

这个命令可以简单地转换到一个别名:

$ alias ll2='ls -l --color=never'

你也可以使用 echo 命令来单独地显现某个设置。在这个命令中,我们显示在历史缓存区中将被记忆命令的数量:

$ echo $HISTSIZE1000

如果你已经移动到某个位置,你在文件系统中的最后位置会被记在这里:

PWD=/home/shsOLDPWD=/tmp

作出更改

你可以使用一个像这样的命令更改环境设置,但是,如果你希望保持这个设置,在你的 ~/.bashrc 文件中添加一行代码,例如 HISTSIZE=1234

$ export HISTSIZE=1234

“export” 一个变量的本意是什么

导出一个环境变量可使设置用于你的 shell 和可能的子 shell。默认情况下,用户定义的变量是本地的,并不被导出到新的进程,例如,子 shell 和脚本。export 命令使得环境变量可用在子进程中发挥功用。

添加和移除变量

你可以很容易地在命令行和子 shell 上创建新的变量,并使它们可用。然而,当你登出并再次回来时这些变量将消失,除非你也将它们添加到 ~/.bashrc 或一个类似的文件中。

$ export MSG="Hello, World!"

如果你需要,你可以使用 unset 命令来消除一个变量:

$ unset MSG

如果变量是局部定义的,你可以通过加载你的启动文件来简单地将其设置回来。例如:

$ echo $MSGHello, World!$ unset $MSG$ echo $MSG$ . ~/.bashrc$ echo $MSGHello, World!

小结

用户账户是用一组恰当的启动文件设立的,创建了一个有用的用户环境,而个人用户和系统管理员都可以通过编辑他们的个人设置文件(对于用户)或很多来自设置起源的文件(对于系统管理员)来更改默认设置。


via: https://www.networkworld.com/article/3385516/how-to-manage-your-linux-environment.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:robsean 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

linux 环境变量_如何管理你的 Linux 环境变量 | Linux 中国相关推荐

  1. 添加java环境变量_【安装 JDK】 配置环境变量

    看完这章后你会学习到以下内容: WIN64位电脑,如何配置JAVA环境? 常见的问题要如何解决? 第一步: 在任意浏览器输入"JDK下载"并找到官网 第二步:进入选择所需要的版本. ...

  2. vnc连接linux使用教程_远程管理之VNC 详解

    远程管理的基本概念 ①RDP(remote desktop protocol)协议 远程桌面协议,我们常用的windows操作系统就是的远程桌面管理就是基于该协议的,更多有关RDP协议的可以查看百度百 ...

  3. pycharm配置python环境变量_求教大家 pycharm 中,环境变量 path 的问题!

    问题的发现 在 pycharm 里把一个编译好的二进制文件放到/usr/local/bin/,然后在程序里调用. cmmd = "xxx ..." os.system(cmmd) ...

  4. macbook配置java环境变量_如何安装Java和配置环境变量

    本文是Java下载.安装.环境变量配置的具体步骤,关于环境变量的原理参阅: Java轻松入门经典教程-环境变量配置​ke.qq.com Java年构架师技术栈/微服务/源码分析/分布式/高并发/性能优 ...

  5. 安装java 并配置环境变量_安装Java JDK并配置环境变量

    学习JAVA,必须得安装一下JDK(java development kit java开发工具包),配置一下环境就可以学习JAVA了,下面是下载和安装JDK的教程: 点开链接你应该看到如下图所示的界面 ...

  6. powershell 变量_极客学院:学习PowerShell变量,输入和输出

    powershell 变量 As we move away from simply running commands and move into writing full blown scripts, ...

  7. python3动态生成变量_【转载】 Python动态生成变量

    用Python循环创建多个变量, 如创建 a1=   .a2=   .a3=   .a4=   .a5=    或  self.a1=    .self.a2=   . self.a3= 一. 可以通 ...

  8. python创建变量_【转载】 Python动态生成变量

    用Python循环创建多个变量, 如创建 a1= .a2= .a3= .a4= .a5= 或 self.a1= .self.a2= . self.a3= 一. 可以通过python的内置函数local ...

  9. python打印多个变量_在Python中打印多个变量

    python打印多个变量 Like other programming languages, In python also, we can define and print the multiple ...

最新文章

  1. python 事件通知模式_请问在 Python 的事件系统中,如何可以通过事件通知立刻终结一个正在运行的子线程?...
  2. c++中用于字符输入的函数
  3. 模型服务:流处理与使用Java,gRPC,Apache Kafka,TensorFlow的RPC / REST
  4. fcc认证_介绍fCC 100:我们对2019年杰出贡献者的年度总结
  5. Php学习准备(环境)
  6. 安卓应用安全指南 4.1.2 创建/使用活动 规则书
  7. ASN.1编解码:asn1c-ORAN-E2AP
  8. java map clone,map.putall()和map.clone()方法有什么区别?
  9. Python多线程小例子
  10. 如何安装PyAudio
  11. 备考系统集成项目管理工程师,其实很简单!(干货)
  12. 优秀关卡设计的十个原则
  13. 7723Java斗破苍穹_诛天-斗破苍穹(新)
  14. LeetCode中等题之整数转罗马数字
  15. u检验和t检验区别与联系
  16. C++程序设计技巧 NVI(Non-Virtual Interface )
  17. 奥鹏20春季1903C语言,奥鹏20春学期《并行程序设计》在线作业
  18. 苹果开发者账户续费 支付授权失败(终极解决方案)
  19. 游戏建模都要用到那些软件?
  20. ubuntu 16.04安装TP-LINK TL-WDN5200H无线USB网卡驱动

热门文章

  1. sql月度分组_SQL Server按月分组
  2. classpath*: 和classpath:有什么区别_我们可以从Java“HelloWorld”中学到什么?
  3. STM32学了很久,我还是不会做项目。
  4. 「权威发布」2019年全国大学生电子设计竞赛获奖名单【涵盖国一、二等奖】
  5. mysql 中有没有临时表_MySQL 中的两种临时表
  6. mate30pro 优化 开发者选项_10 个开发者必知的 MySQL 8.0 新功能
  7. android可扩展列表,android-可扩展列表视图未显示
  8. 常州彪马机器人_PUMA560型机器人
  9. c语言课程设计 性别,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
  10. sqlyog能连接oracle吗_真的能改变传统投影吗?支持各种无线连接,投影老巨头明基放大招...