您好,登錄后才能下訂單哦!
一、重定向
輸入重定向,就是將命令的執行結果或者字符串覆蓋或者追加到某一個文件中
命令:>(覆蓋) >>(追加)
linux輸出結果分三種:
標準輸入0:鍵盤的輸入
標準輸出1:默認輸出到終端窗口
錯誤輸出2:默認輸出到終端窗口
根據輸出結果輸出重定向到文件中:
> 覆蓋正確輸出結果重定向到文件
2> 覆蓋錯誤輸出結果重定向到文件
2>> 追加錯誤輸出結果重定向到文件
&> 覆蓋所有輸出重定向到文件
&>> 追加所有輸出重定向到文件
> file > &1 覆蓋所有輸出重定向到文件
合并多個程序重定向到文件中
(ls;pwd)> f1 多條命令重定向
>文件內容會被覆蓋
set -C:禁止將內容覆蓋已有文件,但可以追加強制覆蓋:>|
set +C:允許覆蓋
>>原有內容基礎上,追加內容
輸入重定向
命令:<
將文件中的內容傳遞給命令執行
cat < /etc/fstab
cat << EOF 通常卸載腳本中,執行腳本后在屏幕上顯示出來,做提示使用
A
B
C
EOF
二、管道
格式:Command1 | Command2 |.....
管道:將第一條命令的執行結果當做參數傳遞給第二個命令使用
cat /etc/fstab | mail -s hello tom
mail -s hello tom < /etc/fstab
Command1 | Command2:
如果Command1能夠正確執行,則能將結果傳遞給Command2,如果錯誤則不能執行
[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:將重復info的去掉,保留一個
[root@localhost ~]# echo aabbbcc | tr -s ab
abcc
‘A-Z’ ‘a-z’: 將所有大寫字符轉換成小寫
[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
默認是覆蓋 -a 是追加
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。