文章目录

  • 前言
  • 一:环境中存储的是什么
    • (1)查看环境变量
    • (2)一些有趣的变量
  • 二:环境是如何建立的
    • (1)login和non-login shell
    • (2)启动文件中有什么
  • 三:修改环境
    • (1)你能修改哪些内容?
    • (2)文本编辑器
    • (3)使用文本编辑器

前言

前面讲过,Linux中一切皆文件,所以大多数程序使用配置文件来存储程序设置,但是一些程序也会查找环境中存储的变量来调整自己的行为,这也就是我们常说的环境变量。关于环境变量,下面的文章中有更多深入的探究,请移步

环境变量

本章所用到命令如下

  • printenv:打印部分或全部环境信息
  • set:设置shell选项
  • export:将环境变量导出到随后要运行的程序
  • alias:为命令创建一个别名

一:环境中存储的是什么

shell在环境中存储了两种基本类型的数据,但是在bash中,这两种类型基本没有区别。这两种数据类型分别是环境变量和shell变量。shell变量是由bash存放的少量数据,环境变量就是除此之外的所有其他变量。除变量之外,shell还存储了一些编程数据,也就是别名和shell函数。其中第一部分第五章已经叙述了别名(alias),而shell函数将在第四部分介绍

(1)查看环境变量

使用printenv只会显示环境变量

如果要查看一个特定的环境变量,比如说HOME,那么就输入printenv HOME(其实第一部分第七章也讲过扩展的方式查看,echo $HOME

使用set命令(不带参数)可以查看shell变量和环境变量,以及已经定义的shell函数,注意set的结果是按照字母表顺序排列的

(2)一些有趣的变量

printenv所展示的环境变量非常多,其中值得注意的有以下几个

二:环境是如何建立的

用户登录系统后,bash程序就会启动并读取一系列称为启动文件的配置脚本,这些脚本定义了所有用户共享的默认环境。接下来,bash会读取更多存储在主目录下的用于定义个人环境的启动文件。这些步骤执行的确切顺序是由启动的shell会话类型决定的。

(1)login和non-login shell

shell会话存在两种类型,分别是login shell会话和non-login shell会话
login shell会话会提示用户输入用户名和密码,而我们在经常在终端中通过点击图标方式启动的会话就是一个典型的non-login shell会话

login shell会读取一个或多个启动文件,如下是login shell的启动文件

下面是non-login shell读取的启动文件

  • non-login shell除了会读取以上的启动文件之外,还会继承父类进程的环境,父类通常是一个login shell

(2)启动文件中有什么

查看etc/profile文件,如下

  • 其中以“#”开头的是注释

上图中注意高亮区域的代码,为什么你的环境变量是这个?这段if语句其实就说明了

ls命令为什么不需要输入完整路径就可以查询,就是因为Linux将usr/bin这个目录添加带了环境变量当中,Linux查找命令时会先在PATH目录中寻找

  • 其中的export PATH是告诉shell,shell的子进程使用PATH变量的内容

三:修改环境

Linux一切都靠配置文件,所以想要掌控我们的Linux,就必须要会修改配置

(1)你能修改哪些内容?

一般来说我们进行的修改就是想PATH中添加目录,或者定义其他额外的环境变量。

(2)文本编辑器

既然Linux的配置文件都是文本,那么想要处理他们就需要一款编辑器了,类似于Windows中的记事本

文本编辑器大概分为两类:图形和基于文本的。GNOME(GNU网络对象模型环境)和KDE(K桌面环境)都配备有一些流行的图形界面编辑器。GNOME配备的编辑器叫做gedit(通常称为Text Editor)。KDE则分别配备了三种编辑器,分别是kedit,kwrite和kate

基于文本的编辑器,最受欢迎的有nano,vi和emacs。其中vi(现在叫vim)是最为主要的,下一章介绍的就是它

(3)使用文本编辑器

本章主要如何使用图形化的文本编辑器进行,编辑.bashrc文件时,由于它的配置文件,所以干的第一份工作就是备份,将.bashrc文件进行拷贝成bashrc.bak,并将其移动到桌面

然后打开我们的文本编辑器,并将文件拖拽进去,即可打开这个文件

让我们在文件后面追加这样一段代码alias lh='ls -d .* --color=auto',它的意思是终端输入lh命令就可以显示所以隐藏目录。

  • 为了便于阅读,记得加上注释

然后将桌面下的这个文件重命名为之前的名字,接着复制到原先路径下,这样它就会覆盖

修改完成了,但是只有重新登录shell才会重新读取.bashrc,当然可以用source .bashrc强制重新读取
如上,配置文件被成功修改了

2-1:配置与环境之环境相关推荐

  1. 如何配置能使j2me开发环境处于正常状态

    很多人在开始学习j2me的时候遇到的第一个问题就是如何配置j2me的开发环境,我一般用的是eclipse开发,所以在这里说一下在eclipse中如何配置j2me的开发环境: 1.首先需要了解在配置前要 ...

  2. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程(转)

    转至:http://www.leapsoul.cn/?p=695 这两天刚装好Windows 7,碰巧前段时间有朋友问我Windows下如何安装搭建PHP环境,所以打算勤劳下,手动一步步搭建PHP环境 ...

  3. windows 下配置 react native 开发环境

    windows 下配置 react native 开发环境 安装nvm 由于react native 需要使用 NodeJs 4.0以上版本,为了方便切换NodeJs,首先我们需要安装nvm. 你可以 ...

  4. 配置IIS Silverlight运行环境

    配置IIS Silverlight运行环境: 打开IIS->站点属性->HTTP头->MIME类型->新建: 扩展名: .xap MIME类型:xapapplication/x ...

  5. 配置ADB到Windows环境变量

    adb 命令可以帮我们快速的管理连接的手机设备,例如执行一些安装apk,卸载apk命令,对于熟悉linux系统的人,可以方便的管理手机目录操作手机文件,还可以通过adb命令查看手机的系统日志等操作. ...

  6. Windows IIS配置Jsp和php环境方法

    我们一般将Tomcat与Apache或IIS配合使用,让Apache对网站的静态页面请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP解析,以得到更好的性能. 一.IIS用于ASP程序的处理 ...

  7. linux环境变量配置的方法,Linux环境变量配置方法

    Linux上环境变量配置分为设置永久变量和临时变量两种.环境变量设置方法同时要考虑环境Shell类型,不同类型的SHELL设置临时变量方法和设置永久变量对应的配置文件不同.Linux环境变量本身配置过 ...

  8. C++:Windows环境下基于Eclipse配置C/C++开发环境

    C++:Windows环境下基于Eclipse配置C/C++开发环境 目录 Windows下的MinGW下载.安装和配置 1.MinGW下载 2.MinGW安装与配置 3.基于Eclipse配置 Wi ...

  9. 配置windows驱动开发环境

    配置windows驱动开发环境                    撰写:jiftle 时间:2011-09-09 14:30                     windows驱动开发需要wd ...

  10. Ubuntu 配置 Go 语言开发环境(Sublime Text+GoSublime)

    本文针对的 Go 语言版本为 1.3,之前也有相关文章讲解如何在 Ubuntu 下配置Go语言的开发环境,但时过境迁,一些方法已经不相同或者不必要.虽讲的是 Ubuntu 下安装配置过程,但 Wind ...

最新文章

  1. STRUTS2单元测试
  2. go gdb调试 参数设置 减小执行文件体积
  3. mysql slow time_mysql使用slow log
  4. I2C原理及应用实例
  5. LINQ :最终统治了​所有的语言!
  6. 有做行业站的转行做企业站的吗?
  7. .net开发中用BackgroundWorker实现多线程
  8. 各国选手Techfest备战FMB世界杯,极战远征军斩获佳绩为国争光
  9. java实现远程唤醒一台计算机
  10. Speedoffice(Excel)怎么把边框线条加粗
  11. 股票做手回忆录中的精华
  12. win7安装nvme固态硬盘win10专业版
  13. python爬虫大作业
  14. 透视HTTP协议(一) —— HTTP是什么
  15. 接口文档规范有哪些?
  16. 动态模态分解 DMD | 做高维时间序列数据短时预测
  17. 北斗三号频点_北斗三号将为手机用户带来更好用户体验
  18. vue 解决重复点击导航路由报错 问题
  19. Vultr删除信用卡
  20. vue+axios 实现Excel下载,并解析文件流

热门文章

  1. 佛系程序员:什么bug不bug的,随缘吧
  2. 预充电电路工作原理_常见变频空调室外机电路工作原理及组成
  3. 国家生物信息中心在核酸研究发表单细胞DNA甲基化数据库—scMethBank
  4. 多个基因集富集结果泡泡图绘制展示
  5. 基础省选+NOI-第6部分 字符串
  6. 操作系统课设之虚拟内存页面置换算法的模拟与实现
  7. 斜挎包长度到哪里合适_斜挎包带子多长合适 看个人身高
  8. Spring Boot文档阅读笔记-exception handling–@ExceptionHandler解析与实例
  9. canvas笔记-使用arc与lineTo画圆角矩形及绘制2048棋盘
  10. Qt工作笔记-QGraphics框架场景中图元的移除与析构