如何在 Linux 中使用 cURL 命令
cURL 功能是为了简化设备之间的文件传输。这是一种从控制台下载和共享文件的非常友好的方法。它甚至于 2017 年被微软纳入,作为 Windows 用户从命令行传输文件的工具。
卷曲特性
支持的协议包括 DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET 和 TFTP
认证和加密
代理实现
恢复中断的传输
虽然仅关注一些广泛使用的协议,但本教程描述了如何实现前面列出的所有功能。下面描述的所有步骤都包含屏幕截图。因此,使所有用户都可以轻松理解和遵循它们。
如何在 Linux 中安装 cURL
首先,针对基于 Debian 的 Linux 发行版(包括 Ubuntu)运行以下命令来安装 cURL:
要在 CentOS 或 Fedora Linux 发行版上安装 cURL,请使用以下命令:
关于使用 cURL 下载文件的所有内容
第一个命令显示如何使用 cURL 下载文件,并保留原始文件名。
为此,请运行 cURL 并添加 -O 参数,后跟文件路径。正确的语法如下所示,其中 <文件地址> 必须替换为要下载的文件的完整 URL 或路径:
语法如下例所示,其中我从 LinuxHint 站点下载了 robots.txt 文件:
可以使用cURL下载多个文件;只需在要下载的每个文件后面添加一个 -O 标志,如以下示例所示,其中 robots.txt 文件是从 linux教程 获取的,并且徽标是从名为 argexchanger 的站点获取的:
上一张截图中显示的命令很长,而以下语法是:
先前的标志(大写的-O)保存文件时保留原始名称。这是使用 cURL 时使用最广泛的标志。
默认情况下,cURL 下载工作目录中的文件。您还可以通过实施 -o 标志(小写)后跟要定义的名称或路径来定义文件的自定义名称或路径。
在以下示例中,我从 Linux Hint 下载文件 robots.txt,但将其另存为 CustomName,其中 CustomName 是任意的并且可以包含文件扩展名:
在下面的屏幕截图中,我使用 -o 标志为存储在主目录的 test 子目录中名为 CustomName 的文件定义自定义名称和自定义路径:
另一个有用的 cURL 功能是用于恢复中断的下载的 -C- 标志。在下面的屏幕截图中,我展示了如何通过执行 cURL 后跟标志 -C-、-O 和目标来恢复之前中断的下载,
cURL 还支持通过代理服务器传输文件。
要实现代理,您需要添加 -x 标志,后跟代理地址和端口。正确的语法是:
其中
在以下示例中,我使用 IP 地址为 8.213.128.41 的代理通过端口 80 下载 robots.txt 文件:
在Linux中使用cURL上传文件
上一节介绍了如何在 Linux 中使用 cURL 下载文件。本节介绍如何通过 HTTP 和 FTP 上传文件。
使用 cURL 在没有凭据(匿名)的情况下通过 FTP 上传文件非常简单。只需使用 -T 标志,后跟要上传的文件和 FTP 地址。
语法是:
使用凭据并不会使任务变得更加困难。您只能定义用户名,连接过程中需要填写密码。此选项比在命令中键入密码更好,以避免使用纯文本密码。
要将文件上传到需要登录的 FTP 服务器,请使用 -u 标志,后跟用户名。某些服务器配置(例如我正在使用的服务器配置)需要在用户名后面包含服务器主机或 IP 地址,如下面的屏幕截图所示,其中 -u 标志是用于定义用户和主机 (linux@argexchanger.com),-T 标志用于定义要上传的文件 (zippedfile.zip)。
执行以下语法后,您将需要输入密码。
注意: 将 linux@arexchnger.com 替换为您的实际用户名,并将 ftp://argexchanger.com 替换为您的实际 FTP 服务器。
您还可以在命令中包含密码,从而避免在运行命令后需要输入密码。语法与上面所示的相同。您不需要额外的标志;只需添加一个冒号,后跟密码,如下面的屏幕截图所示,其中 YourpasswordHere 是密码:
为了完成本教程,我们来看看如何通过 HTTP 协议上传文件。为此,我将使用 https://transfer.sh 免费服务,该服务允许您使用 HTTP 上传文件。
本示例中使用的标志是 –upload-file,后跟您要上传的文件。在本例中,名为 linuxfile 的文件和 HTTP 服务器如下图所示:
通过学习前面解释的所有 cURL 命令,您将能够高效地使用此工具。
结论:
如您所见,使用 cURL 命令非常简单。 cURL 是一个命令行但用户友好的工具,任何处理控制台的人都必须能够使用。该命令特别有用,因为它是跨平台的,可以在 macOS 等 Unix 和 Microsoft Windows 操作系统上找到。这非常适合仅通过命令执行来获取和共享文件。您可以使用免费的 FTP 和 HTTP 文件共享服务来测试本文中解释的所有说明。
感谢您阅读我们的 cURL 教程。我希望它对你有用。继续阅读 Linux Hint 以获取更多 Linux 专业教程。