curl 和 Wget 被广泛用于在 Linux 终端中从 web 下载文件。那么,有什么区别,哪个更好?
curl 和 Wget 是从 Linux 命令行向服务器发出请求的两个最常用的实用程序。
如果您发现自己在两者之间交换,一个只是激起您的好奇心,或者您刚刚在网上看到了一些关于它的旧讨论,那么了解一些差异可能会有所帮助。
虽然您希望使用任何一种都能获得顺畅的体验,但了解两者之间的基本差异将有助于您更好地掌握使用两者(并希望解决上述充满问题的讨论中的任何问题)。
curl 和 Wget 之间的主要区别:如何保存输出
curl 和 Wget 的一个最明显的区别是默认情况下 Wget 将查询的网页保存到系统,而 curl 将其显示在终端输出中但不保存它。
让我们从一个简单的例子开始,向 Arch Linux 的主页发出请求https://archlinux.org
。
我们将首先使用 curl 发出请求。
curl 'https://archlinux.org'
请注意curl 命令如何输出网页的原始内容?就好像您单击了 Web 浏览器上的“查看源代码”按钮。
让我们尝试使用 Wget 获取相同的网站:
wget 'https://archlinux.org'
看那个,Wget 没有像curl那样显示网页的内容。但是,如果Wget的没有显示网页内容,它把它内容放到哪了?
这就是两个程序之间的第一个主要区别所在。
默认情况下,Wget 将网站内容放入名为 的文件中index.html
:
然后,您可以通过运行查看文件的实际内容cat index.html
,这将产生与使用curl
命令看到的相同的输出:
如果要使用 curl 保存文件,则必须使用以下-o
选项:
curl -o <output_file> <web_URL>
其他显着区别
除此之外,这实际上几乎是您在使用 curl 和 Wget 时可能会注意到的唯一区别。尽管还有其他一些可能会引起您的兴趣,但它们可能不会对您作为最终用户对任一工具的使用产生太大影响(如果有的话)。
支持
curl 的使用率比 Wget 多得多,可用于手机、计算机(包括 Windows 和 macOS 等操作系统)甚至物联网设备(例如智能手表、智能冰箱和其他类似物品)等环境中。
开发者使用
下一部分是开发人员最关心的部分。Curl 有库来支持 C 等编程语言中的网络请求,而 wget 也是严格的命令行,如果您需要从编程语言与其交互,则无法很好地工作。
部分原因与之前的原因有关,并且有助于解释为什么 curl 在不同类型的环境和设备中被广泛使用。
总结
就是这样!希望您现在已经看到两者之间的差异比某些人可能认为的要小得多。
但是,如果您决定长期选择一种工具,我肯定会推荐 curl,因为它是我在自己的项目中使用的工具,而且它的使用范围比 Wget 广泛得多。
评论前必须登录!
注册