博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
管道及I/O重定向
阅读量:6315 次
发布时间:2019-06-22

本文共 1329 字,大约阅读时间需要 4 分钟。

管道符"|"

管道符"|":前一个命令的输出,作为后一个命令的输入

命令1 | 命令2 | 命令3 | ...# 输出"hello,world."并将小写转换为大写[root@localhost ~]# echo "hello,world." | tr 'a-z' 'A-Z'HELLO,WORLD.# 显示passwd文件中按:分割的每行第一个部分并排序并将小写转换为大写[root@localhost ~]# cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z'ADMAPACHEBINDAEMONDBUSFEDORA

I/O重定向

简单的解释就是捕捉一个文件, 命令, 程序, 脚本, 或者甚至是脚本中的代码块的输出, 然后将这些输出作为输入发送到另一个文件, 命令, 程序, 或脚本中。

标准输入输出

执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。

进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
习惯上,标准输入(standard input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2。

I/O重定向符号

  • cmd 1 | cmd 2 把 stdout 重定向到 cmd 2 的 shdin;
  • cmd > file 把 stdout 或者 stderr 重定向到 file 文件中;
  • cmd >> file 把 stdout 或者 stderr 重定向到 file 文件中(追加);
  • cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中;
  • cmd >> file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中(追加);
  • cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout;
  • cat <>file 以读写的方式打开 file;
  • cmd < file cmd 命令以 file 文件作为 stdin;
  • cmd << delimiter Here document,从 stdin 中读入,直至遇到 delimiter 分界符;
  • cmd 1 | cmd 2 > file 把多个 stdout 重定向到 file 文件中。

其中2>&1中的数字代表重定向文件描述符,表示重定向 stderr 到 stdout 。

关闭文件描述符

n<&-#关闭输入文件描述符n.0<&-<&-#关闭stdin.n>&-#关闭输出文件描述符n.1>&->&-#关闭stdout.

set

set -C:禁止对已经存在文件使用覆盖重定向:    强制覆盖输出,则使用 >|set +C:关闭上述功能

转载于:https://www.cnblogs.com/shamobus/p/9342217.html

你可能感兴趣的文章
Javascript 类数组对象
查看>>
CSS定位背景图片 background-position
查看>>
java.io.EOFException解决
查看>>
Android控件开发之Gallery3D效果
查看>>
[原创]浅谈测试团队转型,思维模式的转变是关键
查看>>
Redis学习-SortedSet
查看>>
android CoordinatorLayout使用
查看>>
机器学习资料大汇总
查看>>
Python selenium 滚动条 详解
查看>>
poj1035Spell checker
查看>>
微信程序开发
查看>>
如何退出minicom【学习笔记】
查看>>
李开复教你如何给自己的简历打分
查看>>
POJ 3071 Football 【概率DP】
查看>>
打开Silverlight设计器发生了未经处理的异常
查看>>
sina微博加入到博客园
查看>>
Azure storage tool [Free]
查看>>
C++内存布局之虚拟继承
查看>>
Sqlserver 数据库基本查询
查看>>
图书馆维护系统总结
查看>>