學習標準I/O和管道的心得體會

重定向、標準輸出、標準輸入、標準錯誤、管道的命令整理

默認:0標準輸入 1標準輸出 2標準錯誤
默認是012 更改默認的就叫重定向

【重定向】
重定向最基礎的是標準輸出 讓他輸出到別的地方就可以
1
(標準輸出) >
1:原來ls 輸出到 tty /dev/pts/0 另一個窗口是/dev/pts/1 使用:
2:ls > /etc/pts/1 執行結果跑到另外一個窗口了

QQ截圖20171120192430

QQ截圖20171120192442

> 把標準輸出重定向到某一個文件/后面跟目的文件
> f1 創建一個空文件 實質上就是前面都是空定向到f1

QQ截圖20171120192621

 

tree -d /etc/ > /app/tree.log 把/ /的tree輸出到后續

QQ截圖20171120192831

> 兩個大于號 追加 不覆蓋 >>f1創建f1如果存在也不會覆蓋

QQ截圖20171120192953

`hostname` 主機名 `uname -r`內核

QQ截圖20171120193042
set -C 設置禁止覆蓋,可以追加

QQ截圖20171120193143
>| 強制覆蓋
set +C 又可以覆蓋

QQ截圖20171120193418

2
(標準錯誤) 2>
ls nofiel ?2> /app/f2

QQ截圖20171120193942

3 ?&> 錯誤對的 都放到一個文件里去
多個文件都想結果輸入到一個文件
( ls;pwe;hostname ) >> /app/f1 前面加括號
(errcmd;hostname )&> /app/f1

QQ截圖20171120194509
(errcmd;hostname )> /app/ture 2> /app/error

QQ截圖20171120195206
errcmd;hostname )> /app/ture 2>&1

QQ截圖20171120195339

/dev/null這個文件是空 不要的可以定向到他

QQ截圖20171120195522

(echo error 1>&2) > /dev/null 會輸出error
1>&2 會吧標準正常定義成標準錯誤輸出的命令
2>&1 把錯誤錯誤定義成標準正確輸出
&>>都支持累加

QQ截圖20171120195940

4 (標準輸入)tr

tr 1 a 把輸入的1 替換成a
tr 123 ab
位數不同 默認吧 23 都替換成b
tr -t 123 ab
-t 截斷 忽略3了
tr ‘1-9’ ‘a-i’

QQ截圖20171120200319
【標準輸入】的重定向 < f1 小于號 后面跟文件名
tr -d ‘a-z'< f1 -d 刪除 f1文件的小寫字母

QQ截圖20171120200700

tr -d ‘a-z'< f1 > /app/f3 處理的文件重定向到f3

QQ截圖20171120200758
tr -s ‘a’ 處理重疊的字母壓縮掉

QQ截圖20171120201224
-c 取反tr -dc `a` 除了a 之外別的都刪除 ctrl+D

QQ截圖20171120201550
tr -dc `a\n` 保留 回車作用

QQ截圖20171120202042
tr `\n` ` `< f1 處理f1文件中的換行

QQ截圖20171120202143
seq 1 10 輸出1-10 豎排 ,然后替換‘\n’ ‘ ‘
QQ截圖20171120203841

mail -s hi~ ma xxxxxxxxx 發郵件給某個用戶
標題 哪個用戶 內容

QQ截圖20171120204539
cat > f1 單行重定向
cat > f1 <<EOF 多行重定向 EOF為終止符
mail -s hi~ `whoami`<<EOF
>HI~$USER
>TESE
>EOF
【管道】
連接標準輸入輸出的命令間隔
命令1|命令2|命令3
| 管道重定向了前命令的標準輸出
error 2>&1| tr ‘a-z’ A-Z | tr -d O
|more |less
tar -cvf – /home | tar -xvf –
將/home了嗎的文件打包命名為- 傳到后面再解壓
tar -cvf 打包 tar -xvf 解包

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/88761

(0)
馬
上一篇 2017-11-20 20:38
下一篇 2017-11-20 20:47

相關推薦

  • sed命令使用

    一、sed簡介    sed是一種在線編輯器,一次處理一行內容。處理時,把當前處理的行存儲在歷史緩沖區,傳給“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非使用重定向存儲輸出。sed主要用來自動編輯一個或…

    Linux干貨 2016-08-12
  • 搜索引擎的檢索模型-查詢與文檔的相關度計算

    1. 檢索模型概述       搜索結果排序時搜索引擎最核心的部分,很大程度度上決定了搜索引擎的質量好壞及用戶滿意度。實際搜索結果排序的因子有很多,但最主要的兩個因素是用戶查詢和網頁內容的相關度,以及網頁鏈接情況。這里我們主要總結網頁內容和用戶查詢相關的內容。     &nbsp…

    2015-12-10
  • 用戶和用戶組相關的配置文件

    用戶和用戶組相關的配置文件 一、與用戶相關的配置文件 一般來說,與用戶配置相關的幾個文件如下: l  /etc/passwd: 最重要的文件,存儲著用戶的用戶名,UID,Shell等信息 l  /etc/shadow: 用戶密碼文件,使用sha-1算法加密存儲(注意該文件的權限) l  /etc/skel/: 用戶的模板文件,新…

    Linux干貨 2016-10-23
  • 文本處理工具命令使用以及文件權限管理

    一 sort uniq wc cut tr 等文本處理工具的基本用法 1. 通過who命令查看當前登錄了哪些用戶,并通過uniq或sort -u命令將重復的行只顯示一次 [root@Linuxprobe ~]# who | cut -d’ ‘ -f1 | sort -u 目前查看系統有兩個用戶登錄 harrycai root [root@Linuxprobe…

    Linux干貨 2017-08-13
  • Linux系統下的bonding設置

    bonding多個物理網卡聚合成一個虛擬網卡     Bonding,其原理是講多個物理網卡聚合成一個虛擬網卡,一張網卡正常工作,其余網卡作為備用,每隔一段時間(miimon=毫秒),向正常工作的網卡發一狀態詢問,若沒回復,則認為其運行失敗,然后就會啟用備用網卡,但是IP地址不會改變。   &nbs…

    Linux干貨 2016-09-07
  • LVS 之 初識LVS

    LVS 之 初識LVS LVS 之 初識LVS 0x00 概述 0x01 LVS拓撲結構圖: lvs集群類型中的術語 : 0x02 lvs-type lvs-nat lvs-dr lvs-tun lvs-fullnat : 0x03 調度算法(scheduler) 0x00 概述 LVS : Linux Virtual Server lvs 工作在 IOS …

    2017-05-11
欧美性久久久久