(覆蓋)..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

重定向和管道及tr tee命令

發(fā)布時間:2020-08-10 03:49:30 來源:網(wǎng)絡(luò) 閱讀:925 作者:power小小潘 欄目:網(wǎng)絡(luò)安全

一、重定向

    輸入重定向,就是將命令的執(zhí)行結(jié)果或者字符串覆蓋或者追加到某一個文件中

       命令:>(覆蓋)  >>(追加)

     linux輸出結(jié)果分三種:

        標(biāo)準(zhǔn)輸入0:鍵盤的輸入

        標(biāo)準(zhǔn)輸出1:默認(rèn)輸出到終端窗口

        錯誤輸出2:默認(rèn)輸出到終端窗口

     根據(jù)輸出結(jié)果輸出重定向到文件中:

        > 覆蓋正確輸出結(jié)果重定向到文件

         2> 覆蓋錯誤輸出結(jié)果重定向到文件

        2>> 追加錯誤輸出結(jié)果重定向到文件

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

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

        > file > &1 覆蓋所有輸出重定向到文件

        合并多個程序重定向到文件中

          (ls;pwd)> f1 多條命令重定向


        >文件內(nèi)容會被覆蓋

           set -C:禁止將內(nèi)容覆蓋已有文件,但可以追加強制覆蓋:>|

           set +C:允許覆蓋

        >>原有內(nèi)容基礎(chǔ)上,追加內(nèi)容

    輸入重定向

       命令:<

       將文件中的內(nèi)容傳遞給命令執(zhí)行

        cat < /etc/fstab

       cat << EOF 通常卸載腳本中,執(zhí)行腳本后在屏幕上顯示出來,做提示使用

        A

        B

        C

       EOF  

二、管道

    格式:Command1 | Command2 |.....

    管道:將第一條命令的執(zhí)行結(jié)果當(dāng)做參數(shù)傳遞給第二個命令使用

        cat /etc/fstab | mail -s hello tom

        mail -s hello tom < /etc/fstab

    Command1 | Command2:

        如果Command1能夠正確執(zhí)行,則能將結(jié)果傳遞給Command2,如果錯誤則不能執(zhí)行  

            [root@localhost ~]# xecho abcdef | tr -t 'abcde' '11'

            bash: xecho: 未找到命令...

            相似命令是: 'echo'

        如果想將錯誤的命令也傳遞給Command2,可采取的方法:

            Command1 2>&1 |Command2 

            Command1 |& Command2       

                [root@localhost ~]# xecho asdfasdf 2>&1 |tr "a-z" 'A-Z'

                BASH: XECHO: 未找到命令...

                相似命令是: 'ECHO'

            

三、tr命令

    選項:

       -d info:刪除匹配到info的信息

        [root@localhost ~]# echo abcdefg | tr -d abc                 

        defg

       -c info:補集,除了info之外的     

        [root@localhost ~]# echo abcdefg | tr -cd abc

        abc[root@localhost ~]# 

       -s info:將重復(fù)info的去掉,保留一個        

        [root@localhost ~]# echo aabbbcc | tr -s ab

        abcc

       ‘A-Z’ ‘a(chǎn)-z’: 將所有大寫字符轉(zhuǎn)換成小寫        

        [root@localhost ~]# echo aabbbcc | tr 'a-z' 'A-Z'

        AABBBCC

       -t info1 info2: 按位匹配替換,沒有匹配到的位不替換      

        [root@localhost ~]# echo abcdef | tr -t 'abcde' '11'

        11cdef

       info1 info2:  將info1中信息全部匹配替換,配有匹配到的用info2的最后一位填滿 

        [root@localhost ~]# echo abcdef | tr 'abcde' '11'

        11111f

四、tee命令

     將上一級的管道傳遞古來的信息,保存到文件中,并在屏幕傷顯示出來。  

      ls | tee /testdir/ls.log | tr 'a-z' 'A-Z' > /tmp/who.out

     默認(rèn)是覆蓋  -a 是追加



        


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI