curl是与wget类似的下载工具,支持的协议比wget更多,有FTP、FTPS、HTTP、HTTPS、SCP、SFTP、TFTP、TELNET、DICT、LDAP、LDAPS、FILE、POP3、IMAP、SMTP和RTSP等。另外,curl默认支持HTTP1.1(也支持1.0),而wget仅支持HTTP1.0规范。但curl不能像wget一样支持递归下载。
除了下载,curl还可以用来上传文件。
从网络下载文件
curl [option] URL
curl选项也非常丰富,下面只给出几个最常用的选项,其余的可以查阅curl手册。 -o <filename> 保存下载结果到filename文件 -b <filename> 使用保存的cookie(文件名filename) -c <filename> 保存cookie到filename -C 断点续传 -F 模拟http表单提交数据 -p 使用http代理下载 -s 下载过程中不显示下载信息(silent)
下面的例子是使用NCBI的efetch地址下载Fasta格式的人类血红蛋白β亚基的CDS序列,并保存到文件hs_hbb.fa中:
[peter@ibi98 curl]$ curl -s -o hs_hba.fa "https://eutils.ncbi.nlm.nih.gov/ entrez/eutils/efetch.fcgi?db=nucleotide&id=DQ126302.1&rettype=fasta" [peter@ibi98 curl]$ ls hs_hbb.fa [peter@ibi98 curl]$ head -5 hs_hbb.fa >DQ126302.1 Homo sapiens isolate HbA-Dgn58 beta globin (HBB) gene, complete cds ATTAATTAATTCTGAGAGCTGCTGAGTTGTGTTTACTGAGAGATTGTGTATCTGCGAGAGAAGTCTGTAG CAAGTAGCTAGACTGTGCTTGACCTAGGAACATATACAGTAGATTGCTAAAATGTCTCACTTGGGGAATT TTAGACTAAACAGTAGAGCATGTATAAAAATACTCTAGTCAAGTGCTGCTTTTGAAACAAATGATAAAAC CACACTCCCATAGATGAGTGTCATGATTTTCATGGAGGAAGTTAATATTCATCCTCTAAGTATACCCAGA