知道什麼是 Shell 之後,那麼我們來瞭解一下 Linux 使用的是哪一個 shell 呢?什麼!哪一個?難道說 shell 不就是『一個 shell 嗎?』哈哈!那可不!由於早年的 Unix 年代,發展者眾,所以由於 shell 依據發展者的不同就有許多的版本,例如常聽到的 Bourne SHell (sh) 、在 Sun 裡頭預設的 C SHell、 商業上常用的 K SHell、, 還有 TCSH 等等,每一種 Shell 都各有其特點。至於 Linux 使用的這一種版本就稱為『 Bourne Again SHell (簡稱 bash ) 』,這個 Shell 是 Bourne Shell 的增強版本,也是基準於 GNU 的架構下發展出來的呦!在介紹 shell 的優點之前,先來說一說 shell 的簡單歷史吧:第一個流行的 shell 是由 Steven Bourne 發展出來的,為了紀念他所以就稱為 Bourne shell ,或直接簡稱為 sh !而後來另一個廣為流傳的 shell 是由柏克萊大學的 Bill Joy 設計依附於 BSD 版的 Unix 系統中的 shell ,這個 shell 的語法有點類似 C 語言,所以才得名為 C shell ,簡稱為 csh !由於在學術界 Sun 主機勢力相當的龐大,而 Sun 主要是 BSD 的分支之一,所以 C shell 也是另一個很重要而且流傳很廣的 shell 之一(因為太多的程式設計師使用的就是 C 語言啦!)!
好了,那麼 BASH 是怎麼一回事呢?這個 shell 是 GNU 計畫中重要的工具軟體之一,现在也是 GNU 作業系統中標準的 shell ,他主要相容於 sh ,並且依據一些使用者需求,而加強的 shell 版本,能够說现在幾乎任何的 Linux distribution 都是使用 bash 作為管理核心的主要 shell !因此,不論您使用的是那個 distribution ,您都難逃需要學習 bash 的宿命啦!那麼這個 shell 有什麼好處,幹嘛 Linux 要使用他作為預設的 shell 呢? BASH 主要的優點有底下幾個:
- 命令編修能力(類似 DOS 的 doskey 功能):
使用 bash 裡頭,個人認為相當棒的一個功能就是『他能記憶使用過的指令!』這功能真的相當的棒!因為我只要在指令列按『上下鍵』就能够找到前一個輸入的指令!而在 Mandrake 9.0 預設的指令記憶功能能够到達 1000 個!也就是說,您曾經下達過的指令都被記錄下來了,記錄的檔案在您的家目錄內的 .bash_history !不過,需要留意的是, ~/.bash_history 記錄的是前一次登入以前所執行過的指令,而至於這一次登入所執行的指令都被暫存在暫記憶體中,當您成功的登出系統後,該指令記憶才會記錄到 .bash_history 當中!這有什麼功能呢?最大的好處就是能够『查詢曾經做過的舉動!』,如此能够知道您的執行步驟,那麼就能够追蹤您曾下達的指令,以作為除錯的工具!但如此一來也有個煩惱,就是假如被駭客入侵了,那麼他只要翻您曾經執行過的指令,剛好您的指令又跟系統有關(例如直接輸入 MySQL 的密碼在指令列上面)那麼很容易就被破解您的 Linux 主機!所以,最好是將記錄的指令數目減小一點較好!
- 檔案比對補全功能(比對資料正確性):
這個功能也相當的棒!主要分為指令補全與檔案名稱補全:
- 指令補全:假如在執行命令的時候不想按下太多的按鍵,例如指令 pcprofiledump 夠長吧!好了,那麼假如您輸入了 pcprofile 之後,再按下 [Tab] 按鍵的話,那麼 bash 馬上會自動的將後面的 dump 接上來!那假如有重複的指令呢?那麼按下兩次 [Tab] 將會把任何重複的指令給他列出來囉!那麼就有個特别的案例啦,就是『直接在提示字元後面連按兩次 <tab> 鍵,則系統會將任何能够使用的指令都列出來!』那麼假如我想要知道现在系統裡面,所以 b 開頭的指令呢?呵呵!就是按下 b 之後,連按兩次 <tab> 就能够知道啦!
- 檔案名稱補全:此外,假如您用 vi 來讀取某個檔案時,例如 /etc/man.config 這個檔案好了,那麼您能够輸入 vi /etc/man. 之後,直接按下 <tab> 按鍵,那麼該檔案名稱就會被自動的補齊囉!呵呵!很方便,而且對於檔案名稱或指令名稱的正確性上面,幫助還蠻大的吧!是的!真的是很方便的功能,所以,有事沒事,在 bash shell 底下,多按幾次 <tab> 是一個不錯的習慣啦!
- 命令別名(alias)設定功能:
假如我需要知道這個目錄底下的任何檔案(包含隱藏檔)及任何的檔案屬性,那麼我就必須要下達 ls -al 這樣的指令列,唉!真麻煩,有沒有更快的取代方式?呵呵!就使用命令別名呀!例如我最喜歡直接以 lm 這個自訂的命令來取代上面的命令,也就是說, lm 會等於 ls -al 這樣的一個功能,嘿!那麼要如何作呢?就使用 alias 即可!您能够在指令列輸入 alias 就能够知道现在的命令別名有哪些了!也能够直接下達命令來設定別名呦:alias lm='ls -al'
- 工作控制(jobs)、前景背景控制:
這部分我們在之後的資源管理章節中會再提及!使用前、背景的控制能够讓工作進行的更為順利!至於工作控制(jobs)的用途則更廣,能够讓我們隨時將工作丟到背景中執行!而不怕不小心使用了 [Ctrl] C 來停掉該程式!真是好樣的!此外,也能够在單一登入的環境中,達到多工的目的呢!
- Shell scripts 的強大功能:
在 DOS 年代還記得將一堆指令寫在一起的所謂的『批次檔』吧?在 Linux 底下的 shell scripts 則發揮的更為強大的功能,能够將您日常生活當中常需要下達的連續指令寫成一個檔案,該檔案並且能够透過對談互動式的方式來進行主機的偵測工作!也能够藉由 shell 提供的環境變數及相關指令來進行設計,哇!整個設計下來幾乎就是一個小型的程式語言了!該 scripts 的功能真的是超乎我的想像之外!以前在 DOS 底下需要程式語言才能寫的東西,在 Linux 底下使用簡單的 shell scripts 就能够幫您達成了!真的利害!!這部分我們在後續章節再來談!文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
BASH Shell ~~!
来源:互联网
作者:west263.com
时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
没有多少时间看,今天有些忙,先大概看了一下内容,没打算放东西上来。还是不够完整..先了解一下好了.....
热点关注
- 快速学习如何搭建一个赚钱
- 什么是CPA、CPC、CPM、CPO
- 论文:Web安全对策研究
- 新手站长35天自学引路
- 站长资讯网第二版上线
- 网络营销网站功能设计的几
- 女站长的建站理财文章
- 也谈域名备案 -- 撤销已存
- 自己动手做网站 个人站长
- 对第一次做网站的朋友说些
- 传统网站逼得Web2.0没法活
- 被K过的域名如何被百度重
- 如何选择理想IDC服务商十
- 技巧:Vimdiff 使用
- 网络创业经历 靠卖域名来
- 如何提高网站流量之小节
- 王晨昀:个人网站为什么要
- 企业开展网络营销存在的误
- 一个失败者谈地方门户的运
- 域名注册与虚拟主机的选购
- SEO360的搜索引擎优化推广
- 网站运营与网络运营的一字
- 做网站要做出自己的个性—
- 中国网站内容不可逾越的三
- 如何将新网及商务中国的域
- 08年,个人站长赚钱将更加
- 保证能增加RSS订阅量的35
- 企业网站英文版制作几个关
- 龚文祥:互联网运营关键词
- 我的行业垃圾站
- 2008最新申请Google adsen
- 虚拟主机的陷阱
- 网站建设发展的几点中肯建
- 企业如何安全高效使用垃圾
- 计算机文件夹删除不掉怎么
IDC资讯
虚拟主机
域名注册
托管租用
vps主机
智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD



