Linux漏斗家族&管道
Posted fqh202
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux漏斗家族&管道相关的知识,希望对你有一定的参考价值。
漏斗家族
输出重定向
将正确的命令结果输入到文件中。
须知:echo -- display a line of text
>>
追加重定向,追加到最后一行。
[[email protected] fangqihan]# cat 1.txt
haha
[[email protected] fangqihan]# echo 'hello linux' >> 1.txt
[[email protected] fangqihan]# cat 1.txt
haha
hello linux
2>>
只将错误的命令结果输入到文件中
[[email protected] fangqihan]# asas 'wewe' >> 1.txt
-bash: asas: 未找到命令
[[email protected] fangqihan]# cat 1.txt
haha
hello linux
[[email protected] fangqihan]# asas 'wewe' 2>> 1.txt
[[email protected] fangqihan]# cat 1.txt
haha
hello linux
-bash: asas: 未找到命令
&>>
不论命令正确与否,都将命令返回的结果输入到文件中。
[[email protected] fangqihan]# echo 'wewe' &>> 1.txt
[[email protected] fangqihan]# cat 1.txt
haha
hello linux
-bash: asas: 未找到命令
wewe
方法2:
commands >>3.txt 2>>3.txt
>
标准重定向,先清空,再写入内容。
[[email protected] fangqihan]# cat 1.txt
a
b
c
d
[[email protected] fangqihan]# echo 'hello linux' > 1.txt
[[email protected] fangqihan]# cat 1.txt
hello linux
set -C # 开启防止标准重定向功能,无法覆盖已存在的文件
[[email protected] fangqihan]# echo 'haha' > 1.txt
-bash: 1.txt: 无法覆盖已存在的文件
set +C # 关闭此功能
输入重定向
须知:tr -- translate or delete characters
<
从文件中获取输入
[[email protected] fangqihan]# cat 1.txt
haha
hello linux
-bash: asas: 未找到命令
wewe
[[email protected] fangqihan]# tr 'a-z' 'A-Z' < 1.txt
HAHA
HELLO LINUX
-BASH: ASAS: 未找到命令
WEWE
<<
<<
:here document此处生成文档,cat >> 1.txt << EOF
追加多行。
[[email protected] ~]# cat 1.txt
huck
END
[[email protected] ~]# cat >> 1.txt << EOF
> a
> b
> c
> EOF
[[email protected] ~]# cat 1.txt
huck
END
a
b
c
[[email protected] ~]#
管道 |
将管道前的命令的输出 当做 后一个命令的输入。
# example 1:对给定的字符串进行小写转换成大写字母
[[email protected] ~]# echo hello linux |tr a-z A-Z
HELLO LINUX
# example 2:取出文件内容并将小写字母转换成大写展示出来
[[email protected] ~]# cat 1.txt
huck
END
a
b
c
[[email protected] ~]# cat 1.txt | tr a-z A-Z
HUCK
END
A
B
C
# example 3:取出文件中的第3-4行的内容
[[email protected] ~]# cat -n 1.txt
1 huck
2 END
3 a
4 b
5 c
[[email protected] ~]# head -4 1.txt |tail -2
a
b
|tee
:read from standard input and write to standard output and files
[[email protected] ~]# echo hi,my name is ham |tee 2.txt
hi,my name is ham
以上是关于Linux漏斗家族&管道的主要内容,如果未能解决你的问题,请参考以下文章