當前位置:首頁 » 操作系統 » linux的管道符

linux的管道符

發布時間: 2023-07-11 02:11:23

linux系統符號說明

    01 系統特殊符號

    02 系統通配符號

    03 系統正則符號

    說明: 查詢信息的時候,會帶來便利

    1) 基礎符號系列

      $ 

      a 調取變數信息

      b 區分用戶類型  $ 普通用戶

      c 結合awk對文件進行取列  

    xargs -n 2 <test01.txt|awk '{print $2}'

  !

  a 強制的作用  wq!

  b 可以實現取反

awk '!/oldgirl/' test02.txt (排除oldgirl)

find /oldboy_dir/ ! -type f (排除文件)

  c !信息  可以快速調取執行歷史命令(慎用)

    cat ~/.bash_history  -- 記錄歷史命令信息, 但是不會實時記錄

history              -- 顯示所有輸入過的歷史命令

      |

  a 實現管道功能

    將前一個命令執行的結果交給管道後面的命令進行處理

一般管道符號 會經常和xargs命令配合使用

批量刪除操作

find /oldboy -type f -name "oldboy*.txt"|xargs rm

find /oldboy_dir/ -type f -delete

    find /oldboy_dir/ -type f -exec rm -f {} \;

    查找指定數據信息進行復制

    find /oldboy -type f -name "oldboy*.txt" |xargs -i cp {} /oldgirl/

    find /oldboy -type f -name "oldboy*.txt" |xargs cp -t /oldgirl/

    find /oldboy -type f -name "oldboy*.txt" -exec cp -a {} /oldgirl \;

查找指定數據信息進行移動

    find /oldboy -type f -name "oldboy*.txt" |xargs -i mv {} /oldgirl/

    find /oldboy -type f -name "oldboy*.txt" |xargs mv -t /oldgirl/

    find /oldboy -type f -name "oldboy*.txt" -exec mv {} /oldgirl \;

    xargs(火眼金睛)後面跟的命令,不識別別名信息

  #

    a 表示對配置文件信息進行注釋

    b 表示用戶的身份信息 超級管理員用戶

2) 引號符號系列

      "" 基本上和單引號功能類似 但是可以對一些特殊符號做出解析  $ `命令`==$(命令)

      '' 裡面編寫的什麼內容就輸出什麼內容  所見即所得

  作用:

  01. 指定需要輸出的信息

  02. 利用引號將空格分隔的信息匯總為一個整體

      ``($()) 將引號裡面命令執行結果,交給引號外面命令進行使用  

3) 重定向符號

  >/1>  標准輸出重定向符號

  >>/1>> 標准輸出追加重定向符號

  2> 錯誤輸出重定向符號

  2>> 錯誤輸出追加重定向符號

  <  標准輸入重定向符號

      tr xargs

  << 標准輸入追加重定向符號

4) 邏輯符號系列

  邏輯: 在完成一件事情的時候,有合理先後順序

  &&  前一個命令操作執行成功了,再操作執行後面的命令

  ||  前一個命令操作執行失敗了,再操作執行後面的命令

  mkdir /old_dir && echo "create dir sucess" || echo "create dir failed"

      create dir sucess

      mkdi /old_dir && echo "create dir sucess" || echo "create dir failed"

      -bash: mkdi: command not found

      create dir failed

    什麼通配符號: 用於匹配文件名稱信息, 便於快速查找文件信息 find

    *  匹配所有信息

      find /oldboy -type f -name "oldboy*"  ---以oldboy開頭的信息都查詢出來

  find /oldboy -type f -name "*oldboy"  ---以oldboy開頭的信息都查詢出來

  find /oldboy -type f -name "oldgirl*oldboy" 

                                          ---以oldgirl 開頭的信息

    以oldboy  結尾的信息都查詢出來

{} 產生序列信息

  連續序列:

    echo {01..05}

        echo {a..z}

        echo {A..Z}

  生成不連續序列

  a 有規律的不連續序列

echo {01..05..2}

        01 03 05

        echo {a..z..2}

      b 沒規律的不連續序列

echo {www,bbs,blog}

        www bbs blog

  生成組合序列

        echo {1,2}{a,b}

        1a 1b 2a 2b

        echo {1,2}{a,b}{A,B}

        1aA 1aB 1bA 1bB 2aA 2aB 2bA 2bB

    echo A{a,b}

        Aa Ab  

      A=oldboy.txt

      echo oldboy.txt{a,b}  

      oldboy.txta oldboy.txtb  

  echo A{,b}

      A Ab

  A=oldboy.txt

  b=.bak

  cp oldboy.txt{,.bak} == cp oldboy.txt oldboy.txt.bak

  快速備份文件命令

  cp oldboy.txt{,.bak}

  快速還原數據方法

  cp oldboy.txt{.bak,}

  echo A{B,}

      AB A

  oldboy.txt{.bak,} == cp oldboy.txt.bak oldboy.txt

    基礎正則符號:basic regular expression    (BRE)

擴展正則符號:extended regular expression (ERE)

基礎正則符號:

    a 尖角符號:^

      以什麼開頭的信息進行過濾出來

  grep -v "^#" nginx.conf.default >nginx.conf(對不需要關注的信息取反)

  常見錯誤

  find / -type f -name "^oldboy"  錯誤

  find / -type f -name "oldboy*"  正確

    b 美元符號:$

  以什麼結尾的信息進行過濾出來

  以m結尾信息, 並且顯示上1行 和 下2行的信息

      grep "m$" -A 2 -B 1 test.txt

      常見錯誤:

  如果過濾不出來,確認每行結尾是否有空格信息

  方法一:

  cat -A test.txt

  方法二

      vim 底行模式輸入命令 --- :set list

c 尖角美元符號:^$

      取出文件中空行信息

      grep "^$" test.txt

      grep -v "^$" test.txt

d 點符號: .

  表示匹配任意一個且只有一個字元

  grep "." test.txt  -o(更直觀的顯示過程)

e 星號符號: *

  匹配星號前面一個字元連續出現0次或多次

f 點和星號組合: .*

      匹配所有信息

  說明: 正則符號在匹配數據信息的時候具有貪婪特性

避免貪婪特性的方法,是在指定一行信息中唯一節點信息

g 轉譯符號: \

1) 將一些有意義的符號進行轉譯, 變為一個普通符號

grep "\.$" ~/oldboy_test.txt

2) 將一些沒有意義的符號進行轉譯,變為有意義符號

    \n  換行符號 linux

    3) 可以將擴展正則符號轉換成普通正則讓grep sed命令可以直接識別'

grep "o\?" test.txt

h 括弧符號:[]

  匹配括弧中每一個字元,並且匹配的關系是或者的關系

  需求: 找出文件中oldboy 和 oldbey兩個單詞信息

      grep "oldb[oe]y" test.txt

      企業應用: 找尋文件中字母 數字信息

      grep "[0-9a-zA-Z]" test.txt

i 尖號和中括弧組合使用 : [^]

  對中括弧裡面匹配的字元信息進行排除

  grep  "[^0-9a-zA-Z]" test.txt  --- 將字母數字都排除,只留下符號信息

  尖號和中括弧組合使用 : ^[]

  以中括弧裡面匹配的字元作為一行開頭的字元

      grep "^[zx]" test.txt

正則符號注意事項

按照每行信息進行過濾處理

注意正則表達符號禁止中文

附上顏色信息進行正則過濾 --color=auto/--color

基礎正則符號可以被三劍客命令直接識別 grep sed awk

擴展正則符號不可以被三劍客命令中老二和老三直接識別

sed命令想識別正則符號: sed -r

grep命令想識別正則符號: egrep / grep -E

    a 加號符號:+

    匹配加號前面一個字元連續出現1次或者多次

b 豎線符號:|

或者關系符號

egrep "oldboy|oldbey" test.txt

c 括弧符號:()

將多個字元信息進行匯總為一個整體

egrep "(oldboy)" test.txt

進行後向引用前向的一個操作(sed)

echo "123456"|sed -r "s#(..)(..)(..)#<\1><\2><\3>#g"

修改配置文件內容

sed -rn "s#(^S.*UX=).*#\1enforcing#gp" /etc/selinux/config

SELINUX=enforcing

d 括弧符號:{}

指定花擴號前一個字元連續匹配多少次

* 連續匹配 0 次 或 多次

+ 連續匹配 1 次 或 多次

    1) {n,m}  n表示最少連續匹配多少次  m表示最多連續匹配多少次

2) {n}  n表示只連續匹配n次

3) {n,}  n表示至少連續匹配n次,至多沒有限制

4) {,m}  m表示至多連續匹配n次,至少0次

e 問號符號:?

  表示匹配問號前面一個字元出現0次或者1次

❷ 16. Linux 管道符( 『|』 )

利用Linux所提供的管道符「|」將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。 連續使用管道意味著第一個命令的輸出會作為 第二個命令的輸入,第二個命令的輸出又會作為第三個命令的輸入,依此類推。下面來看看管道是如何在構造一條Linux命令中得到應用的。

注意:
1、管道命令只處理前一個命令正確輸出,不處理錯誤輸出。
2、管道命令右邊命令,必須能夠接收標准輸入流命令才行。

這條命令使用一個管道符「|」建立了一個管道。管道將rpm -qa命令的輸出(包括系統中所有安裝的RPM包)作為grep命令的輸入,從而列出帶有licq字元的RPM包來。

這條命令使用了兩個管道,利用第一個管道將cat命令(顯示passwd文件的內容)的輸出送給grep命令,grep命令找出含有「/bin /bash」的所有行;第二個管道將grep的輸出送給wc命令,wc命令統計出輸入中的行數。這個命令的功能在於找出系統中有多少個用戶使用bash。

區別是:
1、左邊的命令應該有標准輸出 | 右邊的命令應該接受標准輸入
左邊的命令應該有標准輸出 > 右邊只能是文件
左邊的命令應該需要標准輸入 < 右邊只能是文件
2、管道觸發兩個子進程執行"|"兩邊的程序;而重定向是在一個進程內執行
這些都是網上總結很多的,其實只要多加清楚用法,也一定有自己的一份不同描述。

❸ linux裡面什麼是管道符

題主你好,

首先,linux下的管道符使用"豎杠"表示:

|

它的作用是:

連接兩個命令,將第一個命令的輸出作為第二個命令的輸入.

形象一點的比喻:

管道符好比流水線上的傳送帶,比如,一個流水線是由兩步組成的,先由第一道工序將黃桃洗凈,然後通過傳送帶將洗凈的黃桃送到第二道工序裝罐,用管道的思維去處理這個過程就是:

清洗黃桃|裝罐

需要注意的是,其實每個過程都是由"動作+被作用對象"組成,也就是說,上面的例子其實是:

清洗黃桃

裝罐洗凈的黃桃

這兩步組成的,但由於管道符的使用,除了第一道工序需要"被作用對象"外,後面的工序使用的是管道符傳過來的"前一道工序處理過的對象".

舉例來說,使用ls和grep這兩個命令實現只輸出文件的詳細信息,不輸出目錄的詳細信息.正常情況下這倆半個命令的用法是:

ls選項路徑

grep模式文件流

而使用管道連在一起的寫法:

ls-l/root/ok/tmp|grep '^-'

*.在使用管道符的組合命令中,只有第一個命令需要"被作用對象"

希望對題主有幫助,歡迎追問

❹ Linux中的管道如何理解

簡單來說就是,一個命令的結果作為另外一個命令(結果)的輸入,管道是linux提供的一種常見的進程通信工具,也是很多shell命令能夠靈活組合產生強大用途的一個重要工具。
管道是Linux由Unix那裡繼承過來的進程間的通信機制,它是Unix早期的一個重要通信機制。其思想是,在內存中創建一個共享文件,從而使通信雙方利用這個共享文件來傳遞信息。由於這種方式具有單向傳遞數據的特點,所以這個作為傳遞消息的共享文件就叫做「管道」。
在管道的具體實現中,根據通信所使用的的文件是否具有名稱,有「匿名管道」和「命名管道」。

❺ Linux文本操作常用命令

在Linux系統里常用於文本查看、操作、統計的命令:

通過多敲鍵盤,形成手感 肌肉記憶 ,熟練掌握這些命令,在以後生信分析中游刃有餘。以下是每個命令的詳細的介紹(主要是跟著 生信技能樹小郭老師 學習做的筆記)

接下來通過示例把10個命令的常用參數和用法展示出來:

參數的用法介紹:

注意事項:

cat 命令可以 查看文本 ,也可以 編輯文本 ,編輯文本要加 > 符號,退出時,另起一行,按 control C 退出

zcat可以查看壓縮的文本文件,tac逆向查看

結合 管道符| 使用

head / tail -n :查看文件的前 / 後 n 行,默認 10 (在R語言里head和tail默認是前6行)。

less命令用得最多 ,more命令用得比較少

3.1 less命令

less [參數] 文件名

less命令重要的補充用法1

需要注意 退出 :只要使用less命令, 按q鍵

less命令重要的補充用法2

參數用法:

less命令 不加參數 查看文件:

less命令加 -N參數 查看文件:顯示行號

less命令加 -S參數 查看文件:單行顯示,非常規整

對比:less和cat命令顯示文本行號的用法:less -N,cat -n

3.2 more命令

**more ** 逐頁查看,按空格翻頁,按回車換行 ,more命令一般很少用,熟練掌握less命令就好

查看壓縮文件

wc 統計字元是也把換行符統計進去,但是別的命令不一定會把換行符算進去,。

常見參數:

切記:用less命令,按q退出

cut命令是按關鍵詞來切的

常見參數:

排列前:

排列後:

解釋:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。

命令行查看一個表格結構時,因為製表符對齊的原因,出現一個錯位的現象。還有 字典排序 可能和我們平時的認知不一樣,所以 加上-n參數 讓數值有數學意義上的大小來排序

uniq命令去重,只有兩行出現重復,而且是相鄰的兩行,如果不相鄰,即使出現兩行一模一樣,不會去重。

uniq命令通常和sort命令搭配使用

換其它文件試試

總之,uniq命令使用時經常和sort一起

常見參數:

常見用法1:

paste file1 file2

-s :按行合並 演示

常見用法2 : paste - -

常見參數:

要養成一個好習慣,原始數據不要輕易修改,修改的東西另外保存,文本保存用> (重定向)或是 >>(追加)

1. less 查看 example.gtf ,然後管道符傳遞給 wc

2. 截取 example.gtf 9 列的內容

3. 在第2步的基礎上截取分號分割的第1列

4. 在第3步的基礎上排序、去重復並統計

5. 在第4步的基礎上,將空格替換成製表符

補充小知識

清屏 :control L

查看歷史(輸入過的)命令 :history

❻ linux命令中「|」符號是什麼意思

這個符號叫做管道符號。

❼ Linux 系統中「|」管道的作用是什麼

「|」是管道命令操作符,簡稱管道符。利用Linux所提供的管道符「|」將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。連續使用管道意味著第一個命令的輸出會作為 第二個命令的輸入,第二個命令的輸出又會作為第三個命令的輸入,依此類推。

它僅能處理經由前面一個指令傳出的正確輸出信息,也就是 standard output 的信息,對於 standard error 信息沒有直接處理能力。

用法示例:

ls -l | more

該命令列出當前目錄中的文檔,並把輸出送給more命令作為輸入,more命令分頁顯示文件列表。

熱點內容
小蟻攝像機如何雲存儲 發布:2025-03-17 09:42:42 瀏覽:815
如何修改自己的名字和密碼 發布:2025-03-17 09:32:20 瀏覽:787
寶馬3系槍灰色輪轂是哪個配置 發布:2025-03-17 09:28:17 瀏覽:513
鴻蒙系統退回安卓系統怎麼備份 發布:2025-03-17 09:14:33 瀏覽:614
資料庫服務公司 發布:2025-03-17 08:56:43 瀏覽:495
我的世界伺服器載入不了區塊 發布:2025-03-17 08:56:39 瀏覽:817
如何給無線路由器設置密碼 發布:2025-03-17 08:51:40 瀏覽:886
SQL閥 發布:2025-03-17 08:45:23 瀏覽:162
ipadpro第一代什麼配置 發布:2025-03-17 08:44:38 瀏覽:198
linuxjava進程查看 發布:2025-03-17 08:29:19 瀏覽:969