Shell之基本用法


一:shell簡介

1.什么是shell

  shell的中文意思是“外殼”,通俗地講,shell是一個交互編程接口,通過獲得用戶輸入來驅動操作系統內核完成指定工作。shell除了作為命令解釋程序以外,還是一種高級程序設計語音,它有變量、關鍵字、有各種控制語句、支持函數模塊,有自己的語法結構。shell最重要的功能是命令解釋,從這種意義上說,shell是一個命令解釋器。

2.Linux系統上可執行的文件分類如下:

  Linux命令:存放在/bin,/sbin目錄下的命令

  內置命令:出於效率的考慮,將一些常用命令的解釋程序構造在shell內部

  實用程序:存放在/usr/bin,/usr/sbin,/usr/local/bin等目錄下的實用程序或工具

  用戶程序:用戶程序經過編譯生成可執行文件后,也可作為shell命令運行

  shell腳本:由shell語音編寫的批處理文件

二:shell變量

1.變量命名規則

  以字母或下划線開頭,剩下的部分可以是:字母、數字、下划線

  最好遵循下述規范:

    1)以字母開頭

    2)使用中划線或者下划線做單詞的連接

    3)同類型的用數字區分

    4)對於文件最好加上拓展名

    例如:aa、aa1、a_b.tar.gz

2.系統變量

  set和env區別:set:顯示所有變量,env:環境變量

3.變量賦值

  name=shenbuer

  echo $name

  刪除變量  unset name

(shell變量為小寫;環境變量為大寫)

4.常用系統變量

  PATH:命令的搜索路徑

  PWD:顯示整個路徑名

  LANG:解壓或釋放程序

  HOME:用戶根目錄的路徑名

  HISTSIZE:保存在歷史列表中的最大項數

  PS1:提示符1,主提示符(默認為“\s-\v\$”)

  IFS:內部字段分隔符,用於分詞

三、運算符

1.算術運算符

  +、-、*、/、%

2、關系操作

  與(())連用

  <   小於

  >   大於

  <=  小於等於

  >=  大於等於

  ==  等於

  !=   不等於

  &&  按位與

  ||   按位或

3.賦值運算符

  =    等於賦值

  +=  加等於

  *=   乘等於

  /+    除等於

  %=   取模賦值

四、元字符

  `` 命令替換 取命令的執行結果

  $()同上,但它彌補了``的嵌套缺陷

  ~ 家目錄

  ! 取非

  ! 歷史命令調用

  ! 匹配最近一次歷史命令

  ! ls 帶空格 將命令的返回值取反

  @ 無特殊含義

  # 注釋

  $ 變量取值

  $() 同``
  ${} 變量名的范圍

  $[] 整數計算 echo $[2+3] - * / % 浮點數用 echo "scale=3; 10/3" | bc -l

  % 殺后台進程 jobs號; 取模

  ^ 取非 和 ! 雷同

  ^ 替換

  & 后台執行;&& 邏輯與

  * 匹配任意長度字符串;計算乘法

  () 在子進程中執行

  - 減號;區間;cd -;

  _ 無特殊含義

  + 加號 ;

  = 賦值

  | 管道; || 邏輯或

  \ 轉義;

  {} 命令列表 ,注意括號內的開頭和結尾必須是空格{    ls; cd /;   }

  [] 字符通配,匹配括號內之一;

  : 空命令 真值

  ; 可以接多個命令:ls;pwd;echo 123;無論對錯,會一直執行到最后一條命令

  "" 軟引 ''硬引

  < 輸入重定向

  > 輸出重定向

  >> 追加

  << here document

  >& 合並2和1輸出

  , 枚舉分隔符

  . source ; 當前目錄

  / 目錄分隔符

  ? 單個字符

  回車 命令執行

  * 通配符:任意字符
  ? 通配符:任一字符
  [abc] 列表項之一
  [^abc] 對列表取非 也可以使用范圍 [a-z] 代表aAbBcC...,[0-9]代表012345。。。
  {} 循環列表

  控制變量名的范圍 echo ${AB}C

  \轉意

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM