shell学习整理(5)-玩转文件描述符及重定向
来源:互联网 发布:域用户安装软件权限 编辑:程序博客网 时间:2024/06/14 07:35
常见的文件描述符: 标准输入stdin, 标准输出stdout, 标准错误stderr
1. 将输出的文本重定向或者保存到一个文件中
$ echo "this is a sample" > temp.txt 通过这条命令会将"this is a sample"写入到temp.txt文件里,注意如果没有这个文件会创建这个文件,如果已经有temp.txt了,会清空原来的内容,重新输入。
2. 将文本追加到目标文件后面
$ echo "this is a sample" >>temp.txt
3. 查看文件内容
$ cat aaaa.txt
"this is a samplae"
"this is a samplae"
4. 当命令输出错误信息时, stderr 信息就会被打印出来
$ cat aaaa.txt
cat: aaaa.txt: No such file or directory
5. 文件重定向
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ echo "b1" >b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ echo "b2">b2
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ echo "b3">b3
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ echo b1 > b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cp b1 b2; cp b2 b3
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ chmod 000 a1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b1
b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b2
b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b3
b1
6. 但是有一个方法既可以将数据重定向到文件,还可以提供一份重定向数据的副本作为后续命令的 stdin 。这一切都可以使用 tee 来实现。举个例子:要在终端中打印stdout ,同时将它重定向到一个文件中,那么可以这样使用 tee
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b1 | tee out.txt | cat -n
1 b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b1 | tee out.txt | cat -n
1 b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat out.txt
b1
7. 使用stdin做为命令韩参数,只需要将-做为命令的文件名参数即可
$ echo who is this | tee -
who is this
8. >和>>是有区别的,两者都可以将文本重定向导文件,前者先清空文件,然后再写入内容,后者会将内容追加到现有文件的尾部。即前者是清空并写入,后者是加入到文本尾部。
1. 将输出的文本重定向或者保存到一个文件中
$ echo "this is a sample" > temp.txt 通过这条命令会将"this is a sample"写入到temp.txt文件里,注意如果没有这个文件会创建这个文件,如果已经有temp.txt了,会清空原来的内容,重新输入。
2. 将文本追加到目标文件后面
$ echo "this is a sample" >>temp.txt
3. 查看文件内容
$ cat aaaa.txt
"this is a samplae"
"this is a samplae"
4. 当命令输出错误信息时, stderr 信息就会被打印出来
$ cat aaaa.txt
cat: aaaa.txt: No such file or directory
5. 文件重定向
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ echo "b1" >b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ echo "b2">b2
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ echo "b3">b3
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ echo b1 > b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cp b1 b2; cp b2 b3
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ chmod 000 a1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b1
b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b2
b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b3
b1
6. 但是有一个方法既可以将数据重定向到文件,还可以提供一份重定向数据的副本作为后续命令的 stdin 。这一切都可以使用 tee 来实现。举个例子:要在终端中打印stdout ,同时将它重定向到一个文件中,那么可以这样使用 tee
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b1 | tee out.txt | cat -n
1 b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat b1 | tee out.txt | cat -n
1 b1
Administrator@Q23YDB58A1ABZ1N MINGW64 ~
$ cat out.txt
b1
7. 使用stdin做为命令韩参数,只需要将-做为命令的文件名参数即可
$ echo who is this | tee -
who is this
8. >和>>是有区别的,两者都可以将文本重定向导文件,前者先清空文件,然后再写入内容,后者会将内容追加到现有文件的尾部。即前者是清空并写入,后者是加入到文本尾部。
阅读全文
0 0
- shell学习整理(5)-玩转文件描述符及重定向
- shell 玩转文件描述符 和 重定向
- Shell脚本攻略04-玩转文件描述符及重定向
- shell学习笔记-文件描述符及重定向
- C语言及shell描述符重定向
- Shell学习之文件的描述符和重定向
- Shell文件描述符和重定向
- 玩转Linux文件描述符和重定向
- 玩转Linux文件描述符和重定向
- 04 Linux Shell 文件描述符 及 stdin stdout stderr 重定向
- Linux Shell 文件描述符 及 stdin stdout stderr 重定向
- 描述符重定向
- shell: I/O 重定向,文件描述符
- linux shell基础1.4--文件描述符和重定向
- shell——文件描述符和重定向
- 重定向,文件描述符
- 文件描述符及其重定向的学习笔记
- shell学习-11-重定向
- 欢迎使用CSDN-markdown编辑器
- Qt:接受拖放,简单应用
- MYSQL学习笔记——sql语句优化工具
- 解决IIS 远程无法支持HTTP POST访问的方法
- Python编程练习题mooc
- shell学习整理(5)-玩转文件描述符及重定向
- 让Android应用不被杀死(killer)的方法
- 测试
- Makefile经典教程
- 一段小练
- SpringMVC入门及系列教程(一)-SpringMVC环境搭建及入门案例(详细)
- userAgent大全
- 英文版eclipseMars2配置svn4.05插件以及导入工程到svn服务端
- 购物车逻辑实现 思路