curl工具或命令用于从命令行下载不同的文件和目录。curl由所有主要的Linux发行版提供,如Ubuntu、Debian、Mint、CentOS等。
安装卷曲
默认情况下不安装curl工具或命令。为了使用它,它应该安装在 apt安装 或 dnf安装 命令。为了安装Ubuntu,Debian,Mint,Kali使用以下命令。
$ sudo apt install curl
CentOS、Fedora、RHEL使用以下命令来安装curl。
$ sudo dnf install curl
卷曲型
安装的curl命令版本可以使用–version选项打印。这还将打印支持的协议列表和一些有关curl命令的必需库。
$ curl --version
输出如下。
curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh/0.9.3/openssl/zlib nghttp2/1.41.0 librtmp/2.3Release-Date: 2020-01-08Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftpFeatures: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets
卷曲帮助
curl是一个非常高级的工具,它提供了很多不同的选项。有关curl和这些选项的帮助信息可以通过 -小时 或 –帮助 选项如下。
$ curl -h
![图片[1]-如何在Linux命令行中使用curl下载文件?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/linuxtect_image-88.png)
下载文件
默认情况下,下载的内容将打印到当前终端的标准输出,而不是存储为文件。这个 -o 选项可用于存储为文件,其中还应提供文件名。在下面的示例中,我们将下载的文件名设置为 示例.txt .
$ curl -o sample.txt https://filesamples.com/samples/document/txt/sample1.txt
![图片[2]-如何在Linux命令行中使用curl下载文件?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/linuxtect_image-89.png)
我们可以看到显示了很多关于下载的信息。
- %%总计 是要检索的数据总量。
- %%收到 是到目前为止检索到的数据的百分比。
- %%克弗德 是到目前为止上载的数据的百分比。
- 平均下载速度
- 平均上传速度
- 总时间
- 花费的时间
- 剩余时间
- 当前速度
相关文章: Linux zgrep命令教程
或者,可以使用stdout操作符将下载的内容重定向到文件中。使用以下命令,下载的文件内容将重定向到名为sample.txt的文件中。
$ curl https://filesamples.com/samples/document/txt/sample1.txt > sample.txt
不显示进度条
默认情况下,将显示有关下载的进度条。即使这个进度条提供了有用的信息,我们可能想禁用或隐藏这个进度条和下载将悄悄完成。可以为silent选项提供 -s码 或 –无声 选项如下。
$ curl --silent -o sample.txt https://filesamples.com/txt/sample1.txt
将进度条显示为#
默认情况下,进度条以文本形式提供信息,但也可以将进度条显示为“下载百分比”。下载的百分比也将显示为数字。
$ curl -# -o sample.txt https://filesamples.com/samples/document/txt/sample1.txt
![图片[3]-如何在Linux命令行中使用curl下载文件?-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/11/linuxtect_image-90.png)
继续中断的下载
在下载像电影、媒体、图像、ISO文件等大文件时,它们可能会占用很多时间。如果由于系统关闭、网络问题或远程服务器问题等不同原因导致下载中断,我们甚至可以取消下载。我们可以继续从我们离开的地方下载,已经下载的内容或数据将被保留,不再下载,它将继续从我们离开的地方。这个 -C级 这是 –继续 可用于恢复中断的下载。
$ curl -C -o ubuntu.iso https://filesamples.com/ubuntu.iso
将下载的文件内容重定向到另一个命令中
curl命令通常与-o选项一起使用,其中提供下载的文件名,下载的文件内容将放入该文件中。如果未提供内容,则将内容打印到当前终端的标准输出中。我们可以使用这个默认行为,通过使用bash管道操作符将下载的内容或数据重定向到另一个命令中。在下面的示例中,我们将把文件内容重定向到 厕所 命令,该命令将统计给定数据中的字符、单词和句子。
$ curl -s https://filesamples.com/samples/document/txt/sample1.txt | wc
输出如下所示,其中句子计数为3,单词计数为88,字符计数为607。
3 88 607