linux中/etc/profile、/etc/profile.d/、/etc/bashrc、~/.bashrc、~/.bash_profile、~/.bash_logout的作用与区别...

本文详细解析了Linux系统中环境变量的设置与不同配置文件的作用,包括/etc/profile、/etc/profile.d/、/etc/bashrc、~/.bashrc、~/.bash_profile和~/.bash_logout等,通过实验展示了它们的执行顺序与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 作用:

  /etc/profile:登录时用来设置环境变量,执行文件中的命令,对所有用户生效。

  /etc/profile.d/:登录时和执行bash命令打开子shell时执行目录下所有已.sh结尾的脚本文件中的命令,对所有用户生效。(如果使用的是csh,则执行所有已.csh结尾的文件)

  /etc/bashrc:登录时和执行bash 命令打开子shell时都执行此文件,对所有用户生效。

  ~/.bashrc:类似于/etc/bashrc,不过只对当前用户生效。

  ~/.bash_profile:类似于/etc/profile,不过只对当前用户生效。

  ~/.bash_logout:用户退出主shell时执行该文件,只对当前用户生效。

 

实验:

  首先准备环境,在root用户下执行:

            echo 'echo "/etc/profile"'>>/etc/profile

            echo 'echo "/etc/profile.d/test.sh"'>>/etc/profile.d/test.sh

            echo 'echo "/etc/bashrc"'>>/etc/bashrc

            echo 'echo "~/.bashrc"'>>~/.bashrc

            echo 'echo "~/.bash_profile"'>>~/.bash_profile

            echo 'echo "~/.bash_logout"'>>~/.bash_logout

  退出系统后,重新登录进行测试,

    

  登录时这几个文件的执行顺序一目了然,然后打开子shell,

    

  可以看出打开子shell后执行的几个文件,然后退出子shell,

    

  不执行任何文件,然后切换用户,进行上面的测试,

    

  退回root用户,任何退出主shell,

    

  可以看见此时执行了~/.bash_logut文件。

总结:

  经常上面的实验,相信大家已经了解了这几个文件的作用与执行顺序。

    

转载于:https://www.cnblogs.com/Stong/p/6807123.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值