linux /etc/profile文件,Linux /etc/profile文件詳解

linux /etc/profile文件的改變會涉及到系統的環境,也就是有關Linux環境變量的東西,學習Linux要了解Linux profile文件的相關原理,這里對則以文件進行具體分析。這里修改會對所有用戶起作用。

1、Linux是一個多用戶的操作系統。每個用戶登錄系統后,都會有一個專用的運行環境。通常每個用戶默認的環境都是相同的,這個默認環境實際上就是一組環境變量的定義。用戶可以對自己的運行環境進行定制,其方法就是修改相應的系統環境變量。

2、常在/etc/profile文件中修改環境變量,在這里修改的內容是對所有用戶起作用的。以下主要操作將在該文件中進行。

3、如何添加環境變量。

例如添加”NAME=liheng“ 。在profile文件的最后添加如下內容export NAME=liheng

變量值liheng可以加引號也可以不加,效果一樣。

4、在profile文件添加或修改的內容需要注銷系統才能生效。

5、重復定義變量怎樣理解。

經常出現的是對PATH變量的定義。

例如:在peofile文件默認對PATH變量都有設置PATH=¥¥¥¥¥¥¥(記不住了),在以后可能在對PATH設置,一般都加在profile 文件的最后PATH=······(打個比方)。而系統之中認定的PATH=·······¥¥¥¥¥¥¥¥¥,也就是說相同名字的環境變量,后寫入的先起作用(通俗地講)。大家一定要注意。

6、特殊字符介紹。

例如在profile中有如下內容,通過以下內容說明特殊符號的用法。

export A=/q/jing:aaa/cc/ld

export B=.:/liheng/wang export A=/cd/cdr:$A

大家注意紅色的符號:

: 表示並列含義,例如A變量值有多個,用:符號進行分離。

. 表示你操作的當前目錄。例如pap命令會查找B環境變量。

在/home鍵入pap命令,系統首先在/home目錄下(即當前路徑)查找關於 B 的內容,linuxidc.com">www.linuxidc.com如果沒有在/liheng/wang目錄下查找關於B的內容。 $ 表示該變量本次定義之前的值,例如$A代表/q/jing:aaa/cc/ld。也就是說 A=/cd/cdr:/q/jing:aaa/cc/ld

7、使用env命令顯示所有的環境變量 。在命令提示符下鍵入env就行了。

set命令顯示所有本地定義的Shell變量。

8、常見的環境變量

PATH:決定了shell將到哪些目錄中尋找命令或程序

HOME:當前用戶主目錄

MAIL:是指當前用戶的郵件存放目錄。

SHELL:是指當前用戶用的是哪種Shell。

HISTSIZE:是指保存歷史命令記錄的條數。

LOGNAME:是指當前用戶的登錄名。

HOSTNAME:是指主機的名稱,許多應用程序如果要用到主機名的話,通常是從這個環境變量中來取得的。

LANG/LANGUGE:是和語言相關的環境變量,使用多種語言的用戶可以修改此環境變量。

PS1:是基本提示符,對於root用戶是#,對於普通用戶是$。

PS2:是附屬提示符,默認是“>”。可以通過修改此環境變量來修改當前的命令符,比如下列命令會將提示符修改成字符串“Hello,My NewPrompt :) ”。

# PS1=” Hello,My NewPrompt :) “

9、使用修改.bashrc文件(在用戶的家目錄下)進行環境變量的編輯,只對當前用戶有用。使用修改 /etc/profile 文件進行環境變量的編輯,是對所有用戶有用。大家一定要注意區別。

10、Linux profile文件在系統啟動時將被運行。大家可以在里面加入其他命令,但是一定要加正確,不然的話系統會啟動不起來的。

1./etc/profile , /etc/profile.d ,~/.bashrc, ~/.bash_file,這幾個文件的區別是啥,可能很多新人,很疑惑。即使很多配置一些軟件環境變量的人也是很疑惑

~/.bashrc, ~/.bash_file這兩個看到~這個符合,應該明白,這是宿主目錄下的,即里面的環境變量也叫shell變量,是局部的,只對特定的shell有效,修改過別忘了source 命令一下。

/etc/profile , /etc/profile.d,前面的是文件,后面一看也就明白.d表示目錄, /etc/profile里面的變量是全局的,對所有用戶的shell有效。

2. 我們每當在終端輸入命令,系統會有響應,最重要的就是搜索路徑啦,可以通過echo $PATH看到,系統所以命令的搜索路徑,以:符合分開。

當我們下載一個軟件,如果我們希望不加入路徑就能啟動該程序,如在shell中任意位置輸入eclipse,即啟動程序,我們就可以把eclipse程序的可執行程序的路徑加入到PATH中即可。

其實我們還可以有另一種方法,請看如下代碼

# The default umask is now handled by pam_umask.# See pam_umask(8) and /etc/login.defs.if [ -d /etc/profile.d ]; then              # 判斷/etc/profile.d 是不是一個目錄  for i in /etc/profile.d/*.sh; do       #如果是一個目錄,到該目錄下,取出每一個shell程序    if [ -r $i ]; then                             #如果該shell可以執行

. $i                                               # 則執行它    fi  done  unset ifi

改代碼是/etc/profile中的部分內容,說明/etc/profile會首先執行/etc/profile.d/目錄下的所有*.sh文件。這也就給我們一個可擴展的思路。如果我們需要配置JDK,那么就在/etc/profile.d/下創建jvm.sh文件如果需要配置ant,那么就在/etc/profile.d/下創建ant.sh文件 這樣獲得的效果一致,不信你自己試試。然后,在對應的配置文件里面添加你自己的配置就可以了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值