重定向和管道

1.Linux給程序提供三種I/O設備

標準輸入-0    默認接受來自鍵盤的輸入

標準輸出-1    默認輸出到終端窗口

標準錯誤-2    默認輸出到終端窗口

重定向和管道

dev下有個fd設備,打開的文件都有一個fdfile dexcriptor 文件描述符

I/O重定向:改變默認位置

 

2.把輸出和錯誤重新定向到文件

> 把正確輸出重定向出去

2> 把錯誤輸出重定向出去

>  2>&1 (把錯誤結果轉換成正確結果) &>  把所有輸出重定向到文件

重定向和管道

>  相當于touch 可以創建文件   echo abc > filename 此時>是覆蓋的意思

>>追加

>| filename 強制覆蓋

set -C禁止將內容覆蓋已有文件,但可以追加

set +c 允許覆蓋

&>把所有輸出重定向到文件

重定向和管道

():合并多個程序的輸出(注意命令之間用;來分隔)

 重定向和管道

3.tr  轉換和刪除字符

tr -s ” 多個中(重復的元素)取一個

重定向和管道

tr -d ” 刪除 tr -d abc < /etc/fstab  刪除fstab文件中所有abc

重定向和管道

tr -t ” 沒有轉換的對象就不轉換

重定向和管道

tr -c “取字符的補集(和t s結合使用)

tr -cs”

重定向和管道

tr -cd “反向刪除

重定向和管道

 

重定向和管道

 tr ‘1-9’ ‘a-j’ < test 這是將指定文件test中的‘1-9’改為‘a-j’   test中的內容不變

<輸入重定向



重定向和管道

abc轉換成edf后,后面沒有要轉換的東西,所以就不轉換了;當abc轉換成edf后,還要轉換d,但是沒有轉換的對象,此時轉換的對象應是上一個字母轉換的對象,所以將d轉換成f


對應的字符:

\NNN  用八進制值NNN字符(1到3八進制數字)

\\ 反斜杠

\b 退格

\n 新行

\r 回車

重定向和管道

 

重定向和管道

命令顯示的內容可以導入一個文件中

 

重定向和管道

-d和-s的效果  -d不保留回車   -s保留一個回車

 

重定向和管道

cat > listfile < filename 單純敲cat > listfile 就會等待你輸入 你可以手動輸入,也可以使用文件導入 在后面加< 跟個文件

 

重定向和管道 

<<后面跟的是終止詞(命令從鍵盤多行重導入), 敲入 cat > test << ?? 就會等待你輸入,當輸入??時,就會終止輸入,此時輸入完畢。


4.管道 | 將正確結果重定向給下一條命令

命令1 | 命令2 | 命令3….將命令1的輸出發送到命令2的輸入,再將命令2的輸出發送到命令3的輸入….

錯誤的輸出不能通過管道的發送,需要通過2>&1 | |& 來實現

2>&1 | |&  全部結果重定向

組合多種工具的功能

ls | tr ‘a-z’ ‘A-Z’

mail發郵件 echo 123456 | mail -s “nihao” magedu

ls -l /etc/passwd | less  一頁一頁的查看輸入

  

5.mail 發郵件

格式:mail -s  “nihao”  magedu    “nihao “是主題 magedu是你要發送郵件的對象

重定向和管道

敲完mail -s  “nihao”  magedu 就會讓你輸入發送郵件的內容  敲 .就可以結束輸入了   

mail -s “nihao”  magedu < /etc/passwd (很少使用 cat /etc/passwd | mail  -s “nihao”  magedu(大多數使用)這種格式是直接將文件導入,不用輸入

 

6.tee

格式:命令1 | tee [-a]filename | 命令2   把命令1顯示的內容保存在文件中,作為命令2的輸入

-a 是追加  若不加-a,當這個文件存在時就會覆蓋,文件不存在時,直接創建該文件并保存。若加-a,當文件存在時就會追加。

重定向和管道

 

本次博客的內容就到這里,歡迎大家指點。 

 

 

 

原創文章,作者:fuming,如若轉載,請注明出處:http://www.www58058.com/81894

(0)
fumingfuming
上一篇 2017-07-20
下一篇 2017-07-20

相關推薦

  • rsyslog, mysql, loganalyzer聯合實現

    一. rsyslog簡介 rsyslog是一個自由軟件, 是GPL的lincesed增強的syslogd. 它提供了Mysql和完全可配置的輸出格式的支持. 1. 日志信息格式:      <優先級>時間戳 主機名 模塊名/級別/信息摘要:內容      <priority>…

    Linux干貨 2016-10-24
  • Linux磁盤與文件系統管理

    Linux磁盤管理 硬盤的物理組成 柱面 硬盤與讀存數據相關的部件:圓形硬盤片(一或多個)、磁頭、機械臂。 硬盤片上有磁道,多個硬盤片上的同一磁道形成柱面,這個柱面就是分區時形成的最小單位,windows的C盤(系統盤)分區就是在最外層的一堆柱面上。 扇區 硬盤上的最小存儲單位叫扇區,每個扇區儲存512字節。在讀取數據的時候,硬盤會轉動,利用機械手臂將磁頭移…

    Linux干貨 2016-11-22
  • 九.Linux博客-2016年8月10日腳本、sed、vim

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

    Linux干貨 2016-08-24
  • Linux三劍客之sed

    sed 簡介 sed 工作原理 命令格式 常用選項: 地址定界: 編輯命令: 替換標記: sed元字符集(正則表達式) 高級編輯命令: sed用法實例 作業: 選定行的范圍:,(逗號) 刪除操作:d命令 顯示模式空間內容 追加(行下):a\命令 插入(行上):i\命令 退出:q命令 多點編輯:e命令 從文件讀入:r命令 寫入文件:w命令 替換操作:s命令 替…

    Linux干貨 2016-08-11
  • 好好學習 天天向上 先試試

    Linux干貨 2016-10-27
  • N22-第六周作業

    1、復制/etc/rc.d/init.d/functions文件至/tmp目錄,將/tmp/functions文件中 的以至少一個空白字符開頭的行的行首加# ~]# cp /etc/rc.d/init.d/functions /tmp~]# vim /tmp/functions %s@^[[:space:]]\+@#@g 2、復制/boot/grub/gru…

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