认识Linux数据重定向redirection

今天kiddd带大家学习的是LInux的一个知识内容——redirection,重定向。了解重定向之前首先需要知道Linux的三种文件描述符。

输出重定向

当我们正常执行Linux命令时,Linux命令行会将命令写入后的输出,写入到标准输出文件当中,并将输出的结果打印到屏幕上,如:
这里写图片描述
这种文件叫做标准输出文件,它到文件描述符为1

第二种情况呢,当我们执行错误的Linux命令时,Linux会将错误命令后的输出写入到文件描述符为2标准错误输出文件中,并显示到屏幕上。

而将原本输出在屏幕上的内容转而输出到其他地方——这就是重定向的一个基本的作用。

  1. 将标准输出重定向到某个文件中
    如将ls当前目录的输出重定向到一个文件中,操作到方法是:

    ls >xxx.txt

    这里写图片描述
    我们打开查看一下,果然,输出到内容被重定向到了output.txt中
    这里写图片描述

  2. 将标准错误输出重定向到某个文件中
    标准错误输出的重定向简单地使用>操作符是行不通的,这时我们就用到了之前学习的知识——加上标准错误输出文件描述符:2。

    ls XXX 2>output.txt

搞定。

  1. 将两个文件合并成一个文件
    重定向的另一个作用即合并文件:

    xxx file1 file2 >file3


这里写图片描述
(file1中有hello,file2中有world,file3为空。重定向后file3中有字符串:hello world)
  1. 同时重定向所有输出:

    s &>output.txt

  2. 文件存在时,>file ,清空文件。

  3. 文件不存在时,>file,新建文件。
  4. 重定向在脚本中的使用:
    !/usr/bin/env bash
    >output.txt
    for dir in /bin/usr /usr/bin
    do
    ls $dir &>output.txt
    done

输入重定向

除了输出重定向外,还有输入重定向,其作用为:

将某个从键盘读取的输入重定向到读取某个文件。

其操作符为:<
(与输出重定向刚好相反)

总结

Linux命令是软件开发者必须掌握的。重定向在日常开发中有很多衍生可以提升效率。另外进阶使用及shell变成更是用处多多,更多的等待着你去探索。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章