Linux 下的重定向指令技巧(Linux.重定向)

Linux 作为一个历史悠久的操作系统,是在服务器、嵌入式设备和个人电脑上广泛使用的操作系统。在 Linux 下,通过合理应用可进行 I/O 重定向,可达到让指令实现更强大的效果。重定向指令是 Linux 少不了的功能,一般我们只知道重定向的 4 种技巧:standard input、standard output、standard error 和 pipeline,其实还有更多的技巧可供我们使用,比如 writing to stderr、Here document 等等,下面就让我们来看看这些技巧的具体用法。

一、标准输入(Standard Input)

标准输入也称为 stdin,是 Linux 中最基本的重定向操作,默认情况下,Linux中启动的程序会默认从键盘输入获取输入信息,其使用格式如下:

command

此操作会将 file 的内容作为 command 的输入。

二、标准输出(Standard Output)

标准输出即 stdout,是指将 Linux 的程序的输出重定向到一个文件或者其他设备(如打印机等),其使用格式如下:

command > file

这个命令会将 command 的输出重定向至 file 中。如果 file 不存在,则会产生一个新的文件,如果文件存在则会将文件覆盖

三、标准错误(Standard Error)

标准错误也称 stderr,相比标准输出,标准错误(stderr)仅仅列出命令运行过程中出错的信息,在日常使用中,它可以用来将命令出错的信息重定向到文件等,其使用格式如下:

command 2> file

这个命令会将输出的错误信息重定向至 file 中,如果文件不存在,则会产生一个新的文件,如果文件存在则会将文件覆盖

四、管道(Pipeline)

管道(pipeline)实际上是一个指令特性,其使用以下格式:

commad1 | command2

此指令回将 command1 的输出作为command2 的输入,管道来改变指令的输出,实现另外的指令的行为,这其中常用的 command 包括 grep、sort、du、cut 等等。

五、写入 stderr

有时候我们需要直接将输出写给 stderr,此时使用的应该是些特殊的指令,如:echo 或者 printf,有时候还可以将其作为参数来调用指定的程序,使用格式如下:

echo ‘This is an error’ >&2

六、Here Document

Here Document 其实是一种文本字符串,它用于连接文件或者脚本,Here Document 有点类似于另一种 I/O 重定向方式 – 管道,使用格式如下:

cat

这是 Here Document 所需要输出的文本

在这里,文本可以换行

到文本结束时需要添加一个

EOF

总之,Linux 下使用重定向技巧,可以加强命令的功能,让指令的应用更加的灵活。在日常的操作中,要熟悉这些技巧的用法,才可以更好的应用。


数据运维技术 » Linux 下的重定向指令技巧(Linux.重定向)