Linux profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西,学习Linux要了解Linux profile文件的相关原理,这里对则以文件进行具体分析。这里修改会对所有用户起作用。
1、Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
2、常在/etc/profile文件中修改环境变量,在这里修改的内容是对所有用户起作用的。以下主要操作将在该文件中进行。
3、如何添加环境变量。
例如添加”NAME=liheng“ 。 在profile文件的最后添加如下内容export NAME=liheng
变量值liheng可以加引号也可以不加,效果一样。
4、在profile文件添加或修改的内容需要注销系统才能生效。
5、重复定义变量怎样理解。
经常出现的是对PATH变量的定义。
例如:在peofile文件默认对PATH变量都有设置PATH=¥¥¥¥¥¥¥(记不住了),在以后可能在对PATH设置,一般都加在profile 文件的最后PATH=······(打个比方)。而系统之中认定的PATH=·······¥¥¥¥¥¥¥¥¥,也就是说相同名字的环境变量,后写入的先 起作用(通俗地讲)。大家一定要注意。
6、特殊字符介绍。
例如在profile中有如下内容,通过以下内容说明特殊符号的用法。
export A=/q/jing:aaa/cc/ld
export B=.:/liheng/wang export A=/cd/cdr:$A
大家注意红色的符号:
: 表示并列含义,例如A变量值有多个,用:符号进行分离。
. 表示你操作的当前目录。例如pap命令会查找B环境变量。
在/home键入pap命令,系统首先在/home目录下(即当前路径)查找关于 B 的内容,如果没有在/liheng/wang目录下查找关于B的内容。 $ 表示该变量本次定义之前的值,例如$A代表/q/jing:aaa/cc/ld。也就是说 A=/cd/cdr:/q/jing:aaa/cc/ld
7、使用env命令显示所有的环境变量 。在命令提示符下键入env就行了。
set命令显示所有本地定义的Shell变量。
8、常见的环境变量 PATH:决定了shell将到哪些目录中寻找命令或程序
HOME:当前用户主目录
MAIL:是指当前用户的邮件存放目录。
SHELL:是指当前用户用的是哪种Shell。
HISTSIZE:是指保存历史命令记录的条数。
LOGNAME:是指当前用户的登录名。
HOSTNAME:是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
PS1:是基本提示符,对于root用户是#,对于普通用户是$。
PS2:是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt
”。
# PS1=" Hello,My NewPrompt
"
9、使用修改.bashrc文件进行环境变量的编辑,只对当前用户有用。使用修改 /etc/profile 文件进行环境变量的编辑,是对所有用户有用。大家一定要注意区别。
10、Linux profile文件在系统启动时将被运行。大家可以在里面加入其他命令,但是一定要加正确,不然的话系统会启动不起来的。
shell配置脚本
├ /etc/profile --->/etc/profile.d/*.sh
└ ~user/.bash_profile
└ ~user/.bashrc
└ /etc/bashrc
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.
在登录Linux时要执行文件的过程如下:
在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile。如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。因为在 ~/.bash_profile文件中一般会有下面的代码:
if [ -f ~/.bashrc ] ; then
. ./bashrc
fi
~/.bashrc中,一般还会有以下代码:
if [ -f /etc/bashrc ] ; then
. /bashrc
fi
所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。
执行顺序为:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
关于各个文件的作用域,在网上找到了以下说明:
(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5)~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
(6)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
分享到:
相关推荐
mxProfileParser 解析mxnet的profile.json文件的简单工具使用环境变量启用mxnet分析器export MXNET_EXEC_BULK_EXEC_INFERENCE=0export MXNET_EXEC_BULK_EXEC_TRAIN=0export MXNET_PROFILER_AUTOSTART=1指定json文件...
合并V8 .cpuprofile文件 通过console.profile()手动或自动收集CPU配置文件console.profileEnd() 配置文件保存到in目录 将配置文件合并到单个文件中 将合并的配置文件从out目录加载回开发人员工具中 文献...
证书的名称是Apple iPhone OS Provisioning Profile Signing 多达3个证书链 根证书具有特定的SHA1哈希值 个人档案版本为1 配置文件中存在设备UDID,或者存在ProvisionsAllDevices键 该配置文件在有效期内 权威 在App...
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/breaksoftware/article/detai
岩石 带有mimalloc(在Linux上)分配器的golang pprof配置文件格式的解析器。 传递给Rock数据可以与产生pprof的文件放在同一zip/pb.gz归档文件中(默认情况下,存储在Linux... Profile将包含完全解析的pprof配置文件。
Oracle 主要配置文件介绍: profile文件,oratab 文件,数据库实例初始化文件 initSID.ora,监听配置文件, sqlnet.ora 文件,tnsnames.ora 文件 <br>1.2 Oracle 主要配置文件介绍 1.2.1 /etc/profile 文件...
配置文件激活扩展 通过脚本提供灵活的Maven配置文件激活。 参考功能实现,。 安装 生产发布 开发发布 神器 类似的扩展 扩展功能 ...公开解析的 ... < artifactId>profile-activator-extension </ ext
名称Callgrind::Parser - 将 Callgrind 输出文件解析为表示源程序调用树的 hashref版本版本 0.001概要 use Callgrind::Parser;my $profile = Callgrind::Parser::parseFile('t/data/helloworld.out')print ...
npm配置文件 提供用于获取和更新npmjs.com配置文件的功能。 const profile = require ( 'npm-profile' ) const result = await profile . get ( registry , { token } ) //... 此实现的API记录在这里: (和两因素...
TOSCA解析器将TOSCA YAML模板或TOSCA云服务档案(CSAR)文件作为输入,并可选输入所需参数字典及其值,并生成具有彼此关系的不同TOSCA元素的内存对象。 它还创建了一个TOSCA节点模板及其关系图。 位于toscaparser /...
主要介绍了Java web xml文件读取解析方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
电报桌面解密 解密tdata文件的工具。 Telegram Desktop(在台式机上运行,而不是在手机上运行)具有一个“ tdata”... .rawencrypted:解密的未解析文件 .cache:缓存文件(可以是JPEG,视频或任何类型的共享文件
警告 1 未能解析引用的程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL”,因为它对不在当前目标框架“.NETFramework,Version=v4.0,Profile=...
2.1.2 Spring Boot项目构建过程解析 24 2.2 使用起步依赖 27 2.2.1 指定基于功能的依赖 28 2.2.2 覆盖起步依赖引入的传递依赖 29 2.3 使用自动配置 30 2.3.1 专注于应用程序功能 31 2.3.2 运行应用程序...
一个简单的API,它使用和从给定的用户名以JSON格式请求和解析基本的公共LinkedIn个人资料数据 设置 git clone git@github.com:tancredi/linkedin-profile-info-api.git cd linkedin-profile-info-api npm install ...
2.在环境变量文件mysh_profile中添加"/home"目录,测试ls命令 第5步骤:重定向 ***(这里做了修改,重新用文件写了一个命令的重定向) ***(修复了ctrl+c 不能结束命令的bug)( signal(SIGINT, SIG_DFL); ) 1. 测试 ...
一个使用 OASIS Tosca YAML Simple Profile 1.0 的 python 库 该库最初是作为评估标准早期草案的学习练习而实施的。 tosca 的一个现成的替代品是嵌入在热转换器中的一个 toscalib。 托斯卡建模 TOSCA 标准在这里被...
本文以实例形式讲述了C#解析JSON的方法,C#封装了对XML和JSON解析的类库,使用相当方便!具体用法如下: 1.主要用到的类: 主要用到了...假设要解析的JSON文件格式如下(其他格式做相应处理即可) { k
先进入到profile文件目录: cd /etc 打开profile文件: sudo gedit profile 把这下面的命令行添加到文件最末面:(第一个是go的安装包路径,第二个是你的开发空间,两个需要不同目录,否则会导致文件夹混淆) #...