Linux常用命令 - curl

2021-01-08 叉叉敵

curl 是一個命令行實用程序,用於將數據從伺服器或傳輸到伺服器,該伺服器設計用於在沒有用戶交互的情況下工作。使用 curl,您可以使用支持的協議(包括 HTTP、 HTTPS、 SCP、 SFTP 和 FTP)下載或上傳數據。 curl 提供了許多選項,允許您恢復傳輸、限制帶寬、代理支持、用戶認證等等。

下面就介紹常見的用法, 將通過實際例子和最常見的 curl 選項的詳細說明,向您展示如何使用 curl 工具。

安裝 curl

現在大多數 Linux 發行版都預先安裝了 curl 包。

要檢查 curl 包是否已安裝在系統上,請打開控制臺,鍵入 curl,然後按回車鍵。如果您安裝了 curl,系統將列印 curl: 嘗試『curl --help』或『 curl --manual』獲取更多信息。否則,您將看到類似 curl 命令的內容沒有被找到。

dsjqSu

如果沒有安裝 curl,您可以使用發行版的包管理器輕鬆地安裝它。

在 Ubuntu 和 Debian 上安裝 curl

sudo apt updatesudo apt install curl

在 CentOS 和 Fedora 上安裝 curl

sudo yum install curl

如何使用 curl

curl 命令的語法如下:

curl [options][URL...]

在其最簡單的形式中,當不使用任何選項調用時,curl 將指定的資源顯示到標準輸出。

例如,要檢索示例網站的主頁,你可以運行:

curl chasays.github.io

eqklbA

該命令將在您的終端窗口中列印示例.com 主頁的原始碼。

如果沒有指定協議,curl 會嘗試猜測您想要使用的協議,它將默認為 HTTP。

將輸出保存到文件中

若要保存 curl 命令的結果,請使用-o 或-O 選項。

Lowercase -o 使用一個預定義的文件名保存文件,在下面的示例中是 vue-v2.6.10. js:

curl -o vue-v2.6.10.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js

大寫 -O 保存文件和它的原始文件名:

curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js

cbHQFb

下載多個文件

要一次下載多個文件,請使用多個 -O 選項,後跟要下載的文件的 URL。

在下面的例子中,我們正在下載 Arch Linux 和 Debian iso 文件:

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \-O https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso

恢復下載

您可以使用 -C 選項恢復下載。如果您的連接在下載一個大文件期間斷開,而且您可以繼續前一個文件而不是從頭開始下載,那麼這將非常有用。

例如,如果你正在下載 Ubuntu 18.04 iso 文件,使用以下命令:

curl -O https://updates.cdn-apple.com/2020/macos/061-44388-20200128-3badc52c-6391-412c-86d9-fc2aaf9514e0/macOSUpd10.15.3.dmg

然後你的連接突然斷開,你可以用以下命令繼續下載:

curl -C --O https://updates.cdn-apple.com/2020/macos/061-44388-20200128-3badc52c-6391-412c-86d9-fc2aaf9514e0/macOSUpd10.15.3.dmg

AFXvTE

獲取 URL 的 HTTP 頭

Http 頭是冒號分隔的鍵值對,包含用戶代理、內容類型和編碼等信息。頭文件通過請求或響應在客戶端和伺服器之間傳遞。

使用 -I 選項僅獲取指定資源的 HTTP 標頭:

curl -I --http2 https://www.apple.com/

b8dqcw

測試網站是否支援 http/2

要檢查某個特定的 URL 是否支持新的 HTTP/2協議,請使用-i 和 --http2選項獲取 HTTP header:

curl -I --http2 -s https://apple.com/ | grep HTTP

9JSwNlS 選項告訴 curl 以靜音(quiet)運行,並隱藏進度表和錯誤消息。

如果遠程伺服器支持 http/2,curl 列印 http/2.0200:

HTTP/2200

否則,回復就是 http/1.1200:

HTTP/1.1200 OK

如果您使用的是 curl 版本7.47.0或更高版本,則不需要使用 -- http2選項,因為所有 HTTPS 連接都默認啟用了 http/2。

遵循重定向

默認情況下,curl 不遵循 HTTP Location 頭。

如果你嘗試檢索非 www 版本的 google. com,你會注意到,你不但沒有獲得頁面的來源,反而會被重定向到 www 版本:

curl baidu.com

選項指示 curl 跟蹤任何重定向,直到它到達最終目的地: curl -L baidu.com

nITkGy

更改用戶代理

有時在下載文件時,遠程伺服器可能被設置為阻止 curl User-Agent,或者根據訪問者設備和瀏覽器返回不同的內容。

在這種情況下模擬不同的瀏覽器,使用 -a 選項。

例如,要模擬 Firefox 60,你可以使用:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" https://baidu.org/

指定最大傳輸速率

--limit-rate 選項允許您限制數據傳輸速率。該值可以用字節表示,k 後綴為千字節,m 後綴為兆字節,g 後綴為千字節。

在下面的例子中 curl 將下載 Go 二進位文件,並將下載速度限制在1 mb:

curl --limit-rate 1m-O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz

此選項有助於防止 curl 佔用所有可用帶寬。

通過 FTP 傳輸文件

要使用 curl 訪問受保護的 FTP 伺服器,請使用-u 選項並指定用戶名和密碼,如下所示:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.baidu.com/

登錄後,該命令列出用戶主目錄中的所有文件和目錄。

你可以使用以下語法從 FTP 伺服器下載一個文件:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

要將文件上傳到 FTP 伺服器,請使用-t 後跟要上傳的文件的名稱:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

使用cookies

有時您可能需要使用特定的 cookie 發出 HTTP 請求以訪問遠程資源或調試問題。

默認情況下,當使用 curl 請求資源時,不會發送或存儲 cookie。

若要將 cookie 發送到伺服器,請使用-b 開關,後跟包含 cookie 或字符串的文件名。

例如,下載 oraclejavajdkrpm 文件 JDK-10.0.2 linux-x64 bin。Rpm 你需要傳遞一個值為 a 的名為 oraclericense 的 cookie:

curl -L -b "oraclelicense=a"-O http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.rpm

使用代理

支持不同類型的代理,包括 HTTP、 HTTPS 和 SOCKS。若要通過代理伺服器傳輸數據,請使用-x (-- proxy)選項,後跟代理 URL。

下面的命令使用代理在192.168.44.1 port 8888上下載指定的資源:

curl -x 192.168.44.1:8888 http://google.com/

如果代理伺服器需要身份驗證,請使用-u (-- proxy-user)選項,後跟用戶名和密碼,用冒號分隔(user: password) :

curl -U username:password -x 192.168.44.1:8888 http://google.com/

小結

curl是一個命令行工具,它允許您從遠程主機或向遠程主機傳輸數據。它對於故障排除、下載文件等非常有用。我只是做了一些簡單的實例,但是演示了最常用的 curl 選項,這些示例旨在幫助您理解 curl 命令的工作原理。

相關焦點

  • linux-好用的curl命令
    在Linux中curl是一個利用URL規則在命令行下工作的文件傳輸工具,可以說是一款很強大的http命令行工具。它支持文件的上傳和下載,是綜合傳輸工具,但按傳統,習慣稱url為下載工具。>> linux.html2.2:可以使用curl的內置option:-o(小寫)保存網頁$ curl -o linux.html http://www.linux.com執行完成後會顯示如下界面,顯示100%則表示保存成功% Total % Received % Xferd Average Speed Time
  • 我常用的一些linux命令
    這裡我總結下我工作這幾年用過的一些命令,當然,這裡就不提那些vim cd ls mv cp 這種簡單的命令了,如果你都不會這些命令的話,建議你先學習下。這裡命令很多,我只簡單列出幾個我常用的參數。其實很多命令我也用的不是特別多,這篇文章我也只是希望能讓大家知道有這樣一個工具,但具體用如果想繼續深入了解的話建議查看下手冊,部分比較命令我也列出了有些參考資料。
  • Linux下curl命令的使用
    前言在Linux下,curl是一個綜合傳輸工具,既可以用來上傳文件,也可以用來下載文件,在日常使用過程中,它通常都是以下載工具的角色出現,常用來檢驗一個網址是否可以訪問。與curl命令相似的,還有wget命令,二者在功能上具有很多類似的地方,但curl由於可自定義各種請求參數所以在模擬web請求方面更擅長;wget由於支持ftp和Recursive所以在下載文件方面更擅長。curl命令的使用1.使用curl訪問一個網址(最基本用法)在命令行中輸入「curl 網址」即可在命令顯示界面顯示該網址的內容。
  • cUrl命令行工具下載使用心得及常用參數解釋
    主要的區別在於wget默認是保存到文件,而curl將輸出定向到命令行上。這使得curl能非常方便的查看站點的內容。我這裡這裡下載curl-7.59.0-win32-mingw.zip,下載完成之後解壓到需要使用curl命令的目錄。這裡為了方便我先直接解壓到當前目錄。3. 打開命令窗口並定位到curl命令所在的目錄,你可以使用cd命令也可以像下圖這樣快速進入:比如:cd f:\curl\bin4.
  • linux常用命令:linux常用命令介紹
    今天來聊聊一篇關於linux常用命令:linux常用命令介紹的文章,現在就為大家來簡單介紹下linux常用命令:linux常用命令介紹,希望對各位小夥伴們有所幫助。關機/重啟機器:shutdown-r 關機重啟-h 關機不重啟now 立刻關機halt 關機reboot 重啟Linux管道:將一個命令的標準輸出作為另一個命令的標準輸入。也就是把幾個命令組合起來使用,後一個命令除以前一個命令的結果。
  • Linux 常見命令 curl的高級用法---curl 格式化輸出
    Linux 常見命令 curl的高級用法---curl 格式化輸出前言Curl 命令是在運維過程中,非常常見的命令,cURL是一個利用URL語法在命令行下工作的文件傳輸工具,1997年首次發行。它支持文件上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱cURL為下載工具。cURL還包含了用於程序開發的libcurl。
  • 使用 curl 從命令行訪問網際網路
    • 來源:linux.cn • 作者:Seth Kenlon • 譯者:MjSeven •(本文字數:4904,閱讀時長大約:6 分鐘)下載我們整理的 curl 備忘錄。對於 curl 來說也是如此,不同之處在於你需要一次執行所有操作:在啟動 curl 的同時提供需要訪問的網際網路地址,並告訴它是否要將數據保存在終端或文件中。當你必須與需要身份驗證的網站或 API 進行交互時,會變得有點複雜,但是一旦你學習了 curl 命令語法,它就會變得自然而然。
  • curl 命令詳解
    常用參數分類 常用curl實例 斷點續傳,-C(大寫的) 傳送數據 最好用登錄頁面測試,因為你傳值過去後,回抓數據,你可以看到你傳值有沒有成功 顯示抓取錯誤-f 偽造來源地址,有的網站會判斷,請求來源地址-e 當我們經常用curl
  • 利用Linux命令cURL實現文件定時上傳到ftp伺服器的小程序,實用
    概念cURL 是常用的命令行工具,用來請求 Web 伺服器。它的名字就是客戶端(client)的 URL 工具的意思。一、命令的安裝sudo apt-get install curl二、cURL命令語法:curl [options] [URL...]
  • linux作業系統常用命令及常用問題
    一、linux作業系統常用命令本文引用地址:http://www.eepw.com.cn/article/268125.htmlinux作業系統文章專題:linux作業系統詳解(linux不再難懂)●man :任何時候你覺得對一個命令行不是很確定,都可以通過輸入「man
  • linux常用命令詳解1-開關機命令
    linux系統非常強大,用的企業和人也特別的多,細節方面就不多介紹了,有興趣的小夥伴可以去查閱相關的文檔。既然Linux系統這麼好,想要掌握它,Linux命令絕對是必須要會的東西,但Linux命令太多了,就像字典,我們沒必要把字典都背下來,會常用的命令就可以了。
  • linux命令dig常用方法
    CentOS7.3學習筆記總結(四十八)- linux命令dig常用方法在linux終端使用dig,會提示&34;,因為dig是包含在&34;包裡面的,centos系統又默認不安裝bind-uytils,所以該命令無法使用,需要我們yum安裝bind-utils包。
  • Linux常用命令 - sed
    使用 sed 搜索和替換文本的一般形式如下:sed -i 's/SEARCH_REGEX/REPLACEMENT/g' INPUTFILE-i 將其輸出寫入標準輸出seds 替代命令,可能是 sed 中使用最多的命令
  • linux常用命令詳解-開關機
    linux系統非常強大,用的企業和人也特別的多,細節方面就不多介紹了,有興趣的小夥伴可以去查閱相關的文檔。既然Linux系統這麼好,想要掌握它,Linux命令絕對是必須要會的東西,但Linux命令太多了,就像字典,我們沒必要把字典都背下來,會常用的命令就可以了。
  • linux 常用命令
    rm命令不刪除目錄,除非也指定了-r(遞歸)參數。 file  more命令也可以通過管道符(|)與其他的命令一起使用,例如:  ps ux|more  ls|moreless /etc/passwd 查看/etc/passwd的內容(9)命令grep——搜索文件內容grep bible /etc/exports 在文件exports
  • Linux文件的常用操作命令
    linux文件操作常用指令1、系統命令runlevel # 查看當前的運行級別systemctl status firewalld # 開啟網絡服務功能stop # 關閉restart # 重啟reload # 重載reboot # 重啟halt # 關機poweroff # 關機2、查看文件常用命令cat # 在命令提示符下查看文件內容more # 在命令提示符中分頁查看文件內容
  • Linux用戶必看:Linux常用操作命令大全
    川北在線核心提示:原標題:Linux用戶必看:Linux常用操作命令大全 Linux常用操作命令有哪些?Linux是一個性能穩定的多用戶網絡作業系統,現在越來越多的用戶關注起了Linux系統,linux是利用命令來操作電腦,和Windows是不一樣的哦。
  • Linux滲透測試常用命令大全
    前言這是一些在滲透測試中常用linux命令作此記錄方便查閱網絡相關命令系統信息相關命令版本相關命令​Linux 用戶管理Linux 壓縮包相關命令​Linux 文件命令權限相關其他常用
  • linux最常用的命令
    【cd命令】 -- cd 目錄名 意為切換目錄 常用例子:cd ~ 進入家目錄cd ..返回上層目錄cd - 進入上一次工作路徑cd / 進入主要目錄【pwd命令】 --- 查看當前工作目錄路徑常用例子:pwd 查看當前路徑pwd - P 查看連結文件的實際路徑【ls命令】 --- 查看文件夾包含的文件、查看文件權限、目錄信息等常用例子:ls - l 列出文件的詳細信息 比如 文件名、
  • linux常用命令
    1、首先根據應用名稱用ps命令查看進程ID:ps -ef | grep zookeeper2、查到進程ID之後,使用netstat命令查看其佔用的埠:netstat -anp | grep109973、lsof -i:22122查看埠號是否被佔用、及佔用的程序4、根據pid號查看進程使用程序的目錄ps -aux |grep -v grep|grep 289905、配置linux