当前位置: 首页 > Linux

通过12个实例掌握linuxwget命令的使用

时间:2023-04-07 01:00:15 Linux

Linux下的wget命令用于通过HTTP、HTTPS和FTP协议从网络上下载文件。换句话说,我们可以说wget是Linux系统的非交互式命令行下载工具。它还支持通过HTTP代理下载文件。这里的非交互是指在用户不登录的情况下可以在后台运行。我们在做Linux发行版最小化安装的时候,并没有安装wget命令。运行以下命令进行安装:$sudoyuminstall-ywget//CentOS7/RHEL7$sudodnfinstall-ywget//CentOS8/RHEL8/RockyLinux8$sudoaptinstall-ywget//Ubuntu/Debian$sudopacman-Swget//ArchLinux$sudozypperinstallwget//OpenSUSE在本教程中,我们将介绍12个有用的wget命令示例,这些示例将帮助您像专家一样使用wget命令。1)下载单个文件要下载文件,只需键入wget命令,后跟文件的绝对路径,例如$wgethttps://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso备注:该命令会下载用户当前工作目录下的RockyLinux8ISO文件2)断点续传(-c)在某些情况下,我们下载了一个大文件,但是在断网的情况下中间,使用wget命令中的-c选项,我们可以从中断的地方继续下载。示例如下$wget-chttps://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso3)后台下载文件(-b)使用-在wget命令中的b选项在后台下载文件。当文件太大并且您想使用终端执行其他任务时,此选项很有用。$wget-bhttps://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso在后台继续,pid4505。输出将写入“wget-log”。下载进度记录在当前目录下的wget-log文件中,使用tail命令查看下载状态。$tail-fwget-log2300K..................................................................................0%48.1K18h5m2350K.....................……………………………………..0%53.7K18h9m2400K.......................................................................0%52.1K18h13m2450K.........................................0%58.3K18h14m2500K...........................................................................................0%63.6K18h14m2550K............................................................................................................................0%63.4K18h13m2600K....................................................................................................................................................0%72.8K18h10m2650K...............................................................................................................0%59.8K18h11m2700K............................................................................................................................0%52.8K18h14m2750K....................................................................................................................................0%58.4K18h15m2800K..............................................0%58.2K18h16m2850K...........................................................0%52.2K18h20m4)限制下载速度默认情况下,wget命令尝试使用全部带宽,但某些在某些情况下,您使用的是共享互联网,因此如果您尝试使用wget下载大文件,这可能会降低其他用户的网络连接速度。如果您使用--limit-rate选项限制下载速度,则可以避免这种情况。$wget--limit-rate=100khttps://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso5)如果要使用wget命令下载多个文件多个文件,那么先建立一个文本文件,在文本文件中添加所有下载地址,示例如下$catdownload-list.txthttps://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.isohttps://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.isohttps://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso运行以下命令,wget命令会开始依次下载ISO文件$wget-idownload-list.txt6)增加重试次数默认情况下,wget命令会重试20次,可以使用--tries选项增加重试次数。$wget--tries=75https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso7)将输出重定向到我们可以使用的日志文件-o该选项将wget命令的输出重定向到日志文件,例如$wget-odownload.loghttps://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso8)下载全站使用wget命令,我们可以下载完整的网站进行本地查看,语法如下$wget--mirror-p--convert-links-P./website-URL选项有如下–mirror:打开适合镜像的选项-p:下载正确显示给定HTML页面所需的所有文件–convert-links:转换文档中的链接以供本地查看-P./Local-Folder:保存所有文件和directorystothespecifieddirectory9)Download在下载整个站点时拒绝文件类型,我们可以使用--reject选项强制不下载图片。$wget--reject=png<待下载网站>10)设置下载配额使用-Q选项设置下载配额,当下载大小超过限制时,强制wget命令停止下载。$wget-Q10m-idownload-list.txt注意:配额永远不会影响下载单个文件,即使在命令行上指定了多个URL。这仅在递归检索或从输入文件中检索配额时才有效,因此wget-Q10m-idownload-list.txt将在超过配额时中止下载。11)从受密码保护的网站下载文件的语法如下$wget--ftp-user=--ftp-password=Download-URL或者$wget--user--passwordhttp:///file_to_be_downloaded您还可以在URL中指定用户名和密码为了防止密码被看到,将它们存储在.wgetrc或.netrc文件中并确保chmodprotect这些文件不受其他用户的影响。如果密码真的很重要,请不要将它们放在这些文件中,或者在wget开始下载后编辑文件并删除它们。12)跳过证书检查下载文件在某些??情况下,我们希望从https端口下载文件并希望跳过证书检查,那么可以通过在wget命令中使用no-check-certificate选项来完成$wgethttps://about.gitlab.com/--no-check-certificate使用wget命令从https门户下载OracleJava,跳过证书检查$wget--header"Cookie:oraclelicense=accept-securebackup-cookie"https://download.oracle.com/otn-pub/java/jdk/12.0.1+12/69cfe15208a647278a19ef0990eea691/jdk-12.0.1_linux-x64_bin.rpm--no-check-certificate通过代理服务器下载文件后,所以在这种情况下,我们首先需要设置好代理,然后我们就可以使用wget命令从网上下载文件了。要在命令行上设置代理,请使用以下变量和导出命令$exporthttp_proxy=http://:$exporthttps_proxy=http://:$exportftp_proxy=http://:如果代理需要用户名和密码才能工作,请使用以下方法$exporthttp_proxy=http://:@:$exporthttps_proxy=http://:@:$exportftp_proxy=http://:@:使用单个wget下载并提取tar文件命令假设我们要下载最新版本的WordPresstar文件并想将其解压到特定的文件夹中,例如/var/www/html,您可以使用以下命令来完成此任务#wget-q-O-http//wordpress.org/latest.tar.gz|tar-xzf---strip-components=1-C/var/www/html我的开源项目course-tencent-cloud(酷瓜云课堂-gitee仓库)course-tencent-cloud(酷瓜云课堂-github仓库)