关于bash的环境变量,系统规划与个人喜好存在偏差的情况下,建议用户修改个人设置值即可,不需要针对系统。在命令行输入的变量、命令别名都是针对该次的登录而设置的,所以,一旦注销那么上次的设置值就会不存在了。
因此我们需要一些文件,记录下用户设置好的环境值,每次登录的时候,就帮我们确定环境的设置。
一、系统设置值
系统设置值是指每个用户进入到bash shell之后,会先读取的设置文件,默认的设置文件有如下几个:
1、/etc/sysconfig/i18n
语义系数是由i18n维护的,而该设置就在/etc/sysconfig/i18n中,这个文件类似于:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
默认使用en_US.UTF-8作为整体语系,可以在这里修改LANG以及其他相关的语系变量,不过,一般来说,用户自己个人的设置建议不要在这里更改,可以自行修改自己的设置文件。
2、/etc/profile
这个文件设置了几个重要的变量,例如:PATH,USER,,MAIL,HOSTNAME,HISTSIZE,umask等等,同事也确定了/etc/inputrc这个针对键盘热键设置的文件的数据内容,可以在这里设置总体的PATH的信息,同时,这个文件也规划出了/etc/profile.d以及/etc/inputrc这两个目录与文件。
这个文件中可以设置变量,但是需要小心,因为所有的用户都会使用这个文件的信息。
在该文件中,HISTSIZE的大小是控制bash记录历史命令条数的参数。在用户家目录下的.bash_history文件中,存储着历史指令记录,默认一般是一千条。
/etc/bashrc
这个文件确定umask(默认文件权限)的功能,也确定了提示符(PS1)的内容,不同版本的Linux版本中,位置可能不太一样。
以上是一些系统在设置的时候常用的文件,通常在设置完这几个文件之后,都要先注销再登陆才能生效。
二、个人设置值
在个人家目录的几个隐藏文件中,会使用到下面的几个文件:
1、~/.bash_profile , ~/.bash_login , ~/.profile
这三个文件通常只要设置一个即可,一般默认是以~/.bash_profile文件名存在。之所以会有这么多的文件,是因为其他的shell转换过来的用户的习惯。这个文件可以定义个性化的路径(PATH),与环境变量等等。不过还是有顺序上的差异,bash启动时,会先去读取~/.bash_profile,找不到时去读取~/.bash_login 然后才是~/.profile.
2、~/.bashrc
在每次执行shell脚本时,都会重新读取这个文件 ,所以是最完整的,而~/.bash_profile只在登录时才读取一次。
3、~/.bash_history
上面以及提及到这个文件,默认情况下,历史命令就记录在这里,而这个文件能记录多少数据,则与HISTSIZE有关,每次登录bash之后,bash会先读取这个文件,将所有的历史命令读入内存,因此我们登录bash之后,可以查知上次使用过哪些命令。
4、~./bash_logout
这个文件记录“注销bash之后,系统再帮我完成什么任务之后才离开”。可以读取这个文件的内容,默认情况下,在注销时,bash只是清掉屏幕上的消息,不过也可以将一些备份或者其他你认为重要的工作写在这个文件中。
在变量的设置规范中,后输入的设置值可以替换掉先输入的设置值,登录bash的时候,这些设置文件需要按照一个顺序来读取。
1、先读取/etc/profile。再根据/etc/profile的内容去读取其他的附加的设置文件,例如/etc/profile.d与/etc/inputrc等设置文件。
2、根据不同的用户,到用户的家目录中去读取~/.bash_profile或~/bash_login或者~/.profile等设置文件
3、根据不同的用户,到家目录中去读取~/.bashrc。
登录bash之后,最终读取的设置文件是~/.bashrc也就是说,在~/.bashrc里设置的值,会是最终设置的值,可以将一些个人喜欢的常用alias或者PATH等环境变量或者自定义变量都写到这个文件中,如此一来,不管系统做过什么设置,我们都可以使用属于自己熟悉的环境。
分享到:
相关推荐
### Linux环境变量设置详解 #### 一、理解Linux环境变量 在Linux系统中,环境变量是一种重要的配置方式,用于向程序传递系统级别的信息。这些变量包括路径信息、语言设置、用户主目录等,它们对系统的运行起着至关...
在Linux环境下,通常使用shell脚本来实现批处理,常见的shell有bash、zsh等。 当我们需要一次性设置多个环境变量时,可以创建一个shell脚本文件(例如SetPath.sh),将所有的export命令写入这个文件中。每一个...
Linux 环境变量设置总结 Linux 环境变量是 Linux 操作系统中一个重要的概念,它决定了系统的行为和用户的体验。环境变量是由一系列的名称和值组成的,它们可以影响系统的行为和应用程序的运行。 1. 环境变量的分类...
了解如何设置和管理环境变量对于任何Linux用户,尤其是开发者和系统管理员来说都是至关重要的。这篇博客将深入探讨如何在Linux中设置环境变量,并结合`Shell`编程进行学习。 首先,环境变量是全局的,它们在整个...
Linux 环境搭建过程 本资源旨在指导用户如何搭建一个完整的 Linux 环境,包括 VMware 虚拟机的安装、ubuntu10.04 的安装、VMware Tools 的安装、Qt 的安装、SSH 的安装、qte 配置等等。通过本资源,用户可以了解 ...
本文主要聚焦于Linux环境变量的设置,特别是关于`PATH`变量的配置,这对于有效地使用安装的应用程序至关重要。 环境变量是系统中预定义的一系列变量,它们包含了系统配置、用户偏好以及其他关键信息。例如,`HOME`...
LINUX Samba 设置详解 Linux Samba 设置是将 Linux 系统转换为文件服务器的过程,以下是详细的设置步骤和知识点解释: 1. 安装 VMware 在安装 Linux 之前,需要安装虚拟机软件 VMware,以便模拟真实的服务器环境...
Linux 编译环境设置 Linux 编译环境设置是指在 Linux 系统中编译和配置环境的设置,包括 cpu 型号的选择、编译工具的配置,以及一些驱动的模块选择。本文将详细介绍 Linux 编译环境的设置,包括目录结构、安装步骤...
### Linux环境变量设置详解 在Linux系统中,环境变量扮演着至关重要的角色,它们是操作系统与用户、应用程序之间沟通的桥梁。通过环境变量,我们可以控制程序的行为,改变系统的默认设置,甚至解决某些软件的兼容性...
Linux 环境 Weblogic 超详细安装配置文档 Weblogic 的安装 Weblogic 的安装过程可以分为两部分:Linux 下安装过程和 Windows 中安装过程。下面是 Linux 下安装过程的详细步骤: 1. 部署前准备:创建 weblogic ...
在Linux环境下进行C语言编程是许多开发者的基本技能之一,尤其对于初学者来说,这是一个极好的起点。本资源“Linux环境C程序设计源代码”提供了一系列的示例和实践,帮助学习者深入理解C语言和Linux操作系统之间的...
Linux环境部署是一个涵盖广泛的主题,涉及操作系统安装、配置、服务管理、网络设置等多个方面。以下是一些关于"Linux环境部署"的重要知识点: 1. **Linux发行版选择**:标题和描述中提到了`CentOS`,它是一款广泛...
本篇文章将详细介绍如何在Linux环境下正确地配置Java环境变量,包括`JAVA_HOME`、`PATH`以及`CLASSPATH`等关键变量的设置方法。 #### 1. 理解环境变量 在深入讨论如何设置之前,我们先来了解一下这些环境变量的...
在Linux环境下实现串口通信需要了解串口的基本原理和类型,并掌握打开串口、设置参数和读写数据的方法。本文为读者提供了在Linux环境下实现串口通信的方法和原理,希望对需要在Linux环境下编写串口通信程序的朋友有...
### Linux 下 Java 开发环境搭建详解 #### 一、Linux 下 JDK + Eclipse + Tomcat 的安装与配置 ##### 1. Linux 下 JDK 的安装 在搭建 Java 开发环境之前,首先需要确保 JDK 已经安装在 Linux 系统上。JDK 是 Java...
Linux设置环境变量小结设置永久变量&临时变量 全局变量&局部变量
【标题】:“西南科技大学+Linux实验报告+Linux环境下C语言编程” 【实验目的】: 1. 本实验旨在让学生熟悉Linux字符模式下的C程序开发环境,包括编译和调试过程。 2. 学习并掌握如何使用Linux下的GCC编译器进行C...
在Linux环境中安装Java 1.8是开发和运维工作中的常见任务,对于使用Java作为主要开发语言的项目尤其重要。本文将详细介绍如何在Linux系统上安装Java 1.8,以及涉及的相关知识点。 首先,Java Development Kit (JDK)...
Linux环境变量设置是每个系统管理员和开发者必须掌握的基础技能,因为它们对软件的可执行性和用户的交互体验至关重要。环境变量是Linux系统中的关键元素,它们提供了系统如何运行和交互的信息。当我们在终端输入命令...