Chinaunix首页 | 论坛 | 博客
  • 博客访问: 233957
  • 博文数量: 137
  • 博客积分: 5005
  • 博客等级: 上校
  • 技术积分: 1360
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-25 09:21
个人简介

每天进步一点点

文章分类

全部博文(137)

文章存档

2016年(1)

2013年(2)

2012年(30)

2011年(42)

2006年(27)

2005年(35)

分类:

2005-11-08 04:59:52

每一个隐藏文件的作用

bash_history        

您使用過的指令都會儲存在一個檔案稱為 .bash_history 這個檔案預設儲存您在 shell提示符號下輸入的前 500 個指令。您只要輸入 history 指令便可以一覽您使用過的指令歷史.

.bash_logout 

是使用者登出主機之前, 會去執行的設定檔, 如果使用者希望在他登出系統之後, 能幫他自動處理一些瑣事, 比如: 清除暫存檔, 清除螢幕等, 可以在這個檔案中加以設定.

.bash_profile

每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

.bashrc

该文件包含专用于你的bash shellbash信息,当登录时以及每次打开新的shell,该该文件被读取.

.cshrc

tcsh/csh 共用的 ~/.cshrc 裡面的命令, 每進一層 shell (可以用 echo $SHLVL 檢查), 這些命令就會執行一次

.dmrc

裡面記載了 desktop manager 的語系,我是直接修改這個檔案切換語系的

.viminfo               

vim 會主動的將您曾經做過的行為登錄下來,好讓您下次可以輕鬆的作業啊! 那個記錄動作的檔案就是: ~/.viminfo 這個檔案

.vimrc

vim 的環境設定參數 整體 vim 的設定值一般是放置在 /etc/vimrc 這個檔案,不過,不建議您修改他! 你可以修改 ~/.vimrc 這個檔案

                                                                                                  

Bash的環境設定

/etc/profile (主要)

$HOME/.bash_profile (主要)

$HOME/.bash_login

$HOME/.profile

$HOME/.bash_logout (主要)

$HOME/.bashrc (主要)

/etc/bashrc

說明如下:

和Bash的環境設定有關的檔案有
  • 登入(login)時
    1. 先執行 /etc/profile
    2. 接著bash會檢查使用者的自家目錄中,是否有 .bash_profile 或者 .bash_login 或者 .profile,若有,則會執行其中一個,執行順序為:
      1. .bash_profile 最優先
      2. .bash_login其次
      3. .profile 最後
這三個檔案只有在登入時,才會被bash讀取
  • 登出(exit/logout)時

    bash會檢查使用者自家目錄中是否有 .bash_logout,若有,則bash會執行其中的指令

  • 登入後啟動一個新的 shell :
    此時我們稱之為一個 subshell, 也就是說在命令列中鍵入 bash
    , 除了原先登入時的bash 之外, 又另外啟動了一個新的 bash shell.

    bash 會檢查使用者的自家目錄中是否有 .bashrc,若有則予以執行

  • 實驗:
    在各檔中加入 echo 指令, 以觀察其執行順序.

各檔案用途說明

  • /etc/profile 由 root 所控管, 用來設定適合全體使用者的shell環境
  • 若使用者自己覺得 /etc/profile 的設定, 並不合意, 可以修改自家目錄中的 .bash_profile
  • 既然有了 .bash_profile, 為何要有 .bash_login 及 .profile ?這是因為有些人可能是從 Bourne shell 移轉過來的, 那麼, 只要將 Bourne shell 主要的起動檔 .profile 移到自家目錄中, 放棄使用 .bash_profile 及 .bash_login 即可繼續沿用以前的設定環境
  • .bash_login 存在理由或許和 c shell 有關, 但因為 bash 和 c shell 二者語法並不完全相容, 因此, 並不建議將 c shell 的啟動檔直接移過來使用.
  • .bashrc 則是用來設定 subshell 的環境的, 之所以要有這個 .bashrc 是為免 subshell產生時, 又重覆將 /etc/profile 執行一次. 我們發現 .bashrc 中已預先會去執行 /etc/bashrc 的指令, 這表示, 或許 root 會將產生 subshell 時的環境設好了,使用者只要沿用 /etc/bashrc 的內容, 應該不會有任何問題.
  • .bash_logout 是使用者登出主機之前, 會去執行的設定檔, 如果使用者希望在他登出系統之後, 能幫他自動處理一些瑣事, 比如: 清除暫存檔, 清除螢幕等, 可以在這個檔案中加以設定. 

 

/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)时,执行该文件. 

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
 
~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。

shell initialization: 有些常用設定 (例如自己設的 alias 與環境變數), 甚至是其他任何命令, 你希望每次 login 之後就自動執行, 可以放在特殊設定檔內. 對 bash 用 ~/.profile 對 tcsh 用 ~/.login 另外還有 bash 的 ~/.bashrc 及 tcsh/csh 共用的 ~/.cshrc 裡面的命令, 每進一層 shell (可以用 echo $SHLVL 檢查), 這些命令就會執行一次

阅读(1506) | 评论(0) | 转发(0) |
0

上一篇:SUID

下一篇:脚本中调用脚本的几种方法

给主人留下些什么吧!~~