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
不管是本地登陸還是遠程登錄,都可以顯示此歡迎信息,是在登陸後顯示

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