【Linux系统编程】:环境变量

目录

前言(进程的特性):

1.认识环境变量

1.1 PATH

1.2 HOME

1.3 SHELL

1.4 HISSIZE

1.5 SSH_TTY 

1.6 PWD和OLPWD 

2. 环境变量的概念及其相关指令 

什么是环境变量

echo(输出字符串到终端)

env(查看环境变量)

set (查看所有环境变量和本地变量)

3.命令行参数

4.创建和取消环境变量

创建

取消 (unset)

5.获取环境变量(通过系统调用)

getenv

main()函数中的环境变量表 

通过第三方变量environ获取 

6.本地变量 


前言(进程的特性):

进程有四大特性:

竞争性: 系统进程数目众多,而CPU资源只有少量,甚至1个,所以进程之间是具有竞争属性的。为了高效完成任务,更合理竞争相关资源,便具有了优先级

独立性: 多进程运行,需要独享各种资源,多进程运行期间互不干扰

并行: 多个进程在多个CPU下分别,同时进行运行,这称之为并行

并发: 多个进程在一个CPU下采用进程切换的方式,在一段时间之内,让多个进程都得以推进,称之为并发。 上下文 (计算机) - 维基百科,自由的百科全书 (wikipedia.org)

那么Linux系统是如何实现并发的呢?深入理解Linux内核进程上下文切换-腾讯云开发者社区-腾讯云 (tencent.com) 

1.认识环境变量

1.1 PATH

在Linux终端,我们输入指令,程序会直接运行指令对应的程序,但当我们编写好一个可执行程序时,执行它为什么要加上“ ./ ”呢?

或者这样说,为什么我们执行自己编写的可执行文件时要指定路径,而执行指令时则不用呢?本质上都是可执行文件。

因为当我们在命令行中输入指令后,系统会自动在PATH环境变量中,去进行查找。

查看环境变量PATH:

(以冒号为各个绝对路径的分隔符)

如果我们想执行“./mycmd”,只要在命令行中输入指令mycmd回车,可以把该条指令所在的绝对路径添加到环境变量PATH中,

就算重命名mycmd,执行重命名后的可执行文件也不用添加路径。 

如果我们一不小心将PATH中的所有路径都覆盖了,会怎么样呢? 大多数指令无法正常执行。我们现在重启Xshell,就会恢复原来的环境变量。因为我们修改的PATH是存在内存当中,修改内存中的PATH,并不会影响磁盘中PATH最初的配置。

1.2 HOME

指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)

1.3 SHELL

当前Shell,它的值通常是/bin/bash。

1.4 HISSIZE

记录历史指令的个数,与指令history的相关。

1.5 SSH_TTY 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值