在本指南中,您將看到如何使用curl命令下載文件和網頁。 如果你想知道捲曲是什麼以及什麼時候應該使用它,請閱讀這個頁面 。
curl命令可用於使用多種不同格式傳輸文件,包括http,https,ftp甚至smb。
本指南將向您展示如何使用該命令,並向您介紹許多按鍵開關和功能。
基本捲曲命令用法
curl命令可用於從互聯網上下載文件,但在其基本形式中,您可以將網頁內容直接下載到終端窗口。
例如,在終端窗口中輸入以下命令:
curl http://linux.about.com/cs/linux101/g/curl.htm
輸出將在終端窗口中向上滾動,並會顯示鏈接網頁的代碼。
顯然,頁面滾動速度太快而無法閱讀,所以如果您希望減慢速度,您應該使用less命令或more命令 。
curl http://linux.about.com/cs/linux101/g/curl.htm | 更多
輸出捲曲到文件的內容
基本curl命令用法的問題在於文本滾動速度非常快,如果您正在下載文件(如ISO映像),則不希望這會轉到標準輸出。
要將內容保存到文件中,您只需指定minus o(-o)開關,如下所示:
curl -o
因此,要下載鏈接到基本命令用法部分的頁面,您只需輸入以下命令:
curl -o curl.htm http://linux.about.com/cs/linux101/g/curl.htm
文件下載後,您可以在編輯器或其文件類型確定的默認程序中打開它。
您可以通過使用負O開關(-O)進一步簡化,如下所示:
curl -O http://linux.about.com/cs/linux101/g/curl.htm
這將使用URL的文件名部分,並將其作為URL保存到的文件名。 在上面的例子中,該文件將被稱為curl.htm。
在背景中運行捲曲命令
默認情況下,curl命令會顯示一個進度條,告訴您剩餘時間以及傳輸了多少數據。
如果你只是想讓命令運行,以便你可以繼續其他事情,那麼你需要做的第一件事是以靜默方式運行它,然後你需要將它作為後台命令運行。
要以靜默方式運行命令,請使用以下命令:
curl -s -O
要讓命令在後台運行,您需要使用&符號(&),如下所示:
curl -s -o
使用捲曲下載多個URL
您可以使用單個curl命令從多個URL下載。
以最簡單的形式,您可以下載多個URL,如下所示:
curl -O http://www.mysite.com/page1.html -O http://www.mysite.com/page2.html
想像一下,儘管你有一個包含100個圖像的文件夾,所有這些文件都被稱為image1.jpg,image2.jpg,image3.jpg等等。你不需要輸入所有這些URL,也不需要。
您可以使用方括號來提供範圍。 例如,要獲取文件1到100,您可以指定以下內容:
curl -O http://www.mysite.com/images/image[1-100].jpg
您也可以使用大括號來指定具有相似格式的多個網站。
例如,想像一下你想下載www.google.com和www.bing.com。 您可以簡單地使用以下命令:
curl -O http:// www。{google,bing} .com
顯示進度
默認情況下,curl命令在下載URL時返回以下信息:
- 總計%
- 總字節數
- 收到/轉移%
- 接收/傳輸的字節
- 平均下載速度
- 平均上傳速度
- 總時間
- 所花費的時間
- 剩下的時間
- 現在的速度
如果你想要一個簡單的進度條,只需指定減號哈希( - #)開關,如下所示:
curl - #-O
處理重定向
想像一下,你已經指定了一個URL作為curl命令的一部分,並認為你有正確的地址來下載一個大文件,以便稍後再回來發現你所擁有的只是一個網頁,指出“該頁面已被重定向到www.blah。 COM“。 這將是討厭的不是。
curl命令很聰明,因為它可以遵循重定向。 你所要做的就是使用負L開關(-L),如下所示:
curl -OL
降低下載速度
如果你正在下載一個大文件,並且你的互聯網連接不好,那麼如果他們想要在互聯網上做東西,你也可能會惹惱家人。
幸運的是,您可以使用curl命令來降低下載速度,這樣雖然下載文件需要更長的時間,但您可以讓每個人都快樂。
curl -O - 極限速率1m
速率可以指定為千字節(k或K),兆字節(m或m)或千兆字節(g或G)。
從FTP服務器下載文件
curl命令不僅可以處理HTTP文件傳輸。 它可以處理FTP,GOPHER,SMB,HTTPS和許多其他格式。
要從FTP服務器下載文件,請使用以下命令:
curl -u用戶:密碼-o
如果您指定文件的名稱作為URL的一部分,那麼它將下載該文件,但如果指定文件夾的名稱,它將返回文件夾列表。
您還可以使用curl通過使用以下命令將文件上載到FTP服務器:
curl -u用戶:密碼-T
文件名和
將表單數據傳遞給表單
您可以使用捲曲來填寫在線表單並提交數據,就像您在線填寫數據一樣。 許多受歡迎的服務(例如Google)阻止了這種用法。
想像一下,有一個名稱和電子郵件地址的表單。 您可以按照以下方式提交此信息:
curl -d name = john email=john@mail.com www.mysite.com/formpage.php
有多種方式傳輸表單信息。 上述命令使用基本文本,但如果您想使用允許圖像傳輸的多編碼,則需要使用負F開關(-F)。
概要
curl命令有許多不同的身份驗證方法,您可以使用它來訪問FTP站點,發送電子郵件,連接到SAMBA地址,上傳和下載文件以及許多其他內容。
要獲得更多關於捲曲的信息,請閱讀手冊頁。