shell:腳本基礎知識02

shell:腳本基礎知識

1. shell程序在運維工作中的作用地位

  • shell腳本很擅長處理純文本類型的數據,而在linux中幾乎所有的配置文件、日誌文件(如nfs,rsync,httpd,nginx,lvs)等都是純文本類型的文件,因此,如果學好shell腳本語言,就可以利用它在linux系統中發揮巨大的作用。

##2. 腳本語言的種類

  • 在unix/linux中主要有兩大類shell
  • Bourne shell(包括sh,ksh,and bash)

    Bourne shell(sh)
    korn  shell  (ksh)
    Bourne  Again shell(bash)
    Posix shell (sh)
  • C shell (包括csh and tcsh)

    C shell     (csh)
    tenex/tops C shell      (tcsh)
  • shell腳本語言是弱類型語言,較爲通用的shell有標準的Bourne shell(sh) 和 c shell(csh)。其中bourne shell(sh)已經被bash shell 取代。
    ##3. 其他運維或開發人員常用腳本語言
  • php

    • php是網頁程序,也是腳本語言,更專注於web頁面開發,例如:dedecms,discuz。
    • 也可以處理系統日誌,配置文件等。
  • perl

    • perl腳本語言。比shell強大的多,前幾年2010年前很火,語法靈活、複雜,實現方式很多,不易讀,團隊協作困難。
  • python

    • 可以做腳本開發,也可以實現web開發。中等以上的公司都要求會python,
      ##4. shell與php/perl/python語言的區別和優勢
  • shell的優勢在於處理操作系統底層的業務,因爲有大量的系統命令爲它做支撐,2000多個命令都是shell編程的有力支撐,特別是grep,awk,sed等。例如:一鍵軟件安裝,優化,監控報警腳本,常規的業務應用,shell開發更簡單快速,符合運維的大原則。

  • php,python優勢在於開發運維工具,web界面的管理工具,以及web業務的開發等。處理一鍵軟件安裝、優化。報警腳本,常規的業務應用等php/python也是能夠做到的,但是開發效率和複雜度要比用shell就差很多了。我們使用軟件就是要根據業務需求來選擇,揚長避短。
    ##5. 常用操作系統的默認shell
    linux是 Bournc Again shell(bash)
    Solaris和freeBSD缺省的是Bourne shell(sh)
    aix下是korn shell (ksh)
    HP-UX缺省的是poslx shell (sh)
    提示:這裏我們將重點講linux系統環境下的Bourne Again shell

##6. 企業考試題一例:centos linux系統默認的shell是()
[root@1-241 scripts]# echo $SHELL
/bin/bash
[root@1-241 scripts]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章