bash配置文件
兩類:
profile:為交互式登錄shell提供配置
bashrc:為非交互式登錄shell提供配置
登錄類型:
交互式登錄shell進程
直接通過某終端輸入賬號和密碼登錄打開的shell進程
使用su – USERNAME或者使用su -l USERNAME執行的登錄切換
非交互式登錄shell進程
使用su命令:su USERNAME
圖形界面下打開的終端
profile類:
全局:對所有用戶生效
/etc/profile
/etc/profile.d/*.sh
局部:僅對當前用戶生效
~/.bash_profile
功用:
1.用于定義環境變量
2.運行命令或腳本
bashrc類:
全局:對所有用戶都生效
/etc/bashrc
局部:僅對當前用戶生效
~/.bashrc
功用:
1.定義本地變量
2.定義命令別名
~/.bash_logout:退出shell時所執行的腳本文件
配置文件執行順序:
交互式登錄
/etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc
非交互式登錄
~/.bashrc –> /etc/bashrc –> /etc/profile.d/*.sh
命令行中定義的特性,例如變量和別名僅對當前shell進程有效
配置文件中定義的特性,只對隨后新啟動的shell進程有效
讓通過配置文件定義的特性立即生效:
(1)通過命令行重復定義一次
(2)讓shell進程重讀配置文件
~]# source /PATH/FROM/CONF_FILE
~]# . /PATH/FROM/CONF_FILE
bash特性
展開命令行
命令行展開:~,{}
命令別名:alias,unalias
命令歷史:history
文件名統配:*,?,[],[^]
命令替換:$(),“
快捷鍵:Ctrl+u,k,a,e,l
路徑補全:tab
命令補全
防止擴展
反斜線\:會使隨后的字符按愿意解釋
加引號來防止擴展
單引號'':防止所有擴展
雙引號"":防止擴展,除一下條件以外
$:變量擴展
“:命令替換
\:禁止單個字符擴展
!:調用命令歷史
mktemp命令:創建臨時文件
mktemp [OPTIONS] FILENAME
FILENAME:filename.XXX
X至少出現三次
OPTIONS:
-d:創建臨時目錄
-p:指明臨時文件所存放的目錄位置
[root@CentOS7 ~]# mktemp tmp.XXX tmp.Ny6 [root@CentOS7 ~]# mktemp tmp.XXXX tmp.O2FW [root@CentOS7 ~]# mktemp -d tmp.XXX tmp.2Ne
install命令:復制文件或設置屬性
OPTIONS:
-d:復制目錄
-m MODE:復制文件同時指定文件權限
-o:復制文件同時指定文件的屬主
-g:復制文件同時指定文件的屬組
[root@CentOS7 ~]# install /bin/chmod ./ #復制/bin/chmod文件到當前目錄 [root@CentOS7 ~]# ll chmod -rwxr-xr-x. 1 root root 58544 Aug 31 08:50 chmod [root@CentOS7 ~]# install -m 644 /bin/chmod ./ #復制/bin/chmod文件并指定權限為644 [root@CentOS7 ~]# ll chmod -rw-r--r--. 1 root root 58544 Aug 31 08:50 chmod [root@CentOS7 ~]# install -d /home/ ./ #復制目錄 [root@CentOS7 ~]# ll home/ total 0 [root@CentOS7 ~]# ll -d home/ drwxr-xr-x. 2 root root 6 Aug 30 05:31 home/ [root@CentOS7 ~]#
原創文章,作者:zhai796898,如若轉載,請注明出處:http://www.www58058.com/42506