首页 > 系统 > Linux > 正文

Linux基础-重定向

2024-06-28 15:59:58
字体:
来源:转载
供稿:网友

实验环境说明:RHEL7(虚拟机)

首先,记住 linux下一切皆文件,Linux系统中使用文件来描述各种硬件,设备资源等。

重定向的含义:

在实际的Linux维护中,可以改变输入输出内容的方向.输入:键盘 鼠标输出:显示器不使用默认的标准输入输出设备,即重定向.

文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件,第一个打开的文件是0,第二个是1,依此类推。

标准输入,标准输出和标准错误默认使用键盘和显示器作为关联设备与操作系统进行交互完成最基本的输入,输出操作.从键盘接受用户输入的各种命令字串,将命令的结果输出到屏幕上如果命令执行出错,也会将错误信息反馈到屏幕上.

STDIN  标准输入  默认的设备是键盘   文件编号为:0   重定向:数据来源于文件STDOUT 标准输出  默认的设备是 显示器  文件编号为:1重定向:结果输出到文件STDERR 标准错误 默认的设备是显示器  文件编号为:2 重定向:错误信息发送到文件

重定向输出

将命令的正常输出结果保存到指定的文件中,而不是直接显示在显示器的屏幕上。即结果在文件中。重定向输出使用”>” “>>” 操作符号

>  覆盖文件>>  追加内容

注意:若重定向的输出的文件不存在,则会新建该文件,然后将命令的输出结果保存到该文件中。

重定向输入

将命令中接收输入的途径由默认的键盘改为其他文件.而不是等待从键盘输入。即从文件读取数据重定向输入使用”<”操作符号

通过重定向输入可以使一些交互式操作过程能够通过读取文件来完成如:自动完成密码设置

我们先来编辑一个保存密码的txt文件,里面写入密码如下:

ok,密码编辑完成,下面我们添加一个用户,并修改其密码为我们passwd.txt里面的内容

[root@study exercise]# useradd wang[root@study exercise]# passwd --stdin wang < passwd.txt 这样子就可以了,会自动修改密码,平常我们需要手动输入密码,然后还需重新确认一遍密码。

通过文件中的内容作为输入的数据,没有交互式的操作语句更方便在shell脚本程序中使用,可以大大的减少程序被打断的过程  提高脚本的执行效率.

错误重定向

将命令执行过程中出现的错误信息 (选项或参数错误) 保存到指定的文件,而不是直接显示到显示器。即将错误信息保存到文件错误重定向使用”2>” “2>>” 操作符号

2>  覆盖文件2>> 追加内容2指的是错误文件的编号 (在使用标准的输入和输出省略了1 0 编号)

在实际应用中.错误重定向可以用来收集执行的错误信息.为排错提供依据;对于shell脚本还可以将无关紧要的错误信息重定向到空文件/dev/null中,以保持脚本输出的简洁。

使用”2>”操作符时,会想使用”>”一样覆盖目标文件的内容,若追加而不覆盖文件的内容即可使用”2>>”操作符。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表