歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> 初步認識和學習BASH和shell

初步認識和學習BASH和shell

日期:2017/3/1 15:36:02   编辑: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