Linux环境变量的设置和修改

资料:https://www.shiyanlou.com/courses/running

1 环境变量的理解

环境变量的作用域比自定义变量的要大,如 Shell 的环境变量作用于自身和它的子进程。在所有的 UNIX 和类 UNIX 系统中,每个进程都有其各自的环境变量设置,且默认情况下,当一个进程被创建时,除了创建过程中明确指定的话,它将继承其父进程的绝大部分环境设置。


1.1 三种变量类型:

  • 当前 Shell 进程私有用户自定义变量,只在当前 Shell 中有效。
  • Shell 本身内建的变量。
  • 从自定义变量导出的环境变量。

1.2 与三种环境变量相关的命令

  • set : 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。
  • env : 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。
  • export : 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。

按变量的生存周期来划分,Linux 变量可分为两类:

  • 永久的:需要修改配置文件,变量永久生效;

  • 临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。

每个用户目录下有一个.profile隐藏文件,这个 .profile 只对当前用户永久生效。

写在 /etc/profile 里面的是对所有用户永久生效,如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上你想添加的环境变量就好啦。

2 PATH

echo $PATH 输出环境变量,发现环境变量的分隔符为:

2.1 添加自定义路径到PATH(环境变量)

  • PATH=$PATH:/home/shiyanlou/mybin 将绝对路径/home/shiyanlou/mybin添加到环境变量,后可以在home目录直接运行mybin里面的文件
  • echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc 将命令内容添加到 .zshrc 中,每次启动 Shell 时自动执行添加自定义路径到 PATH 的命令
  • zsh 的配置文件是 .zshrc,相应 Bash 的配置文件为 .bashrc 。Shell 每次启动时会默认执行该配置脚本,以初始化环境,包括添加一些用户自定义环境变量等。
  • 命令中>> 表示将标准输出以追加的方式重定向到一个文件中
  • 命令中 > 是以覆盖的方式重定向到一个文件中
  • gcc -o hello_world hello_world.c 将.c文件变成可执行文件,gcc 生成二进制文件默认具有可执行权限,不需要修改

2.2 修改和删除已有环境变量

  • 删除PATH中的环境变量
  • 删除一个环境变量


  • 让环境变量立马生效
    source .zshrc

3 搜索文件

  • whereis

whereis 直接从数据库中查询,只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)。

  • locate
locate /etc/sh    查找 /etc 下所有以 sh 开头的文件
locate /usr/share/\*.jpg  查找 /usr/share/ 下所有 jpg 文件
  • which 只从 PATH 环境变量指定的路径中去搜索命令
    比如:which man

  • find
    find 不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索;
    基本命令格式为 find [path] [option] [action]

 sudo find /etc/ -name interfaces  去 /etc/ 目录下面 ,搜索名字叫做 interfaces 的文件或者目录
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容

  • 一、环境变量 1. 变量 变量就是计算机中用于记录一个值(数值,字符或字符串)的符号。通常变量与值是一对一的关系,...
    睡不醒醒阅读 931评论 0 1
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,380评论 0 5
  • 一、环境变量 1.变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中...
    xuzhougeng阅读 1,035评论 0 4
  • 一、环境变量 1. 变量所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号...
    e9f3ca3721bc阅读 385评论 0 0
  • 一。环境变量 1. (1)使用 declare 命令创建一个变量名为 tmp 的变量: $ declare tmp...
    forever__love阅读 418评论 0 0