首页 > 其他分享 >I/O重定向与管道

I/O重定向与管道

时间:2023-11-01 16:55:36浏览次数:18  
标签:输出 重定向 文件 命令 管道 date 输入

什么是I/O重定向?

I/O重定向是一个过程,这个过程捕捉一个文件、命令、程序或脚本,甚至代码块的输出,然后把捕捉到的输出作为输入发送给另外一个文件、命令、程序或脚本。

知道这些我们就可以正式进入学习了

在 root命令下输入"tty"

 其中/dev/pts/0中0表示当前处于那个终端再打开终端可以看到为/dev/pts/1

 

一个案例分析,使用date来认识I/O重定向

 

 其中date 是可以显示当前时间,在date命令后面加">"并指向date.txt文件,那么结果就会写入date.txt文件。

文件描述符:

就是内核为了高效管理这些已经被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符来实现。同时还规定系统刚刚启动的时候,0是标准输入,1是标准输出,2是标准错误。这意味着如果此时去打开一个新的文件,它的文件描述符会是3,再打开一个文件文件描述符就是4......

 

 明白以上内容我们可以了解输出重定向了和输入重定向

输出重定向

命令行的输出重定向和错误重定向很简单,在命令参数后直接使用“>>”(输出重定向)或“2>”(错误重定向)即可。

输出重定向可以分为正确输出和错误输出

正确输出:1>,1>>等价于>,>>,1可以省略

错误输出:2>,2>>

其中,“>"表示覆盖,”>>"表示追加。

 其中第三行第四行可以跳过(因为我自己输入的问题,导致错误)。

接下来具体实例理解

 

 

 输入重定向

具体案例:

使用grep命令过滤root,没有改变输入端默认为键盘,接着输入重定向到/etc/passwd.

 使用dd命令从/dev/zero中读取数据并写入到file01.txt文件,每次1MiB,一共两次

使用输入重定向与输出重定向的方式也可以实现相同的功能

使用at命令创建一个计划任务,从现在开始5分钟后创建用户Linux,可以使用crtl+d结束

 如果同时创建多个用户,此方法十分繁琐,使用输入重定向更简单方便

 今天暂时学到这里。休息一下哈哈哈哈

 

标签:输出,重定向,文件,命令,管道,date,输入
From: https://www.cnblogs.com/tln12-/p/17803519.html

相关文章

  • linux虚拟机 输出重定向
    经过上课实验以及老师的讲解,关于输出重定向,文件描述符的数字与"<"和">","<<"和">>"之间,不需要打上空格符号,否则会显示比如说:“无效的日期”。所以要记得数字和大小于符号之间不要加上空格,否则会出错误。......
  • linux 中paste命令结合管道时调整合并方向
     001、[root@pc1test]#ls##两个测试文件a.txtb.txt[root@pc1test]#cata.txt010203040506070809101112[root@pc1test]#catb.txtabc[root@pc1test]#cut-f2a.txt|paste-b.txt......
  • 匿名管道
    匿名管道常常用来实现父子进程的通信。通过pipe函数创建两个文件描述符,分别指向管道的读端和写端。从内核对于共享文件的实现来理解管道描述符表。每个进程都有它独立的描述符表,它的表项是由进程打开的文件描述符来索引的。每个打开的描述符表项指向文件表中的一个表项。文件......
  • 5、输入输出重定向
    我们知道,Linux中标准的输入设备默认指的是键盘,标准的输出设备默认指的是显示器。而本节所要介绍的输入、输出重定向,完全可以从字面意思去理解,也就是:输入重定向:指的是重新指定设备来代替键盘作为新的输入设备;输出重定向:指的是重新指定设备来代替显示器作为新的输出设备。通常......
  • 5_nest管道和数据校验
    管道Nest在路由处理器之前调用管道,然后管道接收发往路由处理器的参数验证输入数据,给输入数据添加字段管道有两个典型的用例:验证:评估输入数据,如果有效,则将其原样传递;否则,当数据不正确时抛出一个异常。转型:把输入数据转换为所需的格式(例如,从字符串到整型)。设置全局Valida......
  • Zephyr重定向日志打印到USB串口
    nRF52840DK开发板的例程大多数是从硬件串口打印日志,然后硬件串口在开发板上通过Jlink转换为USB串口,最后打印到电脑上。这里给出通过52840自己的USB串口打印日志的方法。以zephyr/samples/hello_world例程为例:修改config#使能串口驱动CONFIG_SERIAL=y#使能串口的中断模式(......
  • 17.2 实现无管道正向CMD
    WSASocket无管道正向CMD,使用WSASocket函数创建一个TCP套接字,并绑定到一个本地地址和端口上。然后使用CreateProcess函数创建一个新的CMD进程,并将标准输入、输出和错误输出重定向到套接字的句柄上。这样,客户端可以通过网络连接到这个套接字,发送CMD命令并获取命令输出结果。这种方......
  • 17.3 实现无管道反向CMD
    WSASocket无管道反向CMD,与无管道正向CMD相反,这种方式是在远程主机上创建一个TCP套接字,并绑定到一个本地地址和端口上。然后在本地主机上,使用WSASocket函数连接到远程主机的套接字,并将标准输入、输出和错误输出重定向到套接字的句柄上。这样,本地主机就可以通过网络连接到远程主机的......
  • 无涯教程-AWK - 输出重定向
    到目前为止,我们在标准输出流上显示了数据,我们还可以将数据重定向到文件,重定向出现在print或printf语句之后,AWK中的重定向与shell命令中的重定向一样编写,只不过它们是在AWK程序中编写的。本章将通过适当的示例说明重定向。重定向运算符重定向运算符的语法是-printDATA>o......
  • web基础漏洞-url重定向漏洞
    1、介绍url重定向漏洞,是指攻击者可以控制用户的浏览器中的url形式参数,并被解析执行,造成危害。2、场景2.1跳转使用户信任新跳转的站点,进行钓鱼3xxlocation字段js跳转form跳转超链接a2.2引入资源利用:钓鱼,引入脚本,向外部请求提供refererscriptstylelinkiframeim......