標準I/O和管道

t01c8d0a587f7a91802

input:輸入讀入數據

output:輸出數據文件的

打開的文件都有一個fd: file descriptor (文件描述符)

ll /proc/$$/fd #查看fd

exec 8<>/data/hosts #指定fd

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

> #把標準輸出重定向到文件(一個”>”是覆蓋,”>>”是追加)

2> #把錯誤輸出重定向到文件

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

ls /error /etc >f1 2>f2 #把對的輸出放到f1文件中錯的輸出放到f2文件中

() #提升命令輸出的優先級

例如:ls /error /etc 2>&1 >all.log #不加()錯誤信息顯示正確信息重定向到all.log

(ls /error /etc 2>&1) >all.log #家()先把錯誤信息重定向到all.log再把正確的追加進去

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

>| file 強制覆蓋

set +C 允許覆蓋

>> 原有內容基礎上,追加內容

&> /dev/null #不顯示輸出結果

>文件名 #創建空文件夾

>>文件名 #文件名不重名的情況下創建空文件夾,重名譯為追加

tr #替換和刪除字符(文本處理命令)

tr ‘a-z’和[:upper:]不能混用,語法錯誤

 

-d #刪除輸入

-s #刪除連續重復輸入

-sc ‘a’ #除了a壓縮(刪除)連續重復輸入,c表示取反

-dc ‘a\n’ #除了a刪除所有輸入回車

seq 1 10 #列出1到10以列的形式

hexdump #查看文件內容的機器碼

cat #查看

cat ?< file #吧file文件中的內容發送給cat相當于cat file

cat > filea <fileb #吧fileb文件中的內容重定向給filea

cat > file #單行重定向,回車一次寫入一行,Ctrl+d結束(如果文件中有內容會被覆蓋)

cat > file <<EOF #多行重定向,以EOF(end of file約定俗成的,也可以用其他字符 )結束

| #管道符,吧前一個命令的標準輸出傳送給下一個命令

錯誤輸出默認不能通過管道轉發,可用2>&1或者|&實現

|& #把標準輸出和錯誤輸出同時傳輸給下一個命令

echo {1 .. 100} | tr ‘ ’ ‘ +’ | bc #顯示1到100的結果給tr,tr把空格替換成+的結果給bc命令實現計算1+2+3…. +100 。等同于seq -s + 100 | bc命令

命令1 | tee [-a] 文件名 | 命令2

把命令1的標準輸出保存到文件中,作為命令2的輸入,-a追加,否則覆蓋

touch `openssl rand -base64 9 |tr ‘’’`.log生成指定字符的隨機文件名

 

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

(0)
老司機丨快上車老司機丨快上車
上一篇 2018-04-02
下一篇 2018-04-02

相關推薦

  • 運維自動化之ansible

    ansible的基本架構 ? host inventory主機清單 ? playbook相當于腳本, ? modules模塊 ansible工作原理 ? 通過執行命令,或ansible playbook,cmdb ansible配置文件 ? /etc/ansible/ansible.cfg主配置文件,配置ansible工作特性 ? /etc/ansible/…

    Linux筆記 2018-06-03
  • Linux文件系統簡介

    “一切皆是文件”是Linux基本哲學思想之一,可見文件系統在linux系統中的重要性,學好文件系統將為以后深入研究與學習Linux系統奠定良好的基礎。

    2018-03-30
  • 網絡和進程管理命令及bash循環

    netstat,dstat,route,nmcli,bash,until循環,while循環

    2018-04-10
  • 2018 DevOpsDays 北京站三大亮點提前看!

    對于那些正在致力于通過DevOps實踐來提升企業在數字化時代核心競爭力的企業和從業人士而言,這絕對將是一個令人無比激動和興奮的日子。

    2018-04-03
  • 阿X吃雞錄————第四站

    diff -u a b >ab 生成ab即為補丁,在a或者b文件丟失時 patch -b a/b ab 生成丟失的文件內容 etc/下創建nologin文件會使普通文件無法登陸(普通用戶登陸會顯示文件中的內容) [-t num ] 判斷是否文件在終端被打開(文件描述符) read 對變量賦值 echo -e “ \c” read name 會不產生換行…

    Linux筆記 2018-08-06
  • Linux系統磁盤及文件系統管理

    本節索引: 一、磁盤基本概念 二、磁盤分區管理 三、文件系統管理 四、設備掛載管理     一、磁盤基本概念 設備文件: Linux中一切皆文件:open(),read(),write(),close() 設備類型: 塊設備:block,存儲單位“塊”,磁盤 字符設備:char,存儲單位“字符”,鍵盤 設備文件:關聯至一個設備驅動程序,進…

    2018-04-24
欧美性久久久久