1.了解SHELL
只要能夠操作應用程序的接口都能夠稱shell。shell也是一個應用程序,工作在用戶模式,運行為進程。shell進程主要用於提供命令行界面,提供一系列的工作特性,有些特性可以自行的設定。當用戶通過多種方式登錄到Linux操作系統時,我們就可以認為該用戶打開了一個SHELL,從而和系統進行交互。
shell在linux系統下的角色如下:
2.為什麼要學習shell
命令行界面的shell是很不好的,但是學完之後好處卻很多。例如圖形化界面像windows xp、win 7每個版本的系統他們的圖形化操作區別都很大,而命令行卻並不如此,當我們學完shell之後,我們基本上可以操作絕大部分的Linux發行版。另外,當我們在進行系統管理的時候,特別是遠程管理,命令行的界面就是比較快,能讓我們比較快速的完成相關的任務部署。另外,在命令行界面下我們可以通過腳本來對主機進行管理。這樣就不需要我們進行復雜的鼠標操作啦。所以我認為學好shell是有序高效管理系統的前題。
可以通過以下命令查看當前系統支持的shell:
cat /etc/shells /bin/sh :被/bin/shell替代 /bin/bash :Linux系統默認 /sbin/nologin :非交互式登錄 /bin/dash :是一種unix shell 比bash小的多 /bin/tcsh :整合c shell提供更多的功能 /bin/csh :被/bin/tcsh替代
2.RHEL6.4上默認使用的shell為BASH.主要功能特性如下:
1.命令記憶功能(history)
2.可以使用Tab進行命令補全
3.可以使用alias來設置命令別名
4.進行相關的腳本編寫
5.部分快捷鍵的使用
6.支持管道和I/O重定向
3.可以通過設置相關的文件的內容來控制BASH歡迎與登錄信息。
cat/etc/issue 顯示登錄前的信息 cat/etc/issue.net 顯示telnet登錄的用戶信息 cat/etc/motd 登錄之後提示的信息
4.BASH配置文件:
主要分為2類如下:
profile類: 文件: /etc/profile 全局,對所有用戶有效 /etc/profile.d/*.sh 全局,對所有用戶有效 ~/.bash_profile: 僅對某用戶自己有效 功能: 設定環境變量 運行命令或腳本 bashrc類: 文件: /etc/bashrc 全局,對所有用戶有效 ~/.bashrc 僅對當前用戶生效 功能: 設定本地變量 定義命令別名
當對以上配置文件更新後,文件中新定義的命令和執行語句並不會立即生效。可以通過以下2種方式使其生效:
source FILE
. FILE
用戶登錄分為交互式登錄和非交互式登錄,它們執行上述文件的順序也不相同。交互式登錄主要有一下兩種,1.直接從終端登錄的用戶;2.通過su - USERNAME 登錄系統的用戶。 非交互式登錄用戶:1.通過su USERNAME 2.圖形化界面下,打開的偽終端。3.在腳本自動執行時的用戶。