敲黑板:Linux重定向用法详解

  发布时间:2025-11-05 01:28:35   作者:玩站小弟   我要评论
相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,就不可避免的需要较多的鼠标与键盘的操作,就会比较繁琐。那么有没有可以省掉这些繁琐操作的复制粘贴的方法呢?答案是肯定的,那就是重定向 。

相信大家平时都会有需要复制粘贴数据的敲黑时候,如果是重定打开文件进行复制粘贴,就不可避免的向用需要较多的鼠标与键盘的操作,就会比较繁琐。法详那么有没有可以省掉这些繁琐操作的敲黑复制粘贴的方法呢?

答案是肯定的,那就是重定重定向。重定向是向用一种高效的方法,无需大量的法详鼠标与键盘操作就可以完成数据的转移。重定向可以分为输入重定向以及输出重定向这两种类型。敲黑由于所有程序都有输入或者输出,重定因此输入和输出的向用重定向是任何编程语言或脚本语言都自带的功能。

每当你与计算机交互时,法详重定向就必然会发生。敲黑学会使用重定向,重定不仅可以让你与计算机更好地交互,向用还可以提高你的工作效率,源码下载因此,这里就为你讲解 Linux 系统中重定向的常见用法:

Linux 中的数据流

谈到 Linux 的重定向,就不得不提以下这3种数据流:

输入信息会从 stdin 中读取(标准输入,通常是键盘或鼠标)。 输出信息会被输出到 stdout (标准输出,一个文本文件或者数据流)。 错误信息会被输出到 stderr。

了解了这些数据流的存在,在你使用 Shell 时,你就可以更好地控制数据的流向了。

在 Linux 系统中,标准输入,标准输出以及标准错误都作为文件存在。 你可以在 /dev 目录下看到它们:

$ ls /dev/ std

*

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

重定向输出

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

$ ls > list

.txt

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

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

$ cat image.png > picture.png

如果你想要将一个文件的WordPress模板内容复制到另一个文件的末尾,你只需将 > 字符换成 >> 字符串即可,像这样:

$ cat lxlinux >> alvin

重定向输入

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

输入重定向可以将输入信息重定向至命令中作为参数使用。该功能可能比较少用,但是,当命令需要一个参数列表时,而这些参数都存在一个文件中,然后你想快速地将它们从文件中复制粘贴到终端,这时这个功能就能派上用场了。

例如,package.list 里记录了你需要安装的包的列表,而你想要快速地安装所有的包,只需执行以下这一条命令,就能一次性安装 package.list 里的所有包:

$ sudo dnf install $(

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

Here-doc 将输入的文本块重定向至标准输入流,直至遇到特殊的文件结束标记符为止(文件结束标记符可以是任意的唯一的字符串,云服务器但大部分人都默认使用 EOF)。

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

$ cat << EOF

> alvin

> lxlinux.net

> EOF

预期的输出应该是这样的:

alvin lxlinux .net

Here-doc 是 Bash 脚本编写者们将多行文本转储到文件或屏幕上的常用技巧。

Here-string 与 Here-doc 相似,但是它只有一个字符串,或者几个被引号括起来的字符串:

$ cat <<< alvin

alvin

$ cat <<< "alvin lxlinux.net"

alvin lxlinux.net

重定向错误信息

错误信息默认会进入叫 stderr 的流,使用 2> 可以对其进行重定向。例如,将错误信息重定向到名为 output.log 的文件中:

$ ls /nope 2> output. log

重定向数据至 /dev/null

就像标准输入、标准输出以及标准错误一样,在 Linux 文件系统中,空,也存在一个文件与之对应,它叫做 null ,放在 /dev 目录下。为了方便读,人们经常省略斜杠,直接把他读作 dev null 。

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

$ find ~ - type

f

/home/seth/actual.file

find: `/home/seth/foggy: Permission denied find: `/home/seth/groggy : Permission denied find: `/home/seth/soggy

: Permission denied

/home/seth/zzz.file

这时,你就可以将错误信息重定向到 /dev/null ,以过滤掉不必要的信息,像这样:

$ find ~ -type f 2> /dev/null /home/seth /actual.file /home /seth/zzz

.file

善用重定向

在 Bash 中,重定向是转移数据的一种高效方法。你可能并不会总是使用重定向,但是学会如何使用重定向,在你需要的时候可以让你省掉许多不必要的复制粘贴操作,因此也节省了许多操作鼠标与键盘的时间。请不要执着于复制粘贴了,使用重定向可以提高你的工作效率,难道,它不香吗?

  • Tag:

相关文章

  • 电脑链接错误代码651的解决办法(遇到错误代码651时,你需要知道的关键信息)

    摘要:在使用电脑过程中,我们可能会遇到各种各样的错误代码。其中,错误代码651是一个常见的链接错误代码,它通常出现在使用宽带或者拨号上网时。这个错误代码意味着你的电脑无法正确连接到互联网...
    2025-11-05
  • 代码简洁之道:对象转换神器MapStruct

    ​前言在我们日常开发的程序中,为了各层之间解耦,一般会定义不同的对象用来在不同层之间传递数据,比如xxxDTO、xxxVO、xxxQO,当在不同层之间传输数据时,不可避免地经常需要将这些对象进行相互转
    2025-11-05
  • 如何优雅地 Hack 用户的代码

    前言:做基础技术的时候,会经常碰到一个问题就是如何让自己提供的代码对用户少侵入,无感。比如我提供了一个 SDK 收集 Node.js 进程的 HTTP 请求耗时,最简单的方式就是
    2025-11-05
  • 教你用 Python 快速获取行业板块股,辅助价值投资!

    1.行业板块行业板块与概念股在定义上还是有很大区别的。一般来说,概念板块的风险更大,基于某个消息被短期炒作,很不稳定,因此风险更大行业板块是按股票行业进行分类,往往注重于长期,稳定性更高。在实际投资上
    2025-11-05
  • 手工制作电脑支架蛋糕教程(用简单材料打造独特创意,将甜点与科技相结合)

    摘要:在当今科技高速发展的社会中,电脑已经成为人们生活不可或缺的一部分。为了迎合时代潮流,我们不妨将科技与美食相结合,尝试用手工制作一个独特的电脑支架蛋糕。通过以下教程,你将学会如何用简...
    2025-11-05
  • Nacos源码之订阅机制的前因后果

    前因我们在了解Nacos订阅机制之前,首先来了解一下前因——Nacos客户端的“服务发现”,我们先通过下面一张图来直观的看一下,有人可能就说这也叫直观,明明很曲折,小农想说的是,这样才能让你们印象更加
    2025-11-05

最新评论