当前位置: 首页 > Linux

Linux重定向用法详解_1

时间:2023-04-06 03:17:48 Linux

相信大家平时都需要复制粘贴数据。如果打开一个文件进行复制粘贴,势必需要更多的鼠标和键盘操作,会比较繁琐。那么有没有办法省去复制粘贴这些繁琐的操作呢?答案是肯定的,那就是重定向。重定向是一种无需大量鼠标和键盘操作即可传输数据的有效方法。重定向可以分为输入重定向和输出重定向两种。由于所有程序都有输入或输出,因此输入和输出的重定向是任何编程或脚本语言的固有特征。每当您与计算机交互时,重定向必然会发生。学会使用重定向,不仅可以让你更好的与电脑进行交互,还可以提高你的工作效率,所以请良旭给你讲解一下重定向在Linux系统中的常见用法:Linux中的数据流说起Linux重定向,你有提一下下面三个数据流:输入信息会从stdin(标准输入,通常是键盘或鼠标)中读取。输出信息输出到标准输出(标准输出,文本文件或数据流)。错误消息输出到stderr。知道这些数据流的存在,就可以在使用shell的时候更好的控制数据的流向。在Linux系统中,标准输入、标准输出和标准错误都以文件的形式存在。您可以在/dev目录中看到它们:$ls/dev/std*/dev/stderr/dev/stdin/dev/stdout重定向输出在Linux系统中,使用>字符表示重定向输出。例如,将ls命令的输出重定向到一个文件:$ls>list.txt执行完上面的命令后,ls命令的输出信息将不会显示在屏幕上,因为输出信息已经被重定向到list.txt文件起来。另外,重定向还有很多用处,它还可以用来复制文件的内容,而且不限于复制文本文件,还可以复制二进制文件:$catimage.png>picture.png如果你想将一个文件的内容复制到另一个文件的末尾,只需要将>字符替换为一个>>字符串,像这样:$catlxlinux>>alviredirectedinput与重定向输出相反,重定向输入使用<性格。输入重定向可以将输入信息作为参数重定向到命令。这个功能可能比较少见,但是当命令需要一个参数列表,并且这些参数保存在一个文件中,然后你想快速的从文件中复制粘贴到终端时,这个功能就可以派上用场了向上。例如,package.list记录了你需要安装的包列表,如果你想快速安装所有的包,只需要执行以下命令一次性安装package.list中的所有包:$sudo的常用用法dnfinstall$(alvin>lxlinux.net>EOF预期的输出应该是这样的:alvinlxlinux.netHere-docisaBashScripter将多行文本转储到文件或屏幕的常用技巧。Here-string类似于Here-doc,但它只有一个字符串,或者用引号括起来的几个字符串:$cat<<重定向该流。例如,将错误信息重定向到名为output.log的文件:$ls/nope2>output.log将数据重定向到/dev/null就像Linux文件系统中的标准输入、标准输出和标准错误一样还有一个对应的文件,叫做null,放在/dev目录下。为了可读性,人们经常省略斜线,直接读为devnull。/dev/null不保存数据,写入/dev/null的数据最终会丢失,就像被扔进了虚空。因此,您可以使用重定向将不需要的数据通过管道传输到/dev/null。例如,find命令的输出往往比较冗长,在搜索文件时经常报权限冲突错误,像这样:$find~-typef/home/seth/actual.filefind:`/home/seth/foggy':Permissiondeniedfind:`/home/seth/groggy':Permissiondeniedfind:`/home/seth/soggy':Permissiondenied/home/seth/zzz.file此时可以将错误信息重定向到/dev/null来过滤掉不需要的信息,像这样:$find~-typef2>/dev/null/home/seth/actual.file/home/seth/zzz.file善用重定向在Bash中,重新定向是一种有效的数据传输方法。你可能不会经常使用重定向,但是学习如何在需要的时候使用重定向可以为你省去很多不必要的复制和粘贴操作,从而节省很多操作鼠标和键盘的时间。请不要执着于复制粘贴,使用重定向可以提高你的工作效率,是不是很好吃?以上就是良序教程网为各位小伙伴分享的Linux重定向用法详解。以上就是良序教程网为各位小伙伴们分享的Linux相关知识。