Linux wget -O /dev/null句法

Linux wget -O /dev/null句法

在我的工作中,我们有一个 Linux 服务器,其中有多个 cron 作业,其语法wget -O /dev/null后紧跟httpPHP文件或其他内容的请求。所以类似的东西wget -O /dev/null "http://foo.bar.com/file.php"

我已经能够找出它的各个部分各自的含义:

  • wget:一个可以在Linux终端中使用的应用程序,无需GUI即可从网络资源下载文件。如果您有特定下载的 URL,例如 WordPress、PyCharm 等,您可以使用 -wget 来下载它,而无需实际访问该站点。

  • wget -O:该-O选项允许您重命名正在下载的文件。因此,如果我正在下载 VS Code 但想重命名它,我可以运行wget -O <alternate name> <url to vscode download file>.

  • dev/null:据我了解,这基本上是不需要的日志文件的转储。如果程序正在从终端运行,并且您不关心查看/存储输出,则可以将其定向到此处,它将被立即自动删除。基本上是一种为大型程序节省空间的方法。

我只是不明白他们在一起做什么 - 一起使用它们是否会将文件重命名PHP为,/dev/null以便 Linux 捕获它并删除它?这是某种速记语法,用于将文件重命名为空字符串,并将结果定向到/dev/null?.或者更可能是我错过的不同的东西?

先感谢您!

答案1

/dev/null是(伪)设备文件,它只是丢弃写入其中的所有内容。没有重命名涉及那里,wget -O file只需打开指定的文件(可能创建它)并在那里写入。在这种情况下/dev/null,操作系统只是丢弃写入的数据。

最终结果是从服务器请求有问题的 URL,所涉及的任何脚本都在服务器端运行,并且响应(如果有)被丢弃。

实际上重命名设备节点顶部的文件将用该文件替换设备节点。普通用户无法写入,但从长远来看,以 root/dev身份运行可能会导致一些“有趣”的效果。mv somefile.txt /dev/null

如果没有该-O选项,wget将在当前目录中创建一个基于 URL 命名的文件,因此file.php在本例中是这样的。

相关内容