shell 什麼是shell bash shell bash的配置文件 shell 登錄兩種方式 bash中的退出時的任務 ...
shell
什麼是shell
Shell 是Linux系統的用戶界面,提供了用戶與內核進行交互操作的一種介面。它接收用戶輸入的命令並把它送入內核去執行
shell 也被稱為LINUX 的命令解釋器(command interpreter)
shell 是一種高級程式設計語言
bash shell
GNU Bourne-Again Shell(bash) 是GNU計劃中重要的工具軟體之一,目前也是 Linux 標準的shell ,與sh相容
CentOS 預設使用
顯示當前使用的shell
echo ${SHELL}
顯示當前系統使用的所有shell
cat /etc/shells
cat連續的將文件內容顯示到屏幕上
-n: 由1開始對所有輸出的行數編號;
-b: 列印行號,只不過對於空白行不編號;
-s: 當遇到有連續兩行以上的空白行,就代換為一行的空白行;
-A: 顯示不可列印字元,行尾顯示“$”;
-e: 等價於"-vE"選項;
-t: 等價於"-vT"選項;
-E: 顯示行結束符
-T: 顯示製表符
-v: 顯示其他的非列印字元
bash的配置文件
按生效範圍劃分,存在兩類:
全局配置:
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
個人配置:
~/.bash_profile
~/.bashrc
bash中Profile和bashrc的配置作用
按功能劃分,存在兩類:
profile 類和bashrc類
profile 類:
為互動式登錄的shell 提供配置
全局:/etc/profile,/etc/profile.d/*.sh
個人:~/.bash_profile
功用:
用於定義環境變數
運行命令或腳本
bashrc 類:
為非互動式和互動式登錄的shell 提供配置
全局:/etc/bashrc
個人:~/.bashrc
功用:
定義命令別名和函數
定義本地變數
配置文件的生效方式
修改profile和bashrc文件後可以通過以下來生效
重啟shell進程
或者 source ## .|source ~/.bashrc
shell 登錄兩種方式
互動式登錄:
直接通過終端輸入賬號密碼登錄
使用“su - UserName” 切換的用戶
執行順序:/etc/profile --> /etc/profile.d/*.sh -->~/.bash_profile --> ~/.bashrc --> /etc/bashrc
非互動式登錄:
su UserName
圖形界面下打開的終端
執行腳本
任何其它的bash 實例
執行順序: ~/.bashrc --> /etc/bashrc -->/etc/profile.d/*.sh
用戶登錄前的提示的配置文件
/etc/issue
用戶登錄後提示的配置文件
/etc/motd
bash中的退出時的任務
保存在~/.bash_logout 文件中,每個用戶可有自己單獨的任務,在退出登錄的shell是運行。
一般是用於創建自動備份和清楚臨時文件