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 11:53
下一篇 2016-12-19 13:53

相關推薦

  • shell腳本編程之判斷語句

    一、單分支if語句     格式:if 判斷條件;then        statement1        statement2          …     &nb…

    Linux干貨 2016-01-01
  • vim編輯器使用介紹

    vim基礎

    2017-11-09
  • 8月3號 用戶權限作業

     1,當用戶xiaoming 對/testdir  目錄無執行權限時,意味著無法做哪些操作?   先創建目錄/testdir,接著修改目錄的/testdir的權限,用xiaoming的身份去進入/testdir目錄 [root@localhost ~]# mkdir /testdir [root@l…

    Linux干貨 2016-08-08
  • 學習新技術的10個建議

    我們生活在一個振奮人心的時代。我們可以越來越方便廉價地獲得大量學習資源。這些資源的傳播載體由最初的教室被變成了博客,技術論壇等。坐擁如此眾多的學習資源,我們沒有任何理由不去好好利用。隨之而來的問題便是如何在這知識的海洋中選擇自己的前進方向。在這篇文章中,我將簡要概括一些技術學習的建議,希望可以給你帶來一些啟發。 盡管我的建議主要涉及的是軟件開發方面,但是這些…

    Linux干貨 2015-03-20
  • linux正則表達式和vim的詳細解析!

    正則表達式: 元字符– [:upper:] 大寫 [:lower:] 小寫 [:digit:] 全數字 [:alpha:] 全字母 [:alnum:] 全字母數字 匹配次數– . 匹配任意單個字符 * 匹配前面字符任意次 \? 匹配前面字符0次或1次 \{n\} 匹配至少n次 \{m,m\} 匹配至少m次 最多n次 \{,n\} 匹配…

    Linux干貨 2017-04-09
  • 第7天:磁盤文件管理

    http://note.youdao.com/yws/public/redirect/share?id=57ab13d4749920de1fbb0d4953fcd21b&type=false

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