bash配置文件介紹
很多在shell進程中定義的特性(如:別名)重啟shell後就失效了,可以通過修改bash配置文件來解決重啟配置丟失的問題。
bash配置文件分類:
profile類:為交互式登錄的shell進程提供配置
bashrc類:為非交互式登陸的shell進程提供配置
登陸類型介紹:
交互式登錄: 直接通過某終端輸入賬號密碼後登陸打開的shell進程
使用su命令:su - username 或者使用su -l username執行的登陸切換
非交互式登陸: 使用su username執行的登陸切換
圖形界面下打開的終端
運行的腳本
profile類配置文件:
全局配置文件:對所有用戶都生效
配置文件路徑:/etc/profile
/etc/profile.d/*.sh
局部配置文件:對特定用戶生效,也叫個人配置文件
配置文件路徑:~/.bash_profile //個人家目錄下的隱藏文件 .bash_profile
profile類配置文件的作用:
用於定義環境變量;運行命令或腳本,用戶登錄時自動運行。
bashrc類配置文件:
全局配置文件:對所有用戶都生效
配置文件路徑:/etc/bashrc
局部配置:對特定用戶生效,也叫個人配置文件
配置文件路徑:~/.bashrc //個人家目錄下的.bashrc
bashrc類配置文件的作用:
定義本地變量,使其一直有效;定義命令別名;
bash配置文件讀取優先次序:
交互式shell進程:先後次序如下
/etc/profile---/etc/profile.d/*.sh---~/.bash_profile---~/.bashrc---/etc/bashrc
非交互式shell進程:先後次序如下:
~/.bashrc---/etc/bashrc---/etc/profile.d/*.sh
註意:命令行中定義的特性,例如變量和別名作用域為當前shell進程的生命周期。配置文件定義的特性,只對隨後新啟動的shell進程有效。
讓通過設定配置文件的特性立即生效辦法如下:
方法一:通過命令行重復定義一次
方法二:讓shell進程重新讀取配置文件,命令如下:
~]#source /path/to/conf_file //conf_file為配置文件
或~]. /path/to/conf_file //.是內嵌命令,conf_file為配置文件
問題:
如何定義對所有用戶都生效的命令別名?例如:lftps=lftp x.x.x.x/pub
修改bashrc類配置文件/etc/bashrc
讓centos用戶登錄時,提示其已經登陸,並顯示當前系統時間。
修改 ~/.bash_frofile
bash配置文件介紹