重定向
复制代码
1
2
3
40 标准输入 stdin /dev/stdin 1 标准输出 stdout /dev/stdout 2 标准错误 stderr /dev/stderr
>覆盖文件
- 如果log.txt不存在,则会创建
- 如果存在,则会覆盖之前的内容
复制代码
1
2ls -l / 1>./log.txt
>>追加文件
- 会把重定向的内容追加到log.txt
复制代码
1
2ls -l / 1>>./log.txt
区别输出类型
复制代码
1
2
3
4
5
6
7
8
9
10
11
12# 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 表示输出转义符
复制代码
1
2echo -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 输入重定向
复制代码
1
2
3
4
5tr 准备要替换的字符 要替换成的字符 # 把空格替换为制表符 并输出到test.txt tr ' ' 't' <./test.txt
sort 命令
- 对文件内容进行按行的排序
管道
- 支持管道输入的命令
和less结合查看文本
复制代码
1
2
3# 把ls的输出作为less的输入 ls -al /etc | less
和grep结合过滤文本
复制代码
1
2
3# 把ls的输出作为grep的输入 ls -al /etc | grep 'ssh'
和cut结合切割文本
复制代码
1
2
3
4
5
6# 切割log文件的前两列字符 cat ./log.txt | cut -c1,2 # 切割第一个字符串以:为分隔符 cat /etc/passwd | cut -f1 -d*:
和wc结合统计文本
复制代码
1
2
3
4
5
6wc 文件名 行数 单词数 字节数 # 仅仅统计文本行数 wc -l 文件名
- 统计当前用户家目录下所有目录的总数
复制代码
1
2
3
4
5
6
7ls -al ~ | cut -c1 | grep 'd' | wc -l # ls -al ~ 列出家目录中所有文件 # cut -c1 切割每一行中第一字符列,切割出来的为文件类型符号 # grep 'd' 查找文件类型为目录的行 # wc -l 统计目录行数
* 管道不会传输stderr信息
最后
以上就是光亮人生最近收集整理的关于Linux-温故知新-重定向和管道重定向管道的全部内容,更多相关Linux-温故知新-重定向和管道重定向管道内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复