R的啟動順序及執行檔案

2021-07-03 19:23:54 字數 1382 閱讀 3121

r的啟動順序

r啟動時的一系列過程(使用help(startup)命令檢視詳細資訊):

如果沒有在命令列中執行(--no-environ),r會搜尋並執行站點檔案(rprofile.site)和使用者檔案(.rprofile)。

1.r執行rprofile.site中的指令碼。這個指令碼檔案是系統級的指令碼,它允許系統管理員對預設選項進行自定義修改。

該**檔案的完整路徑為r_home/etc/rprofile.site(其中,r_home是r的主目錄)。

注意:r發行版中不包含rprofile.site檔案,所以系統管理員可以根據需要自行建立該檔案。

2.r執行工作目錄中的.rprofile指令碼檔案;若該檔案不存在,則執行使用者主目錄中的.rprofile檔案。

在這一步使用者可根據自己的需要來對r進行客戶化。使用者主目錄中的.rprofile檔案用於全域性性的客戶化。

當r在低階別的目錄啟動時,這個低級別目錄下的.rprofile指令碼檔案也可以對在本目錄下啟動的r進行客戶化。

例如,對啟動於某個專案目錄下的r進行客戶化。

3.如果當前工作目錄中有.rdata檔案,那麼r將載入該.rdata檔案中儲存的工作空間。

r在退出時會將工作空間儲存到乙個名為.rdata的檔案中。它將從該檔案中載入你的工作空間,並恢復訪問原來的區域性變數和函式。

4.如果你定義過.first函式, r將執行該函式。.first函式是使用者或專案定義啟動初始化**的好地方,你可以在.rprofile檔案或工作空間中來對該函式進行定義。

5.r執行.first.sys函式。這一步會載入預設的r包,該函式是r的內部函式,一般使用者或管理員不需要對其修改。

注意,r直到最後一步執行.first.sys函式時才會載入預設r包。在這之前只有基礎r包會載入。

這一點很重要,因為它意味著之前幾步不能假定除基礎r包以外的軟體包會載入。

> sys.getenv("r_home") ; #獲取環境變數r_home的目錄

[1] "/usr/local/lib64/r"

> getwd(); #獲取當前目錄

[1] "/home/enn_james"

> sessioninfo()  ; #檢視環境變數

>sys.setlocale(category = "lc_ctype", "zh_cn.utf-8") ; #設定中文字型,注意:在r的命令視窗中設定環境變數,重啟之後又沒了,只是臨時改動

linux下r的啟動過程:

啟動時,r會載入r_home/etc目錄中的rprofile.site檔案(站點初始化檔案)或者.rprofile(目錄初始化檔案)來找到自定義r的環境

【設定個性化的啟動】

linux下,在主目錄中建立名為.rprofile(~/.rprofile)的指令碼檔案來對r程序進行客戶化,r會在啟動時執行該檔案。

可執行檔案及linux程序記憶體

通過編譯器編譯為可執行檔案,linux下執行檔案的格式為elf。linux下物理記憶體通過mmu管理對映到程序的虛擬記憶體中,虛擬記憶體的分布 2.data段 資料段,初始化的全域性變數和static變數。為何還產生bss段,為了可執行程式更加的小。3.bss 未初始化的全域性變數和static變數...

Linux的可執行檔案

linux的可執行檔案 用ls f命令,後買帶 的就是可執行檔案。linux下,當你使用.執行乙個程式時,首先是shell來接管你的輸入,然後用fork派生子程序,最後用execv系列將你的那個程式的 交給核心 1。檢查你執行的檔案的屬性,其屬性在它的i節點中描述,如果你的那個檔案不是可執行的屬性,...

執行檔案很大的指令碼

1.使用osql執行乙個大指令碼檔案 a.建立乙個包含一批 transact sql 語句的指令碼檔案 如 myfile.sql b.開啟命令提示符,鍵入與下面類似的乙個命令,然後按 enter 鍵 osql e i input file 其中input file 是指令碼檔案及其完整路徑。例如,如...