IT人常常会使用dos、终端、控制台等等,多多少少会遇到命令行界面。也就是这样的:


一、环境变量关系

首先,我来说一下他们之间的关系:环境变量只是一个总称,代表了系统变量和用户变量,因此我们说环境变量都是指的系统变量和用户变量。系统变量就是系统级别的变量,用户需要使用系统变量。如果系统变量被修改了,而任何系统用户都在用系统变量,因此每个系统用户都将受到影响。用户变量运行在系统变量之上的,每个用户拥有不同的用户变量,不同用户的用户变量之间是并列的,也是互不干扰的。他们之间的关系图如下如所示

二、为什么输入几个符号就能显示相应的提示?

不知道有没有人有疑问,为什么我在命令行里面输入几个字符,按下回车,屏幕就会显示相应的提示。

你在命令行里输入的那几个符号,其实就是一些可执行程序的名字(标签、别名),是可以直接被当前系统直接执行的程序。如果是在Windows系统中,则这些被输入的符号就是可以直接被windows系统执行、后缀为'.exe'的程序(文件)。

再比如如在Linux中,输入的字符则是被叫做可执行的文件,这里可执行文件意义等同于Windows中的后缀为'.exe'的文件(程序),这里值得说明的是:Linux中是不存在通过后缀名来识别文件类型的,即使存在也仅仅只是为了帮助记忆,或者便于人们识别而已。

众所周知,程序是给机器阅读的,所以,这些可执行的程序或文件大多是机器码,不是人类可识别的字符。Linux中的可执行文件(程序)不可以在Windows中去运行,因为Linux系统不是Windows系统(每个系统执行程序或运行代码的方式是不同的)。

三、命令行中的程序来自哪里?

我第一次接触命令行

本文作者最开始遇到这个问题的时候在初学Java程序的时候。学习Java程序需要配置环境变量,如果环境变量配置不成功,在命令行中去输入'java'就会提示'找不到xxxx'的一类的关键词。通过第二节大概知道为什么了,你输入的这个java字符就是代表可执行程序

程序来自于哪里?

其实这个叫'java'的应用程序就在你的安装目录下面的bin目录中。所有软件(包括Java在内的所有软件)安装目录下bin目录中,均代表里面放的是可执行的机器码(程序文件),也就是给机器阅读(执行)的文件(程序)。

执行程序跟环境变量有什么关系?

咋们来看看windows中的环境变量截图

命令行之所以能执行这个程序,是因为环境变量。

在上面的截图中可以看得出,变量都只是一个名字,真正起到作用的是变量的值,可以看到变量值中大部分都是目录路径,少部分可以看到'.exe'结尾的程序,目录是用来干嘛的?就是用来给命令行搜索程序文件的,你在环境变量值中填写的目录路径,会被命令行遍历目录中的内容,而你知道的目录下都是些可执行程序。那么这个时候命令行输入的命令都会在这些变量值中的目录去找程序,如果找到了跟在命令行中输入的名字(字符)一模一样的程序名,那么命令行就会执行这个程序,以达到执行命令行程序的功能

因此,所有在命令行中去执行的程序,其位置位置均储存在环境变量目录值中,我们在执行命令行中程序的时候,其实就是在查找环境变量所有程序位置中有没有(是否找得到)这个程序,如果没有就会提示'未找到'等关键词,如果在环境变量中找到了你在命令行中输入的程序名字,那么通过环境变量就可以直接去执行程序。

四、为什么需要环境变量?

在电子计算机出现之初,命令行就出现了。最开始的时候,人们(少数)都是使用的命令行,后来图形化的电子计算机的出现,命令行的计算机才从普通消费者印象中渐渐消失殆尽,所以命令行是计算机最开始的就有的了。那为什么现在命令行还没有消失?因为它有不可替代的优势:高效、快捷。

图形界面只是方便非IT专业的人们准备的,图形界面看起来友好,不需要太好的逻辑就能操作系统,这也就是为什么后来Windows快速占领市场,而同样非常优秀的Linux却只能听起来像神话一样的存在。

什么是环境变量、系统变量、用户变量相关推荐

  1. 环境变量中的用户变量与系统变量的区别修改环境变量

    目录 一.区别 二.修改 一.区别 1.环境变量没有区分大小写,例如path跟PATH是一样的: 2.系统变量对所有用户有效: 3.用户变量只对当前用户有效: 4.用户变量与系统变量,名称是变量,值是 ...

  2. Windows系统中用户变量与系统变量的区别

    Windows系统中存在两种环境变量:用户变量和系统变量 1.两种环境变量中是可以存在重名的变量的 2.两者都不区分变量名的大小写,如Path和PATH并没有区别 3.用户变量只对当前用户有效 4.系 ...

  3. java windows7 环境变量_Windows7环境变量中,系统变量与用户变量的优先级

    就我理解,不存在先后区别. 因为系统变量和用户变量完全不是一回事情,因此某个用户登录他的账户,并且启用了用户变量,那么它会先检查用户变量,如果没有检查到就检查系统变量,都没有则报错. 如果按照这样的理 ...

  4. 误删path等环境变量(系统变量/用户变量)

    误删path等环境变量(系统变量/用户变量) 切记重启或关机 1. 未关机或重启解决方法 首先按徽标键+R 打开运行,输入 regedit 打开注册表 在目录 HKEY_LOCAL_MACHINE\S ...

  5. Windows 10 / 11 环境变量 (用户变量与系统变量)

    Windows 10 / 11 环境变量 (用户变量与系统变量) 1. 环境变量 (environment variables) 环境变量 (environment variables) 是在操作系统 ...

  6. MySQL数据库变量_数据库参数_MySQL变量_系统变量_用户变量

    文章目录 MySQL 变量分类 系统变量 查看系统变量 设置系统变量 如何通过配置文件来设置变量值 通过命令行选项来设置变量值 动态设置全局级的系统变量 设置静态的系统变量 设置会话级的系统变量 引用 ...

  7. mysql 存储过程 用户变量值_mysql:用户变量、系统变量、局部变量(存储过程中的)...

    MySQL数据库中的变量分为MySQL系统变量和MySQL用户变量. 一.MySQL用户变量:基于会话变量实现的, 可以暂存值, 并传递给同一连接里的下一条sql使用的变量.当客户端连接退出时,变量会 ...

  8. Mysql学习总结十二:系统变量、用户变量、定义条件和处理程序

    Mysql学习总结十二:系统变量.用户变量.定义条件和处理程序 1.变量 1.1 系统变量 1.1.1 系统变量的分类 1.1.2 查看系统变量 1.2 用户变量 1.2.1 用户变量的分类 1.2. ...

  9. MySQL对用户变量、系统变量、局部变量详解

    目录 1 变量分类 1.1 用户变量 1.1.1 用户变量定义 1.1.2 用户变量操作 1.2 系统变量 1.2.1 系统变量定义 1.2.2 系统全局变量 1.2.3 系统会话变量 1.3 局部变 ...

  10. MySQL - 数据库中的系统变量和用户变量详解

    MySQL中变量分为两种:系统变量和用户变量. [1]系统变量 系统定义好的变量,大部分时候用户根本不需要使用系统变量.系统变量是用来控制服务器表现的.如:autocommit,auto_increm ...

最新文章

  1. Nginx对某个文件夹或整个站点进行登录认证的方法
  2. 树莓派进阶之路 (019) - 树莓派通过filezilla,samba与PC文件共享(转)
  3. PHP10段常用功能代码
  4. Silverlight 多窗口的实现.
  5. xp2003服务器怎么安装系统,UEFI里启动Windows XP/Server 2003 x86教程
  6. jsp导出数据时离开页面_您应该在要离开的公司开始使用数据
  7. gnome硬盘分析_解决八种Linux硬盘问题的技巧
  8. Educational Codeforces Round 30 A[水题/数组排序]
  9. Android 编码规范:(七)避免使用终结方法
  10. crypto在web的使用
  11. 模拟退火算法解决车间工作台工作指派问题
  12. php 百望电子发票,百望云电子发票服务平台开票工具
  13. React初识--必知必会的jsx核心语法
  14. word刷子刷格式_【Word中格式刷】Word格式刷在哪里?Word格式刷用法大全!
  15. 腾讯防水墙php接入,PHP实现腾讯防水墙验证码校验
  16. Android中的占位符
  17. 802.11ax分析1---IEEE 802.11ax和IEEE 802.11ac性能对比
  18. layui define 的使用
  19. 智慧环保可视化决策系统
  20. web编程(三)显示html网页

热门文章

  1. 二维码门禁刷卡人脸识别梯控上位机软件部分
  2. 顶点坐标与纹理坐标分分钟看懂
  3. vivo5.0系统如何不用ROOT激活Xposed框架的流程
  4. Java函数式编程随想
  5. xunsearch php,xunsearch
  6. Xunsearch入门
  7. 微信小程序前后台调用
  8. 博士团队专业代做滑坡崩塌泥石流风险评估大小论文
  9. 今日大雪 温骤降,已冻成狗 2021.12.7日11时
  10. ossim mysql密码_OSSIM手工安装配置指南.pdf