linux中重定向什么意思,linux重定向命令是哪3种,详解Linux重定向用法

linux中重定向什么意思,linux重定向命令是哪3种,详解Linux重定向用法

本文主要介绍Linux重定向的使用方法,给大家讲的很详细,对大家的学习或者工作都有一定的参考价值。有需要的朋友可以参考一下。

相信大家平时都会需要复制粘贴数据。如果打开一个文件进行复制粘贴,必然需要更多的鼠标键盘操作,会比较繁琐。那么有没有一种复制粘贴的方法可以省去这些繁琐的操作呢?

答案是肯定的,那就是重定向。重定向是一种高效的方法,可以在不进行大量鼠标和键盘操作的情况下传输数据。重定向可以分为输入重定向和输出重定向。因为所有程序都有输入或输出,所以输入和输出的重定向是任何编程语言或脚本语言的固有功能。

每当您与计算机交互时,重定向必然会发生。学会使用重定向,不仅可以让你更好地与计算机进行交互,还可以提高你的工作效率。因此,请让徐良解释一下重定向在Linux系统中的常见用法:

Linux 中的数据流

说到Linux重定向,我们不得不提到以下三种数据流:

输入将从stdin(标准输入,通常是键盘或鼠标)中读取。

输出信息将输出到stdout(标准输出,文本文件或数据流)。

该错误将输出到stderr。

知道了这些数据流的存在,在使用Shell的时候,就可以更好的控制数据的流向。

在Linux系统中,标准输入、标准输出和标准错误都是以文件的形式存在的。您可以在/dev目录中看到它们:

美元/开发/标准*

/dev/stderr/dev/stdin/dev/stdout

重定向输出

在Linux系统中,字符用来表示重定向的输出。例如,将ls命令的输出重定向到一个文件:

$ ls list.txt

执行上述命令后,ls命令的输出信息不会显示在屏幕上,因为输出信息已经被重定向到list.txt文件。

此外,重定向有许多用途。它还可以用来复制文件的内容,而且不仅限于复制文本文件。也可以复制二进制文件:

$卡特彼勒image.png picture.png

如果你想把一个文件的内容复制到另一个文件的末尾,你只需要把字符改成字符串,就像这样:

$卡特彼勒lxlinux alvi

重定向输入

与重定向输出相反,重定向输入使用字符。

输入重定向可以将输入信息重定向到命令,并将其用作参数。这个功能可能用的比较少,但是当一个命令需要一个参数表,而这些参数都在一个文件里,然后你想从文件里快速复制粘贴到终端上的时候,这个功能就可以派上用场了。

例如,您需要安装的软件包列表记录在package.list中,而您希望快速安装所有软件包,只需执行以下命令,即可一次性安装package.list中的所有软件包:

$ sudo dnf install $(package.list)

输入重定向的常见用法有Here-document(简称Here-doc)和Here-string。

Here-doc将输入文本块重定向到标准输入流,直到遇到特殊的文件尾标记(文件尾标记可以是任何唯一的字符串,但大多数人默认使用EOF)。

您可以尝试在终端输入以下命令(直到第二个EOF字符串结束):

$ cat EOF

阿尔文

lxlinux.net

文件结束

预期的输出应该如下所示:

阿尔文

lxlinux.net

Here-doc是Bash脚本编写者用来将多行文本转储到一个文件或屏幕的常用技术。

Here-string类似于Here-doc,但它只有一个字符串,或者几个用引号括起来的字符串:

$猫阿尔文

阿尔文

$ cat 'alvin lxlinux.net '

阿尔文lxlinux.net

重定向错误信息

默认情况下,错误将进入名为stderr的流,可以使用2。例如,将错误消息重定向到名为output.log的文件:

$ ls/no 2 output . log

重定向数据至 /dev/null

就像标准输入、标准输出和标准错误一样,在Linux文件系统中,有一个对应null的文件,叫做null,放在/dev目录下。为了方便阅读,人们往往省略slash,直接读作dev null。

/dev/null不保存数据。写入/dev/null的数据最终会丢失,就像被扔进了虚空。因此,您可以使用重定向将不需要的数据发送到/dev/null。例如,find命令的输出通常很长,并且在搜索文件时经常会报告权限冲突的错误,就像这样:

$ find ~-类型f

/home/seth/actual.file

find:`/home/Seth/fogged ':权限被拒绝

find:`/home/Seth/goggly ':权限被拒绝

find: `/home/seth/soggy ':权限被拒绝

/home/seth/zzz.file

此时,您可以将错误消息重定向到/dev/null以过滤掉不必要的信息,如下所示:

$ find ~-键入f 2 /dev/null

/home/seth/actual.file

/home/seth/zzz.file

善用重定向

在Bash中,重定向是传输数据的有效方式。你可能不会一直使用重定向,但是学会使用重定向可以在你需要的时候帮你省去很多不必要的复制粘贴操作,从而节省大量操作鼠标键盘的时间。请不要执着于复制粘贴。使用重定向可以提高你的工作效率。不香吗?

关于详细解释Linux重定向用法的这篇文章到此为止。有关Linux重定向用法的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: