linux的etc/profile文件的作用是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的etc/profile文件的作用是啥相关的知识,希望对你有一定的参考价值。

比如说arm-linux-gcc安装过后 除了要修改root下的.bashfile(也就是添加个环境变量) ,还要修改etc/profile 下的环境变量 两个profile是干什么用的 还有点别的疑问 就是这个arm-linux-gcc 应该也是属于个工具嘛 为什么这个没有需要rpm去安装 只是执行了 tar -xzvf 解压就可以了,而包需要rpm去安装 包是什么意思那 和windows下的exe安装程序类似吗

    /etc/profile:这个文件是每个用户登录时都会运行的环境变量设置

    .bashfile:是单用户登录时比如root会运行的

    rpm:red hat,fedora,centos这几个发行版使用的安装包,和其它tar.gz的区别是有个文件头,多了一些信息

rpm包多数是二进制文件,可以直接运行的,但tar.gz包很多是源代码,要编译后才能运行,二进制文件和windows下的exe文件一个意思,可以直接运行。

扩展资料:

Linux系统的主要特性

1.基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。

2.完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。

3.完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。

4.多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。 

5.良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。

6.支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。

参考资料:

Linux-百度百科

参考技术A 这个文件是每个用户登录时都会运行的环境变量设置,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。 参考技术B 问题问得太多了,后面的问题你可以自己在使用就可以学会的,我不会回答。/etc/profile属于系统级别的环境变量,设置在里面的东西对所有用户适用。.bashrc只对当前用户适用,而且只有在你使用的也是bash作为shell时才行,如果你使用zsh那么也就要说要使用.zshrc文件了,至于/etc/profile,应该没有这个问题。 参考技术C /etc/profile
这个文件是每个用户登录时都会运行的环境变量设置

.bashfile
是单用户登录时比如root会运行的

rpm是red hat,fedora,centos这几个发行版使用的安装包,和其它tar.gz的区别是有个文件头,多了一些信息

rpm包多数是二进制文件,可以直接运行的,但tar.gz包很多是源代码,要编译后才能运行

二进制文件和windows下的exe文件一个意思,可以直接运行本回答被提问者采纳

Linux下环境变量设置技巧,不用/etc/profile而是在/etc/profile.d目录下新建特定的shell文件来设置

区别:

1、两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效,同样是永久变量,是全局变量。

2、/etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用像/etc/profile需要改动此文件。

3、需要注意的是,/etc/profile和/etc/profile.d同样是登录(login)级别的变量,当用户重新登录shell时会触发。所以效果一致。

4、通常设置登录级别的变量,重新登录shell即可,或者source /etc/profile。

原来:

设置环境变量通常写在/etc/profile里面,现在看来真的很low,如果上百个应用,那么找得到和修改得到是不同的两码事!那么问题来了,升级后的做法是在/etc/profile.d/目录下新建以应用命令的shell文件即可,然后不需要的变量直接删除对于的shell文件。

现在:

同样的写法,只不过在/etc/profile.d/目录下新建对应的shell即可,比如新建java的:

vi /etc/profile.d/java.sh

export JAVA_HOME=/data/service/java

原理:

无论在Linux还是再Mac下,都可以用这个方式去实现,分析/etc/profile这个文件你会发现有这么一段shell,这个就是关键所在:

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

总结:

不要再使用以前那么low的方式,改下方案吧,这样运维才是王道!!!

 

以上是关于linux的etc/profile文件的作用是啥的主要内容,如果未能解决你的问题,请参考以下文章

linux如何进入系统文件/etc/profile修改内容

source /etc/profile的深坑

linux的/etc/profile文件在说什么呢?能删吗

修改/etc/profile或者$HOME/.profile文件后如何立即生效?

linux的etc/profile文件的作用是啥

虚拟机Linux的/etc/profile怎么恢复更改前的