zoukankan      html  css  js  c++  java
  • linux中/etc/profile、/etc/profile.d/、/etc/bashrc、~/.bashrc、~/.bash_profile、~/.bash_logout的作用与区别

     作用:

      /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文件。

    总结:

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

        

  • 相关阅读:
    DataGridView中绑定List泛型的问题 [轉]
    .NET 導入EXCEL後數值型toString會變成空問題
    Linq連接List時多值時使用方法
    SQL2008报表三种实现Reporting Service2008匿名访问的方法(转)
    IIS7 WCF HTTP 错误 404.3 Not Found
    sql2005取得TABLE主鍵及欄位名稱,說明
    MSSQL禁用/啟用TRIGGER
    IE6下a:hover span失效问题(转载)
    asp.ner上传文件限制(转载)
    css优先级(转载)
  • 原文地址:https://www.cnblogs.com/Stong/p/6807123.html
Copyright © 2011-2022 走看看