(覆蓋)..."/>
您好,登錄后才能下訂單哦!
一、重定向
輸入重定向,就是將命令的執(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 是追加
免責(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)容。