成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux Bash Shell管線命令

運維 系統運維
Linux Bash Shell管線命令與『連續下達命令』是不一樣的呦!這點底下我們會再說明。底下我們先舉一個例子來說明一下簡單的管線命令。

就如同前面所說的, bash 命令執行的時候有輸出的資料會出現!那么如果這群資料必需要經過幾道手續之后才能得到我們所想要的格式,應該如何來設定?這就牽涉到管線命令的問題了( pipe ),管線命令使用的是『 | 』這個界定符號!另外,管線命令與『連續下達命令』是不一樣的呦!這點底下我們會再說明。底下我們先舉一個例子來說明一下簡單的Linux Bash Shell管線命令。

假設我們要讀取 last 這個指令中,那個 root 登入的『次數』應該怎么作?注意呦!我們只需要『次數』。那么我所進行的步驟是:
1. 執行 last ,將所有這個月的所有人登入資料取出來;
2. 使用 grep 將上面的輸出資料(stdout)當中的 root 擷取出來,其他的不要;
3. 使用 wc 這個可以計算行數的指令將上一步的資料計算行數!
由于 last 的輸出是一行代表一次登入,所以只要計算幾行就代表登入幾次的意思,所以啰!經由上面三個步驟,將 last 資料逐步的篩選,就可以得到我們的資料了!整個命令可以寫成如下:
[test @test bin]# last [test @test bin]# last | grep root [test @test bin]# last | grep root | wc -l
你可以分別執行『 last 』然后再逐步增加為『 last | grep root 』,***到上面那一行,那么就馬上可以清楚的知道為何會這么做啰!
底下我們來談一談一些基本的Linux Bash Shell管線命令指令介紹:
· cut
語法:
[root @test /root ]# cut -d "分隔字元" [-cf] fields 參數說明: -d :后面接的是用來分隔的字元,預設是『空白字元』 -c :后面接的是『第幾個字元』 -f :后面接的是第幾個區塊? 范例: [root @test /root]# cat /etc/passwd | cut -d ":" -f 1 <==將 passwd 這個檔案里面,每一行里頭的 : 用來作為分隔號, 而列出***個區塊!也就是姓名所在啦! [root @test /root]# last | cut -d " " -f1 <==以空白字元為分隔,并列出***個區間! [root @test /root]# last | cut -c1-20<==將 last 之后的資料,每一行的 1-20 個字元取出來!
· 說明:
這個 cut 實在很好用!不過,說真的,除非你常常在分析 log 檔案,否則使用到 cut 的機會并不多!好了! cut 主要的用途在于將『同一行里面的資料進行分解!』,最常使用在分析一些數據或文字資料的時候!這是因為有時候我們會以某些字元當作分割的參數,然后來將資料加以切割,以取得我們所需要的資料。我也很常使用這個功能呢!尤其是在分析 log 檔案的時候,跟 awk 也是很常用的!
· sort
語法:
[root @test /root ]# sort [-t 分隔符號] [(+起始)(-結束)] [-nru] 參數說明: -t 分隔符號:使用分隔符號來隔開不同區間,預設是 tab +start -end:由第 start 區間排序到 end 區間 -n:使用『純數字』排序(否則就會以文字型態來排序) -r :反向排序 -u :相同出現的一行,只列出一次! 范例: [root @test /root]# cat /etc/passwd | sort <==將列出來的個人帳號排序! [root @test /root]# cat /etc/passwd | sort -t: +2n <==將個人帳號中,以使用者 ID 來排序(以 : 來分隔,第三個為 ID ,但***個代號為 0 之故) [root @test /root]# cat /etc/passwd | sort -t: +2nr  <==反相排序啰!
· 說明:
sort 同樣是很常用的指令呢!因為我們常常需要比較一些資訊啦!舉個上面的第二個例子來說好了!今天假設你有很多的帳號,而且你想要知道***的使用者 ID 目前到哪一號了!呵呵!使用 sort 一下子就可以知道答案咯!當然其使用還不止此啦!有空的話不妨玩一玩!
· wc
語法:
[root @test /root ]# wc [-lmw] 參數說明: -l  :多少行 -m  :多少字元 -w  :多少字? 范例: [root @test /root]# cat /etc/passwd | wc -l  <==這個檔案里頭有多少行? [root @test /root]# cat /etc/passwd | wc -w  <==這個檔案里頭有多少字!?
· 說明:
wc 也可以當作指令?呵呵!這可不是上洗手間的 WC 呢!這是相當有用的計算檔案內容的一個工具組喔!舉個例子來說,當你要知道目前你的帳號檔案中有多少個帳號時,就使用上面的 wc -l 啦!因為 /etc/passwd 里頭一行代表一個使用者呀!所以知道行數就曉得有多少的帳號在里頭了!而如果要計算一個檔案里頭有多少個字元時,呵呵!就使用 wc -w 這個參數吧!
o uniq
語法:
[root @test /root ]# uniq 參數說明: 范例: [root @test /root]# last | cut -d" " -f1 | sort | uniq
o 說明:
這個指令用來將『重復的行刪除掉只顯示一個』,舉個例子來說,你要知道這個月份登入你主機的使用者有誰,而不在乎他的登入次數,那么就使用上面的范例, (1)先將所有的資料列出;(2)再將人名獨立出來;(3)經過排序;(4)只顯示一個!由于這個指令是在將重復的東西減少,所以當然需要『配合排序過的檔案』來處理啰!例如我們偵測 Nimda 病毒的時候會用到的這個小指令即是!基本上,這個小程式可以讓大家很清楚的知道命令重導向與管線處理的用途啰!
o tee
語法:
[root @test /root ]# last | tee last.list | cut -d " " -f1 參數說明: 范例: [root @test /root]# last | tee last.list | cut -d " " -f1
o 說明:
有沒有發現在Linux Bash Shell命令重導向的時候,如果我們要將資料送出到檔案的時候,螢幕上就不會出現任何的資料!那么如果我們需要將資料同時顯示在螢幕上跟檔案中呢?呵呵!這個時候就需要 tee 這個指令啰!使用 last 可以查看到這個月份的登入資料,而使用了 tee 之后,會將資料同時傳給下一個命令去執行,也會將資料寫入 last.list 這個檔案中!也是個好幫手!
o tr
語法:
[root @test /root ]# tr [-ds] SET1 參數說明: -d :刪除 SET1 這個字串 -s :取代掉重復的字元! 范例: [root @test /root]# last | tr '[a-z]' '[A-Z]' <==將小寫改成大寫 [root @test /root]# cat /etc/passwd | tr -d : <==嘿嘿! : 這個符號在 /etc/passwd 中不見了! [root @test /root]# cat /home/test/dostxt | tr -d '\r' > dostxt-noM  <==將 DOS 檔案的字尾符號 ^M 的符號去除!
o 說明:
其實這個指令也可以寫在『正規表示法』里頭!因為他也是由正規表示法的方式來取代資料的!以上面的例子來說,使用 [] 可以設定一串字呢!也常常用來取代檔案中的怪異符號!例如上面第三個例子當中,可以去除 DOS 檔案留下來的 ^M 這個斷行的符號!這東西相當的有用!相信處理 Linux & Windows 系統中的人們最麻煩的一件事就是這個事情啦!亦即是 DOS 底下會自動的在美行行尾加入 ^M 這個斷行符號!這個時候我們可以使用這個 tr 來將 ^M 去除! ^M 可以使用 \r 來代替之!
o split
語法:
[root @test /root ]# split [-bl] 輸入檔案 輸出檔案前導字元 參數說明: -b :以檔案 size 來分 -l :以行數來分 范例: [root @test /root]# split -l 5 /etc/passwd test  <==會產生 testaa, testab, testac... 等等的檔案
o 說明:
在 Windows 的情況下,你要將檔案分割需要如何作?!傷腦筋吧!呵呵!在 Linux 底下就簡單的多了!你要將檔案分割的話,那么就使用 -b size 來將一個分割的檔案限制其大小,如果是行數的話,那么就使用 -l line 來分割!好用的很!如此一來,你就可以輕易的將你的檔案分割成 floppy 的大小,方便你 copy 啰!
管線命令在 bash 的連續的處理程序中是相當重要的!另外,在 log file 的分析當中也是相當重要的一環,所以請特別留意!好嘛!?

【編輯推薦】

  1. Linux Bash命令關于程序調試詳解 
  2. Linux Bash命令關于快捷鍵應用
  3. Linux Bash Shell系統的應用詳解
  4. Linux Bash具體安裝步驟及使用介紹
  5. Linux Bash命令查詢相關事件詳解
     
責任編輯:chenqingxiang 來源: Linux社區
相關推薦

2010-06-23 17:37:14

Linux Bash

2010-06-23 16:31:10

Linux Bash

2010-06-23 17:29:07

Linux Bash

2010-06-23 17:16:33

Linux Bash

2009-12-25 09:47:05

LinuxShell編程bash

2010-06-23 16:09:40

Linux Bash

2010-06-23 16:35:50

Linux Bash

2010-06-23 10:03:18

Linux Bash命

2010-06-23 11:09:14

Linux Bash

2010-06-23 16:05:36

Linux Bash

2023-07-27 17:41:02

BashZshFish

2018-02-24 15:40:06

LinuxBashShell

2010-06-23 15:55:36

Linux Bash

2010-06-23 17:07:47

Linux Bash

2019-12-01 22:59:43

Linux shell命令進程

2012-01-18 09:46:32

Shell

2010-06-23 10:25:40

Linux Bash命

2010-06-23 14:37:57

Linux Bash命

2010-06-23 14:45:02

Linux Bash

2010-06-23 11:24:23

Linux Bash命
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产自产精品男人的天堂 | 男女下面一进一出网站 | 曰韩三级| 国内精品久久影院 | 91精品国产综合久久香蕉922 | 亚洲免费在线 | 欧美日本在线观看 | 337p日本欧洲亚洲大胆精蜜臀 | 一区二区三区视频在线观看 | 久久久www成人免费无遮挡大片 | 国产九九精品视频 | 亚洲综合视频 | 亚洲视频二区 | 九九在线精品视频 | www.99热这里只有精品 | 一级a性色生活片久久毛片波多野 | 91性高湖久久久久久久久_久久99 | 97人人澡人人爽91综合色 | 日本亚洲精品 | 国产精品久久久久久吹潮 | 日本三级网址 | 99re6在线 | 无码日韩精品一区二区免费 | 成人av在线播放 | 亚洲免费一区二区 | 天堂亚洲网 | 亚洲风情在线观看 | 视频一区在线观看 | 精品久久久久久亚洲精品 | 在线免费观看视频黄 | 91成人影院 | 精品久久网 | 天堂色| 国产精品观看 | 在线成人精品视频 | 中文字幕在线观看成人 | aaa级片| 黄色一级电影免费观看 | 91九色在线观看 | 色婷婷一区二区三区四区 | 成年人在线观看 |