让我们分解一下以便更好地理解:
find / -name gcc
Run Code Online (Sandbox Code Playgroud)
通过根目录(该搜索/目录,包含/etc,/home等等),用于与该名称的文件gcc。这个搜索是递归完成的,这意味着子目录、子子目录等也会被搜索。
该>运营商将输出重定向。在这种情况下,2>重定向标准通道的输出以获取错误消息stderr。
ls > the_list.txt # writes the output of ls to a file
ls 2> the_list.txt # writes the output of ls on stderr to a file
Run Code Online (Sandbox Code Playgroud)
/dev/null是一种伪设备,它基本上会丢弃写入其中的所有内容。如果你必须在某处写东西,你可以使用它,但基本上只是想让它消失。
所以ls > /dev/null意味着“将 ls 的输出重定向到 /dev/null”,或者只是“不要用输出来打扰我”。如上所述,ls 2>/dev/null将写入的内容发送stderr到/dev/null.
完整的命令
find / -name gcc 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
因此意味着“在整个系统上搜索名为 的文件gcc,但不要向我显示这样做时发生的任何错误消息”。