一、profile bashrc bash_profile 的區別和聯繫【轉】
/etc/profile:此文件爲系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.並從/etc/profile.d目錄的配置文件中搜集shell的設置.
/etc/bashrc:爲每一個運行bashshell的用戶執行此文件.當bash shell被打開時,該文件被讀取.
~/.bash_profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件.
~/.bashrc:該文件包含專用於你的bashshell的bash信息,當登錄時以及每次打開新的shell時,該文件被讀取.(每個用戶都有一個.bashrc文件,在用戶目錄下)
~/.bash_logout:當每次退出系統(退出bash shell)時,執行該文件.
另外,/etc/profile中設定的變量(全局)的可以作用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關係.~/.bash_profile 是交互式、login 方式進入 bash 運行的,~/.bashrc 是交互式non-login 方式進入 bash 運行的。通常二者設置大致相同,所以通常前者會調用後者。
在登錄Linux時要執行文件的過程如下:
在剛登錄Linux時,首先啓動 /etc/profile 文件,然後再啓動用戶目錄下的 ~/.bash_profile、~/.bash_login或 ~/.profile文件中的其中一個,
執行的順序爲:~/.bash_profile、 ~/.bash_login、~/.profile。
如果 ~/.bash_profile文件存在的話,一般還會執行 ~/.bashrc文件。
因爲在 ~/.bash_profile文件中一般會有下面的代碼:
if [ -f ~/.bashrc ] ; then
. ./bashrc
fi
~/.bashrc中,一般還會有以下代碼:
if [ -f /etc/bashrc ] ; then
. /bashrc
fi
所以,~/.bashrc會調用/etc/bashrc文件。最後,在退出shell時,還會執行~/.bash_logout文件。
執行順序爲:/etc/profile -> (~/.bash_profile | ~/.bash_login |~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
關於各個文件的作用域,在網上找到了以下說明:
(1)/etc/profile:此文件爲系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行. 並從/etc/profile.d目錄的配置文件中搜集shell的設置。
(2)/etc/bashrc: 爲每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取。
(3)~/.bash_profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件。
(4)~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。
(5)~/.bash_logout: 當每次退出系統(退出bash shell)時,執行該文件. 另外,/etc/profile中設定的變量(全局)的可以作用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關係。
(6)~/.bash_profile是交互式、login 方式進入 bash 運行的~/.bashrc是交互式 non-login 方式進入 bash 運行的通常二者設置大致相同,所以通常前者會調用後者。
1、交叉編譯環境 arm-linux-gcc-2.95.3 的建立
1.下載cross-2.95.3.tar.bz2
2.建目錄,複製,解壓
# cd /usr/local
# mkdir arm
# cd arm
複製cross-2.95.3.tar.bz2 到當前目錄
# tar jxvf cross-2.95.3.tar.bz2
3.導出/usr/local/arm/2.95.3/bin 到環境變量
在/etc/profile 最後添加PATH=$PATH:/usr/local/arm/2.95.3/bin
在ubuntu 下面方法
1.從http://ftp.arm.linux.org.uk/pub/armlinux/toolchain/下載cross-2.95.3.tar.bz2;
2.將cross-2.95.3.tar.bz2拷貝至/home下,然後通過
$sudo tar jxvfcross-2.95.3.tar.bz2解壓;
3.將解壓後的文件夾複製到/usr/local/arm下
$cp -r/home/2.95.3/ /usr/local/arm/ ;
4.把交叉編譯器的路徑加入到PATH中,
$sudo vi/etc/bash.bashrc 在最後面加入如下代碼:
if [ -d/usr/local/arm/2.95.3 ]; then
PATH=/usr/local/arm/2.95.3/bin:"${PATH}"
fi
5.使新的環境變量生效
$source/etc/profile
6.檢查是否將路徑加入到PATH中$echo $PATH
7.可以通過編寫hello world程序測試。
交叉編譯環境 arm-linux-gcc-3.4.1的建立
一般方法
1.下載arm-linux-gcc-3.4.1.tar.bz2
ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2;
http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.3.2.tar.bz2
2.複製,解壓
# cd /
複製arm-linux-gcc-3.4.1.tar.bz2到當根目錄
# tar jxvf arm-linux-gcc-3.4.1.tar.bz2
或者,直接這樣:
# tar jxvf arm-linux-gcc-3.4.1.tar.bz2-C/
3.導出/usr/local/arm/3.4.1/bin到環境變量
在/etc/profile 最後添加PATH=$PATH:/usr/local/arm/3.4.1/bin
1.用export PATH=$PATH:/usr/local/arm/2.95.3/bin/:(臨時起作用)
2.在你的家目錄裏,修改自己的環境變量:vi ~/.bash_profile 把這個文件添加到.bash_profile中就行了;(對某用戶起作用)
3.修改/etc/porfile文件,在最後加上exportPATH=$PATH:/usr/local/arm/2.95.3/bin/: (對所有用戶起作用);
文件修改後,要使更改環境變量生效一般的做法是重新登錄,
運行# source /etc/profile 可以使導出的環境變量馬上生效,避免重啓。
在ubuntu下交叉編譯環境構建(arm-linux-gcc-3.4.1.tar.bz2)
1.下載arm-linux-gcc-3.4.1.tar.bz2到任意的目錄下。
http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
2.解壓 arm-linux-gcc-3.4.1.tar.bz2
#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2
解壓過程需要一段時間,解壓後的文件形成了 usr/local/ 文件夾,進入該文件夾,將arm文件夾拷貝到/usr/local/下
# cd usr/local/
#cp -rv arm /usr/local/
現在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了
3.修改環境變量,把交叉編譯器的路徑加入到PATH。(有三種方法,強烈推薦使用方法一)
方法一:修改/etc/bash.bashrc文件
#vim /etc/bash.bashrc
在最後加上:exportPATH=$PATH:/usr/local/arm/3.4.1/binexportPATH(如果不能編輯,先修改相關文件的權限使用chmod命令。)
方法二:修改/etc/profile文件:
# vim /etc/profile增加路徑設置,在末尾添加如下,保存/etc/profile文件:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
方法三:#export PATH=$PATH:/usr/local/arm/3.4.1/bin
注:(這只能在當前的終端下才是有效的!)
4.立即使新的環境變量生效,不用重啓電腦:
對應方法一:#source /root/.bashrc
對應方法二:# source /etc/profile
5.檢查是否將路徑加入到PATH:
# echo $PATH
顯示的內容中有/usr/local/arm/bin,說明已經將交叉編譯器的路徑加入PATH。至此,交叉編譯環境安裝完成。
6.測試是否安裝成功
# arm-linux-gcc –v
轉自:
http://hi.baidu.com/wise/hdwlijngufbilrd/item/4a874de32e1ab3acc10d75c2?nopager&ssid=0&from=0&bd_page
最近看到大家很多人在糾結這個交叉編譯環境的安裝問題,所以我在網上搜索了這個比較全的文檔。以上方法選自與網上。對於大家的問題,環境變量的設置是關鍵,如果大家看了我的那個《shell學習筆記》的話,肯定會知道,關於export和path等相關的環境變量的配置,關鍵是裏面的相關語法,如export和path的兩側不能有空格等等,要注意。其實,環境變量的設置大同小異,都是更改相關的配置文件,如profile,bashrc等,只要大家仔細,不要添加多餘的空格或者相關的符號就可以正確配置成功。