概述
重定向
0 标准输入 stdin /dev/stdin
1 标准输出 stdout /dev/stdout
2 标准错误 stderr /dev/stderr
>覆盖文件
- 如果log.txt不存在,则会创建
- 如果存在,则会覆盖之前的内容
ls -l / 1>./log.txt
>>追加文件
- 会把重定向的内容追加到log.txt
ls -l / 1>>./log.txt
区别输出类型
# 1 代表标准输出 stdout
ls -l / 1>>./stdout.txt
# 2 代表标准错误 stderr
ls -l / 2>>./stderr.txt
# 也可以区别开
ls -l /bin /etc 1>stdout.txt 2>stderr.txt
# 将标准输出和错误输出合并到一个文件
ls -l / &>log.txt
echo
- -e 表示输出转义符
echo -e "1 n 2 n 3"
/dev/null
-
/dev/null : 在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它会立即得到一个EOF。
-
/dev/null 被称为位桶(bit bucket)或者黑洞(black hole)。空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件。这些操作通常由重定向完成。
/dev/zero
- /dev/zero:在类UNIX操作系统中,/dev/zero是一个特殊的文件,当你读它时,它会提供无限的空字符(NULL , ASCALL NUL, 0x00)。
tr 输入重定向
tr 准备要替换的字符 要替换成的字符
# 把空格替换为制表符 并输出到test.txt
tr ' ' 't' <./test.txt
sort 命令
- 对文件内容进行按行的排序
管道
- 支持管道输入的命令
和less结合查看文本
# 把ls的输出作为less的输入
ls -al /etc | less
和grep结合过滤文本
# 把ls的输出作为grep的输入
ls -al /etc | grep 'ssh'
和cut结合切割文本
# 切割log文件的前两列字符
cat ./log.txt | cut -c1,2
# 切割第一个字符串以:为分隔符
cat /etc/passwd | cut -f1 -d*:
和wc结合统计文本
wc 文件名
行数 单词数 字节数
# 仅仅统计文本行数
wc -l 文件名
- 统计当前用户家目录下所有目录的总数
ls -al ~ | cut -c1 | grep 'd' | wc -l
# ls -al ~ 列出家目录中所有文件
# cut -c1 切割每一行中第一字符列,切割出来的为文件类型符号
# grep 'd' 查找文件类型为目录的行
# wc -l 统计目录行数
* 管道不会传输stderr信息
最后
以上就是光亮人生为你收集整理的Linux-温故知新-重定向和管道重定向管道的全部内容,希望文章能够帮你解决Linux-温故知新-重定向和管道重定向管道所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复