linux关于bashrc与profile
“~/”表示用戶目錄 具體看是root用戶,還是其他用戶(其他用戶是home目錄)。每一個用戶都有對應的用戶目錄,都有對應的用戶.bashrc文件,.bashrc就是系統生成的,就是文件名。其沒有后綴名之說。但是每一個用戶進去之后,只能看到自己的bashrc文件,因為每一個bashrc對應一個用戶權限。 Bash shell在“~/.bash_history文件中保存了500條使用過的命令,這樣能使你輸入使用過的長命令變得容易。每個在系統中擁有賬號的用戶在他的目錄下都有一個“.bash_history”文件。
要搞清bashrc與profile的區別,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。
交互式模式就是shell等待你的輸入,并且執行你提交的命令。這種模式被稱作交互式是因為shell與用戶進行交互。這種模式也是大多數用戶非常熟悉的:登錄、執行一些命令、簽退。當你簽退后,shell也終止了。 shell也可以運行在另外一種模式:非交互式模式。在這種模式下,shell不與你進行交互,而是讀取存放在文件中的命令,并且執行它們。當它讀到文件的結尾,shell也就終止了。
bashrc與profile都用于保存用戶的環境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。系統中存在許多bashrc和profile文件,下面逐一介紹:
/etc/pro此文件為系統的每個用戶設置環境信息,當第一個用戶登錄時,該文件被執行.
并從/etc/profile.d目錄的配置文件中搜集shell的設置.
/etc/bashrc:為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取。有些linux版本中的/etc目錄下已經沒有了bashrc文件。
~/. pro每個用戶都可使用該文件輸入專用于自己使用的shell信息,當用戶登錄時,該
文件僅僅執行一次!默認情況下,它設置一些環境變量,然后執行用戶的.bashrc文件.
~/.bashrc:該文件包含專用于某個用戶的bash shell的bash信息,當該用戶登錄時以及每次打開新的shell時,該文件被讀取.
另外,/etc/profile中設定的變量(全局)的可以作用于任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關系.
/etc/profile,/etc/bashrc 是系統全局環境變量設定
~/.profile,~/.bashrc用戶家目錄下的私有環境變量設定
當登入系統時候獲得一個shell進程時,其讀取環境設定檔有三步
1. 首先讀入的是全局環境變量設定檔/etc/profile,然后根據其內容讀取額外的設定的文檔,如
/etc/profile.d和/etc/inputrc
2. 然后根據不同使用者帳號,去其家目錄讀取~/.bash_profile,如果這讀取不了就讀取~/.bash_login,這個也讀取不了才會讀取
~/.profile,這三個文檔設定基本上是一樣的,讀取有優先關系
3. 然后在根據用戶帳號讀取~/.bashrc
至于~/.profile與~/.bashrc的區別
都具有個性化定制功能
~/.profile可以設定本用戶專有的路徑,環境變量等,它只能登入的時候執行一次
~/.bashrc也是某用戶專有設定文檔,可以設定路徑,命令別名,每次shell script的執行都會使用它一次
總結
以上是生活随笔為你收集整理的linux关于bashrc与profile的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: surfire单元测试添加jvm参数
- 下一篇: 虎牙2023年Q1财报:总收入19.5亿