Shell script( 簡介)

什麼是shell
     shell是核心程序(kernel)之外的指令解析器,是一個程序,同時是一種命令語言和程序設計語言。
     shell的類型 ash  bash  ksh  csh  tcsh
      - /etc/shells
      -   echo $SHELL
     程序在shell中運行,shell中可運行子shell
 
存取權限和安全
      setuid(suid/guid) chmod u+s,g+s file
      chown 和chgrp(chown user file /chgrp group file)
      umask(umask nnn)
 
     ls -l :
          下面列出文件類型:
     -  普通文件
     d 目錄文件
      l   鏈接文件
      c  字符設備文件 一般放dev下
      p  命令管道文件
      b  塊設備文件    一般放dev下
      s  socket文件
 
      採用符號模式改變權限
      chmod [who] operator [permission] filename        
      who(u,g,o,a)
      operator(+,-,=)
       permission(r,w,x,s,t) [s:setuid   t:]
 
      採用數字絕對模式改變權限
      r-4 w-2 x-1
     chmod 644 myfile
     chown itlab.itlab hello -R
 
      umask 【在/etc/profile($HOME/.profile
               $HOME/.bash_profile】
      umask         文件     目錄
            0               6            7
            1               5            6
            2               4            5
            3               3            4
            4               2            3
            5               1            2
            6               0            1
            7               0            0
 
符號鏈接  ln -s  source-path darget-path
 
shell簡單腳本
     · 使用shell腳本的原因【功能強大,節約時間】
     · shell腳本基本元素
           #!/bin/bash  --第一行
           # --表示註釋
           變量
            流程控制結構
     #!/bin/bash
     # helloworld.sh
     a=helloworld
     echo   "This is my first shell script $a"
 
shell特性:
    · 別名                ·  管道
    · 命令替換          ·  重定向
    · 後臺處理          ·  模式匹配
    · 變量                ·  特殊字符
    
alias ll = 'ls -l'  我們可以從 cat  $HOME/.bashrc查看到alias
sort< myfile.txt>myfile_dort.txt
 
特殊字符:
    ·  雙引號(“):用來使shell無法認出空格、製表符和其他大多數特殊字符,這樣”David Medinets“表示一個值,而不是2個同樣”David< Medinets"表示一個值。
    ·  單引號(’):用來使shell無法認出所有特殊字符
    ·  反引號(`):用來替換命令
    ·  反斜槓(\):用來使shell無法認出氣候的特殊字符,使其後的支付失去了特殊的含義,如 David \ Medinets
    ·  分號(;):允許在一行上放多個命令
    ·  &:命令後臺執行
    ·  括號():創建成組的命令
    ·  大括號{}:創建命令塊
    ·  豎杆(|):管道表示符
    ·  <> :表示重定向
    ·  * ? [] !:表示模式匹配
    ·  $:變量名的開頭
    ·  #:表示註釋(第一行除外)
    ·  空格,製表符,換行符:當做空白
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章