bash的基本特性之globbing,IO重定向及管道

bash的基本特性之globbing,IO重定向及管道

giobbing:文件名通配

在bash的操作環境中有一個分廠有用的功能那就是gilobbing:文件名通配,這樣我們在處理數據的時候就更方便了。下面我們來羅列一些常用的通配符。(注:globbing是做整體的文件名匹配而非部分)

匹配模式:元字符
*:表示匹配任意長度的任意字符
    例:a* 表示a后面任意長度任意字符
        a*b 表示a和b中間夾帶任意長度的任意字符
?:表示匹配任意的單個字符
    例:a? 表示a后面只能跟單個的任意字符
        a?b 表示a和b之間只有一個單個字符
[]:表示指定范圍的任意單個字符或者字符集
    例:[a-z]:表示小寫的a到z中任意單個字符
        [A-Z]:表示大寫
        [0-9]:
        [a-z0-9]:表示小寫字母或者數字
    [[:upper:]]:表示所有的大寫字母
    [[:lower:]]:表示所有的小寫字母
    [[:alpha:]]:表示所有字母
    [[:digit:]]:表示所有數字
    [[:alnum:]]:表示所有的字母和數字
    [[:space:]]:表示空白字符
    [[:punct:]]:所有標點符號
[^]:匹配指定范圍之外的任意單個字符
    例:[^[:lower:]]:表示匹配小寫字母之外的任意單個字符
    例:[^0-9]:表示匹配數字之外的字符

練習:找出/etc/下以cron開頭的文件

ll -d /etc/cron*   -d是為了只顯示目錄

找出/etc/下面文件名剛好是五個字符的文件 ll -d /etc/?????

IO重定向

說道IO重定向就不得不說說命令的執行結果,一般用戶執行一個命令之后這個命令會從文件中讀入數據然后將處理過的數據輸出默認到屏幕上,而IO重定向就是將本來要輸出到屏幕上的數據流重新指定一個輸出位置。而輸入也是同理

計算機上可用于輸入的設備:鍵盤設備,文件系統上的常規文件,網卡等

可用于輸出的設備:顯示器,文件系統上的常規文件,網卡等

程序在執行正確之后所傳出來的數據流我們叫做標準輸出,而執行失敗之后傳輸出來的錯誤信息叫做錯誤輸出,所以程序的數據流有三種

輸入的數據流<–標準輸入 輸出的數據流–>標準輸出 錯誤的輸出流–>錯誤輸出

這里的輸入輸出我們會給予一個文件描述符

標準輸入(stdin):代碼為0 使用 <或<<
標準輸出(stdout):代碼為1 使用>或>>
錯誤輸出(stderr):代碼為2 使用2>或2>>

輸出重定向:>

特性:覆蓋輸出 會覆蓋原文件內容

輸出重定向:>>

特性:追加輸出 不會覆蓋原文件內容 只會在文件尾部追加

set -C 可以禁止輸出重定向至已存在文件

此時可以使用強制覆蓋輸出:>|

set +C 可以關閉上述特性

錯誤輸出流重定向:2>,2>>

特性同上

合并標準輸出流和錯誤輸出流:&>,&>>

COMMADN > /path/to/somefile 2>&1

輸入重定向:<

這里我們要給大家講一個/etc/下比較特殊的兩設備個文件

/dev/null 數據黑洞

/dev/zero 吐零機 可以無限輸出0

管道

連接程序,實現將前一個命令的輸出直接定向后一個程序當作輸入數據流

COMMAND1 | COMMAND2 | COMMAND3

linux的基本命令

tr:轉換或者刪除字符
    tr [OPTION]... SET1 [SET2]
    把輸入的數據當中的字符,凡是在SET1定義范圍內出現的,通通對位轉換為SET2出現的字符

原創文章,作者:N24-執念,如若轉載,請注明出處:http://www.www58058.com/64169

(0)
N24-執念N24-執念
上一篇 2016-12-19
下一篇 2016-12-19

相關推薦

  • 文件壓縮與歸檔工具

          1、compress/uncompress  .Z 格式                 ? compress [-d…

    Linux干貨 2016-08-22
  • 計算機的發展及組成

    計算機發展 計算機(Computer):俗稱電腦,是一種能接收和存儲信息,并按照存儲在其內部的程序對海量數據進行自動、高速地處理,然后把處理結果輸出的現代化智能電子設備。 1946年,世界上誕生了第一臺計算機,用于軍事,計算彈道。 1946年數學家馮.諾依曼提出馮諾依曼體系結構,即所有計算機由運算器、控制器、存儲器、輸入設備、輸出設備組成,所有遵循馮.諾依曼…

    Linux干貨 2017-07-13
  • 筆記整理:權限管理2-特殊權限(sst)和隱藏屬性

    特殊權限 進程訪問文件時的權限,取決于進程的發起者和其所在的屬組。還有其他權限,包括SST(Suid【可以更改進程發起者】,Sgid【可以更改進程發起者屬組】,Sticky) 查詢SUID/SGID文件   find / -perm +6000 SUID 使用特點 SUID只能作用在二進制文件上。 執行者需要對該文件具有可執行權限 只在程序運行過程…

    Linux干貨 2016-08-05
  • 排錯

    把/etc/inittab  模式改為6模式 怎么修復 1 先把 vim /etc/inittab 打開 2 把/etc/inittab 模式改為6 3 reboot 4 在倒計時完之前按任意鍵 5按A進入 6 在quiet  命令后面寫入 3  模式 重啟 7把 vim /etc/inittab 打開 8 把/etc…

    Linux干貨 2017-05-15
  • 玩轉Nginx之一:基礎概念

    Nginx web服務器:http協議 http協議:html,MIME(多用途互聯網郵件拓展) major/minor text/html,text/plain,image/jpeg web資源:URL(scheme://server:port/path/to/source) 方法:GET,HEAD(相應首部)讀取資源 POST提交表單 PUT上傳數據 D…

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

    摘要:Linux無處不在的存在于我們的周圍,家庭、公司、學校等等。現在的Linux已經從最初示很少的一段代碼,發展成全世界應用范圍最廣的操作系統。本文將為大家展現Linux的發展史。 一、Linux的是什么       Linux是一套可以免費使用和自由傳播的類Unix操作系統操作系統,是一個基于POSIX和UNIX的多用戶、多…

    Linux干貨 2016-10-18
欧美性久久久久