Ví dụ sử dụng lệnh Linux Curl

Trong hướng dẫn này, bạn sẽ được hướng dẫn cách sử dụng lệnh curl để tải xuống các tệp và trang web. Nếu bạn muốn biết curl là gì và khi nào bạn nên sử dụng nó trên wget, hãy đọc trang này .

Lệnh curl có thể được sử dụng để truyền tệp bằng một số định dạng khác nhau bao gồm http, https, ftp và thậm chí là smb.

Hướng dẫn này sẽ chỉ cho bạn cách sử dụng lệnh và sẽ giới thiệu cho bạn một số công tắc và tính năng chính.

Sử dụng lệnh curl cơ bản

Lệnh curl có thể được sử dụng để tải xuống các tệp từ internet nhưng ở dạng cơ bản của nó, bạn có thể tải xuống nội dung trang web thẳng tới cửa sổ đầu cuối.

Ví dụ, nhập lệnh sau vào cửa sổ đầu cuối:

curl http://linux.about.com/cs/linux101/g/curl.htm

Đầu ra sẽ cuộn lên trong cửa sổ đầu cuối và nó sẽ hiển thị cho bạn mã cho trang web được liên kết.

Rõ ràng, trang cuộn quá nhanh để đọc và vì vậy nếu bạn muốn làm chậm nó xuống, bạn nên sử dụng lệnh less hoặc lệnh càng nhiều .

curl http://linux.about.com/cs/linux101/g/curl.htm | hơn

Đầu ra Các nội dung của curl Để một tập tin

Vấn đề với việc sử dụng lệnh curl cơ bản là văn bản cuộn rất nhanh và nếu bạn đang tải xuống một tệp như một hình ảnh ISO thì bạn không muốn điều này đi đến đầu ra tiêu chuẩn.

Để lưu nội dung vào một tệp, tất cả những gì bạn phải làm là chỉ định công tắc trừ o (-o) như sau:

curl -o

Do đó để tải xuống trang được liên kết đến trong phần sử dụng lệnh cơ bản, tất cả những gì bạn phải làm là nhập vào lệnh sau:

curl -o curl.htm http://linux.about.com/cs/linux101/g/curl.htm

Sau khi tệp đã tải xuống, bạn có thể mở tệp trong trình chỉnh sửa hoặc chương trình mặc định của tệp được xác định theo loại tệp.

Bạn có thể đơn giản hóa điều này bằng cách sử dụng công tắc trừ O (-O) như sau:

curl -O http://linux.about.com/cs/linux101/g/curl.htm

Điều này sẽ sử dụng phần tên tệp của URL và đặt tên tệp là URL được lưu vào. Trong ví dụ trên, tập tin sẽ được gọi là curl.htm.

Chạy lệnh Curl trong nền

Theo mặc định, lệnh curl hiển thị thanh tiến trình cho biết thời gian còn lại và lượng dữ liệu đã được chuyển.

Nếu bạn chỉ muốn lệnh chạy để bạn có thể tiếp tục với những thứ khác thì điều đầu tiên bạn cần làm là chạy nó trong chế độ im lặng và sau đó bạn cần chạy nó như một lệnh nền .

Để chạy một lệnh âm thầm, sử dụng lệnh sau:

curl -s -O

Để có được lệnh chạy trong nền, bạn cần sử dụng dấu và (&) như sau:

curl -s -O &

Tải xuống nhiều URL với Curl

Bạn có thể tải xuống từ nhiều URL bằng cách sử dụng lệnh curl đơn.

Ở dạng đơn giản nhất, bạn có thể tải xuống nhiều URL như sau:

curl -O http://www.mysite.com/page1.html -O http://www.mysite.com/page2.html

Hãy tưởng tượng mặc dù bạn có một thư mục với 100 hình ảnh tất cả được gọi là image1.jpg, image2.jpg, image3.jpg vv Bạn sẽ không muốn phải nhập vào tất cả các URL này và bạn không phải làm như vậy.

Bạn có thể sử dụng dấu ngoặc vuông để cung cấp một dải ô. Ví dụ: để nhận tệp từ 1 đến 100, bạn có thể chỉ định những điều sau:

curl -O http://www.mysite.com/images/image[1-100].jpg

Bạn cũng có thể sử dụng dấu ngoặc nhọn để chỉ định nhiều trang web có định dạng tương tự.

Ví dụ: hãy tưởng tượng bạn muốn tải xuống www.google.com và www.bing.com. Bạn có thể chỉ cần sử dụng lệnh sau:

curl -O http: // www. {google, bing} .com

Hiển thị tiến độ

Theo mặc định, lệnh curl trả về thông tin sau khi nó tải xuống một URL:

Nếu bạn thích thanh tiến trình đơn giản hơn, chỉ cần chỉ định công cụ băm (- #) trừ như sau:

curl - # -O

Xử lý chuyển hướng

Hãy tưởng tượng bạn đã chỉ định một URL như một phần của lệnh curl và nghĩ rằng bạn có đúng địa chỉ để tải xuống một tệp lớn chỉ để quay lại sau để thấy rằng tất cả những gì bạn có là một trang web nêu rõ "trang này đã được chuyển hướng đến www.blah. com ". Điều đó sẽ gây phiền nhiễu phải không.

Lệnh curl là thông minh ở chỗ nó có thể theo các chuyển hướng. Tất cả những gì bạn phải làm là sử dụng công tắc trừ L (-L) như sau:

curl -OL

Giảm tỷ lệ tải xuống

Nếu bạn đang tải một tập tin lớn và bạn có một kết nối internet nghèo thì bạn có thể làm phiền gia đình nếu họ đang cố gắng để làm công cụ trên internet là tốt.

May mắn thay, bạn có thể giảm tốc độ tải xuống bằng lệnh curl để trong khi mất nhiều thời gian hơn để tải xuống tệp, bạn có thể giữ mọi người hài lòng.

curl -O - tỷ lệ lợi nhuận 1m

Tốc độ có thể được xác định bằng kilobyte (k hoặc K), megabyte (m hoặc m) hoặc gigabyte (g hoặc G).

Tải xuống tệp từ máy chủ FTP

Lệnh curl có thể xử lý nhiều hơn chỉ là chuyển tập tin HTTP. Nó có thể xử lý FTP, GOPHER, SMB, HTTPS và nhiều định dạng khác.

Để tải xuống tệp từ máy chủ FTP, hãy sử dụng lệnh sau:

curl -u user: password -o

Nếu bạn chỉ định tên của một tệp như một phần của URL thì nó sẽ tải xuống tệp nhưng nếu bạn chỉ định tên của một thư mục, nó sẽ trả về một danh sách thư mục.

Bạn cũng có thể sử dụng curl để tải tệp lên máy chủ ftp bằng cách sử dụng lệnh sau:

curl -u user: password -T

Tên tệp và có thể sử dụng cùng một mẫu khớp với việc tải xuống nhiều tệp HTTP.

Chuyển dữ liệu biểu mẫu đến biểu mẫu

Bạn có thể sử dụng curl để điền vào một mẫu trực tuyến và gửi dữ liệu như thể bạn đã điền nó trực tuyến. Nhiều dịch vụ phổ biến như Google chặn loại sử dụng này.

Hãy tưởng tượng có một biểu mẫu có tên và địa chỉ email. Bạn có thể gửi thông tin này như sau:

curl -d name = john email=john@mail.com www.mysite.com/formpage.php

Có nhiều cách khác nhau để chuyển thông tin biểu mẫu. Lệnh trên sử dụng văn bản cơ bản nhưng nếu bạn muốn sử dụng mã hóa đa cho phép truyền ảnh thì bạn sẽ cần sử dụng công tắc trừ F (-F).

Tóm lược

Lệnh curl có rất nhiều phương pháp xác thực khác nhau và bạn có thể sử dụng nó để truy cập các trang FTP, gửi email, kết nối đến địa chỉ SAMBA, tải lên và tải xuống các tệp và nhiều thứ khác.

Để biết thêm thông tin về curl, hãy đọc trang hướng dẫn sử dụng.