歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

初步認識和學習BASH和shell

初步認識和學習BASH和shell   簡單的說:bash包括:  變量的設置與使用  bash操作環境的構建  數據流重定向功能  管道命令  bash中的命令行對主機維護和管理有不可缺少的幫助 1.1認識bash這個shell  管理計算機硬件的其實是操作系統的內核kernel,內核被保護,所以一般的用戶只能  通過shell(殼)來和內核通信。  我們要想讓計算機做一件事情,就必須要通過“Shell”將我們輸入的命令與內核通信,  好讓內核可以控制硬件來正確無誤的工作。真正在控制硬件工作的是CPU進程,內存  管理、磁盤輸出輸入等工作。硬件是實體的工作者,包括硬盤:顯示卡網絡卡CPU等。 操作系統的本質就是:一組軟件 shell的功能:提供用戶操作系統的一個接口,要使用shell需要用其他的軟件來調用,其實 我們使用的每個命令行都是一個獨立的應用程序。也就是說:只要能夠操作應用程序的接口 都能夠稱為shell。 狹義的shell指的是命令行方面的軟件。 廣義的shell包括圖形界面的軟件。 Unix中:Shell的分類:  Bourne SHell(sh)  Sun裡面的默認的C Shell  商業中常用到K Shell TCSH  請問問度娘或谷哥RHEL和CentOS用的是哪個? 至於Linux:他的shell就是Bourne Again SHell,小名叫bash。這個Shell是Bourne Shell  的增強版本。   CentOS中可以用的shell:/etc/sehlls(本人已經找到)  /bin/sh  被/bin/bash所代替  /bin/bash Linux默認的shell  /bin/ksh Kornshell 由AT&T Bell lab.發展出來的,兼容於bash  /bin/tcsh (整合C Shell,提供更多的功能)  /bin/csh (已經被/bin/tcsh所替代)  /bin/zsh (基於ksh發展出來的,功能強大的shell),沒有 使用/etc/shell文件的原因:因為系統服務器在運行過程中,回去檢查用戶能夠使用的shells ,而這個shell的查詢就是借助/etc/shells這個文件,shell什麼時候開始工作呢? 比如登陸的時候,shell記錄在/etc/password中,每行的最後一個數據就是默認的shell   Linux默認使用/bin/bash 這個shell。 shell的功能:  命令記憶功能(history)  命令與文件補全功能  命令別名的設置功能(alias)  很有用的哦!  eg:將lm設置成ls -al  alias lm='ls -al'  要設置直接打開一個路徑:  alias cdd='cd /home/angle/real'  記住有一些非bash規定的命令行輸入其實是通過這種方法設定的,並且每個用戶下面  都需要設置一遍如果你想用這個指令的話。原因很簡單,因為每個用戶擁有自己單獨  的bash。  作業控制、前台、後台控制(job control.foreground,background)(Chapter 17)  程序腳本(shell script)(Chapter 13)  通配符 (Wildcard)  eg:想要知道/usr/bin下面有多少以X開頭的文件用:    ls -l /usr/bin/X*    bash shell 的內置命令:type  利用type命令判斷每個命令是否為bash內置命令  eg:type -a ls   type cd 命令的執行:  eg:   cp /var/spool/mail/root  /etc/crontab \  > /etc/fstab  /root  這個命令的用途是將三個文件復制到/root這個目錄下,因為太長用\ENTER來將[ENTER]  這個按鍵“轉義開來”,讓ENTER不在具有“開始執行的功能”,好讓命令可以繼續在下  一行輸入。  特別注意:[ENTER]按鍵要緊跟反斜槓\,如果順利轉義的話就會出現>的符號,說明可以  繼續輸入命令,>是系統自動出現的,不需要手動輸入。   小結:當我們順利在終端機(tty)上登陸時,Linux就會依據/etc/password文件的設置給我們一個  shell(默認為bash),然後我們就可以依據上面的命令執行方式來操作shell,之後我們  可以通過man這個在線查詢命令的使用方式與參數說明。
Copyright © Linux教程網 All Rights Reserved