linux下通配符和一些特殊符號

通配符 wildcard

通配符是由shell處理的(不是由所涉及到命令語句處理的,其實我們在shell各個命令中也沒有發現有這些通配符介紹), 它只會出現在 命令的“參數”里(它不用在 命令名稱里, 也不用在 操作符上)。當shell在“參數”中遇到了通配符時,shell會將其當作路徑或文件名去在磁盤上搜尋可能的匹配:若符合要求的匹配存在,則進行代換(路徑擴展);否則就將該通配符作為一個普通字符傳遞給“命令”,然后再由命令進行處理??傊?,通配符 實際上就是一種shell實現的路徑擴展功能。在 通配符被處理后, shell會先完成該命令的重組,然后再繼續處理重組后的命令,直至執行該命令。

★ * 代表0個到無窮多個任意字符,a*b ? a與b之間可以有任意長度的任意字符,也可以一個也沒有,如aggb,a–b,a789b,ab

★?代表一定有一個任意字符,a?b ? a與b之間必須也只能有一個字符,但只能有一個字符,可以是任意字符,如aab,a-b,abb,

★[] 代表一定有一個在中括號之內的字符(非任意字符)。例如a[xyz]b,a與b之間必須也只能有一個字符,但只能是x或y或z,如axb,ayb,azb。

★[-] 有-號在中括號內,代表在編碼順序內的任意單一字符,[0-9]代表0-9內的所有數字中的單一字符,a[0-9]b,a與b之間必須也只能有一個字符,如a0b,a2b, ?a9b

★[^]中括號內有^字符,代表非括號內的其他字符,[^abc] 表示一定有一個字符,只要是非a,b,c就可以接受

★[!]同上

★{string1,string2,……}匹配string1或者string2……其一的字符串,a{abc,xyz,123}b,ab之間只能是abc,xyz,123,其中之一。

bash環境中的特殊符號

◆#批注符號,這個被使用在script當中,視為說明,其后的數據均不執行。

◆\轉義符號,將“特殊字符或者通配符”還原成一般字符。

◆|管道,分隔兩個管道命令的界定

◆$使用變量前導符,/目錄符號,路徑分隔的符號

◆!邏輯運算意義上的非

◆> ?>> ?數據流重定向,輸出導向stdout,

◆< ?<< 數據流重定向,輸入導向stdin,

◆‘ ’ ? ?單引號,不具有變量的置換功能

◆?“ ” ? 雙引號,具有變量置換的功能

◆` ` ? 中間為可以先執行的命令 ?也可以使用$()

◆; 在前一個命令結束時,忽略其返回值,繼續執行下一個命令

◆&& 短路或,在前一個命令結束時,若返回值為ture,繼續執行下一個命令

◆|| ? 短路與,在前一個命令結束時,若返回值為false,繼續執行下一個命令

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88886

(1)
sunchunjiangsunchunjiang
上一篇 2017-11-26 11:56
下一篇 2017-11-26 15:29

相關推薦

  • SELinux介紹

    SELinux介紹 SELinux: Secure Enhanced Linux, 是美國國家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)開發的 Linux的一個強制訪問控制的安全模塊。 2000年以GNU GPL發布, Linux內核2.6版本后集成在內核中D…

    Linux干貨 2016-10-08
  • Linux發展史

    1、Linux是什么     Linux 是一套 Unix-like 的作業系統,是 Unix 的一種,它控制整個系統基本服務的核心程式 (kernel) 是由 Linus 帶頭開發出來的,「Linux」這個名稱便是以「Linus's Minix」來命名,Linus 選擇用「大眾公有版權」 (GPL)的方式來發行這份程…

    Linux干貨 2016-10-19
  • vim、crontab、bash for循環練習

    1、復制/etc/rc.d/init.d/functions文件至/tmp目錄,將/tmp/functions文件中的以至少一個空白字符開頭的行的行首加#。 vim中支持全文查找替換功能且在查找時支持正則表達式,在替換時進行引用。先使用vim /tmp/functions,然后在vim編輯模式中輸入:%s/\(^[[:space:]]\+\)/#\1/g再回…

    系統運維 2016-12-03
  • Linux文件管理命令

    2018-03-11

    2018-03-11
  • 詳解LVM邏輯卷

       LVM邏輯卷管理 當os6中partprobe 命令不能同步分區完的分區信息,及用ll /dev/sd*、cat /proc/partation、lsblk看的設備分區內容和用fdisk -l 看到的信息不同步 所以用partx -a 設備名或者用partx -a –nr 分區號 設備名 其中表示n是設備名,r 是ran…

    Linux干貨 2016-08-29
  • 八.Linux博客-2016年8月8日sed、vim

    格式說明: 操作 概念 命令 說明及舉例 八.sed、vim sed 文本編輯工具 行編輯器,每次取出一行在內存里處理,處理完成后屏幕打印。完成后再取出一行放到內存里處理,覆蓋原來內存中的行,循環。。 sed -n '3d' f1 把文件f1中的第三行刪掉并不在屏幕上顯示 sed -n&n…

    Linux干貨 2016-08-24
欧美性久久久久