網站地圖 | RSS訂閱 老鐵博客 - 上海SEO優化|上海網站建設|蜘蛛池出租|站群代搭建
你的位置:首頁 ? 前端腳本 ? 正文

shell命令大全,100個必會的shell腳本

2020-7-16 14:1:46 | 作者:老鐵SEO | 0個評論 | 人瀏覽

  SHELL命令從廣義上來說只是一個概念.


  實際上所有在命令行中調用一個程序執行,


  都可以稱為執行一個命令.


  從這個角度來說,shell命令是無窮無盡的,


  你完全可以自己寫一個程序,然后稱它為命令.


  要注意理解實用程序和命令這兩個概念.


  shell還有一些內置命令,比如echo


  這些你可以查看一下man手冊,很詳細的.


  Linux主要shell命令詳解


  shell中的特殊字符


  shell中除使用普通字符外,還可以使用一些具有特殊含義和功能的特殊字符。在使用它們時應注意其特殊的含義和作用范圍。下面分別對這些特殊字符加以介紹。


  1.通配符


  通配符用于模式匹配,如文件名匹配、路經名搜索、字符串查找等。常用的通配符有*、?和括在方括號[]中的字符序列。用戶可以在作為命令參數的文件名中包含這些通配符,構成一個所謂的“模式串”,在執行過程中進行模式匹配。


  *代表任何字符串(長度可以不等),例如:“f*”匹配以f打頭的任意字符串。但應注意,文件名前的圓點(.)和路經名中的斜線(/)必須顯式匹配。例如“*”不能匹配.file,而“.*”才可以匹配.file。


  ?代表任何單個字符。


  []代表指定的一個字符范圍,只要文件名中[]位置處的字符在[]中指定的范圍之內,那么這個文件名就與這個模式串匹配。方括號中的字符范圍可以由直接給出的字符組成,也可以由表示限定范圍的起始字符、終止字符及中間的連字符(-)組成。例如,f[a-d]與f[abcd]的作用相同。Shell將把與命令行中指定的模式串相匹配的所有文件名都作為命令的參數,形成最終的命令,然后再執行這個命令。


  下面我們給出表10-1說明這些通配符的具體含義。


  表10-1通配符含義舉例


  模式串


  意義


  *


  當前目錄下所有文件的名稱。


  *Text*


  當前目錄下所有文件名中包含有Text的文件的名稱。


  [ab-dm]*


  當前目錄下所有以a、b、c、d、m開頭的文件的名稱。


  [ab-dm]?


  當前目錄下所有以a、b、c、d、m開頭且后面只跟有一個字符的文件的名稱。


  /usr/bin/??


  目錄/usr/bin下所有名稱為兩個字符的文件的名稱。


  特別需要注意的是,連字符“-”僅在方括號內有效,表示字符范圍,如在方括號外面就成為普通字符了。而*和?只在方括號外面是通配符,若出現在方括號之內,它們也失去通配符的能力,成為普通字符了。例如,模式“-a[*?]abc”中只有一對方括號是通配符,*和?均為普通字符,因此,它匹配的字符串只能是-a*abc和-a?abc。


  最后說明一下使用通配符時需要注意的一些問題。由于*、?和[]對于shell來說具有比較特殊的意義,因此在正常的文件名中不應出現這些字符。特別是在目錄名中不要出現它們,否則Shell匹配起來可能會無窮的遞歸下去。另外要注意的一點是:如果目錄中沒有與指定的模式串相匹配的文件名,那么Shell將使用此模式串本身作為參數傳給有關命令。這可能就是命令中出現特殊字符的原因所在。


  2.引號


  在shell中引號分為三種:單引號,雙引號和反引號。


  *單引號‘


  由單引號括起來的字符都作為普通字符出現。特殊字符用單引號括起來以后,也會失去原有意義,而只作為普通字符解釋。例如:


  $string=’$PATH’


  $echo$string


  $PATH


  $


  可見$保持了其本身的含義,作為普通字符出現。


  *雙引號“


  由雙引號括起來的字符,除$、、’、和”這幾個字符仍是特殊字符并保留其特殊功能外,其余字符仍作為普通字符對待。對于$來說,就是用其后指定的變量的值來代替這個變量和$;對于而言,是轉義字符,它告訴shell不要對其后面的那個字符進行特殊處理,只當作普通字符即可。可以想見,在雙引號中需要在前面加上的只有四個字符$,,’和”本身。而對”號,若其前面沒有加,則Shell會將它同前一個”號匹配。


  例如,我們假定PATH的值為.:/usr/bin:/bin,輸入如下命令:


  $TestString=”$PATH”$PATH”


  $echo$TestString


  .:/usr/bin:/bin”$PATH


  $


  讀者可以自己試一下在第二個雙引號之前不加會產生什么結果。


  *反引號`


  反引號(`)這個字符所對應的鍵一般位于鍵盤的左上角,不要將其同單引號(’)混淆。反引號括起來的字符串被shell解釋為命令行,在執行時,shell首先執行該命令行,并以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。例如:


  $pwd


  /home/xyz


  $string=”currentdirectoryis`pwd`”


  $echo$string


  currentdirectouris/home/xyz


  $


  shell執行echo命令時,首先執行`pwd`中的命令pwd,并將輸出結果/home/xyz取代`pwd`這部分,最后輸出替換后的整個結果。


  Linux常用指令有哪些啊


  詳解


  shell查找u的命令大全


  find


  grep


  awk


  sed


  看你要查找神馬,工具很多

  • 本文來自: 老鐵博客,轉載請保留出處!歡迎發表您的評論
  • 相關標簽:
  • 已有0位網友發表了一針見血的評論,你還等什么?

    必填

    選填

    記住我,下次回復時不用重新輸入個人信息

    必填,不填不讓過哦,嘻嘻。

    ◎歡迎參與討論,請在這里發表您的看法、交流您的觀點。

    相關推薦

    色情激情片日本大全