在linux中,重定向是将原本要输出的数据信息,重新指向某个特定的文件中,也就是对原来的系统命令的默认执行方式进行改变;重定向一般通过在命令间插入特定的符号来实现,语法示例为“command1 > file1”。
本教程操作环境:linux7.3系统、Dell G3电脑。
linux中什么是重定向
Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作。
1,Linux中的重定向到底是个什么呢?
Linux中的重定向就是将原本要输出到屏幕中的数据信息,重新指向某个特定的文件中,或者定向到黑洞(/dev/null)中。
1.2重定向有什么用呢?
1,当程序执行输出的信息比较多时,需要保存下来在进行分页查看。
2,后台执行的程序一般都会有输出,不希望它输出干扰到终端。
3,执行定时的备份任务,希望备份的结果保留下来时。
4,当重复创建用户,会提示一些错误信息,可以直接将信息丢弃。
5,希望将错误日志与正确日志,分别输出保存到不同文件时。
1.3 标准输入与输出
当进程操作一个文件时:
1,首先进程是无法直接访问硬件的,需要借助内核来访问文件
2,而内核kernel需要利用文件描述符 (file descriptor)来访问文件。
总结:进程—通过—>文件描述符(非负整数)–访问—》文件名称;进程使用文件描述符来管理打开的文件对应关系。
第一步:运行 tail -f /etc/passwd
第二部:通过文件描述符3—>/etc/passwd–>inode–>block
第三步:正确输出—>默认情况下通过文件描述符1—>当前终端 1>(改变输出的位置,文件,黑洞)
第四步: 错误输出—>默认情况下通过文件描述符2—》当前终端 2>(错误输出)
通常程序访问一个文件至少会打开三个标准文件,分别是标准输入,标准输出,错误输出。
进程将从标准输入中得到数据,将正常输出打印至屏幕终端,将错误的输出信息也打印至屏幕终端。