Shell編程之環境變量配置文件

一、簡介

1.變量類型:

用戶自定義變量(本地變量)

環境變量:定義每個用戶的操作環境,已學的有path,ps1;要想永久生效,要寫入相對應的位置

預定義變量

位置參數變量

2.source命令

[root@localhost ~]# source 配置文件 或者

[root@localhost ~]# . 配置文件(點.後面有空格)

[root@localhost ~]# ./當前目錄(這裏沒有空格)

修改配置文件後,必須註銷重新登錄才能生效,否則只能等下次重新登錄

但是使用source命令可以不用重新登錄

[root@localhost ~]#  . .bashrc

.bashrc是隱藏文件

相當於:

[root@localhost ~]# source  .bashrc

3.環境變量配置文件簡介

PATH、HISTSIZE、PS1、HOSTNAME等環境變量寫入對應的環境配置文件

環境變量配置文件中主要是定義對系統操作系統生效的系統默認環境變量,如PATH等

下面是一些一啓動就生效的環境變量:

/etc/profile

/etc/profile.d/*.sh

/etc/bashc

~/.bash_profile

~/.bashrc

#放在家home目錄下只有當前用戶生效,放在/etc下的每個登錄用戶都會起作用

還有一些在退出時生效的環境變量文件夾

 

二、環境變量配置文件的功能

1.環境變量存放位置生效順序:

環境變量存放位置生效順序

上面是完整登陸過程生效順序,但是我們有的時候會使用sudo來調整登錄用戶,這屬於不完整登陸,完整登陸是用戶登錄或註銷的過程,而不是切換用戶過程

切換用戶是從/etc/bashrc開始的,完整登陸是從/etc/profile開始的。

2.詳解環境變量文件位置:

(1)./etc/profile的作用:

USER變量:

LOGNAME變量:

MAIL變量:

PATH變量:

HOSTNAME變量:

HISTSIZE變量:

umask:

調用/etc/profile.d/*.sh

[root@localhost ~]# vim /etc/profile

 

(2).umask

umask

#查看系統默認屬性

注意:

1)文件最高權限爲666

2)目錄最高權限爲777

3)權限不能夠使用數字進行換算,而必須使用字母

[root@localhost ~]# touch abc

[root@localhost ~]# umask

0022

[root@localhost ~]# ll

總用量  56

-rw-r—r—. 1 root  root  4906  1月  15   01:12   abc

[root@localhost ~]#

rw-rw-rw-   ----w--w-  (去掉重複的權限)=rw-r—r-- 計算結果和預計一致,但是文件是一開始沒有執行權限的,而目錄有

4)umask定義的權限,是系統默認權限中準備丟棄的權限

(3).~/.bash_profile的作用

調用了~/.bashrc文件

在PATH變量後面加入了“:$HOME/bin”這個目錄

注:後續文件注意不要覆蓋了

(4). /etc/bashrc的作用

PS1變量

umask

PATH變量

調用/etc/profile.d/*.sh文件

 

三、其它環境變量配置文件

(1).註銷時生效的環境變量配置文件

~/.bash_logout

補充:如果在命令中輸入明文的用戶名和密碼,建議清除歷史命令,這條命令可以放~/.bash_logout,但正常情況下不用不用每次都清除

(2). ~/.bash_history

[root@localhost ~]#  ls –a

123  .bash_history#存放位置,硬盤

#注意當前登陸的命令在內存位置,只有當退出時執行命令纔會保存到指定位置,這也是用命令history和vim .bash_history查看命令歷史存放文件,發現命令條數不一致

(3).Shell登錄信息

1)本地終端歡迎信息:/etc/issue

所支持的轉義符

本地終端歡迎信息

[root@localhost ~]#  vim /etc/issue

CentOS release 6.3 (Final)

Kernel \r on an \m

建議把\l加入到登陸界面,可以用Alt + F2切換本地終端,本地終端一般有6個,用Alt+F1切回

2)遠程終端歡迎信息:/etc/issue.net

  轉義符在/etc/issue.net文件中不能使用

  是否顯示歡迎信息,由ssh的配置文件/etc/ssh/sshd_config決定,加入“Banner/etc/issue.net”行才能顯示(記得重啓SSH服務)

[root@localhost ~]#  vim /etc/issue.net

[root@localhost ~]#  vim /etc/ssh/sshd_config

找到#Banner None,取消註釋,然後改成“Banner /etc/issue.net”

重啓ssh服務:[root@localhost ~]#  service sshd restart

停止 sshd:                                         [確定]

正在啓動 sshd:                                      [確定]

[root@localhost ~]# 

3)登錄後歡迎信息:/etc/motd

不管是本地登陸還是遠程登錄,都可以顯示此歡迎信息,但是在登陸後顯示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章