Lệnh curl trong Linux là gì? | Học trực tuyến CNTT, học lập trình từ cơ bản đến nâng cao

Lệnh curl trong Linux là gì?

Chia sẻ kiến thức 17/03/2022

Curl là một trong những lệnh hữu ích nhất trong Linux. Đây là mọi thứ bạn cần biết về curl, bao gồm cả hướng dẫn ngắn gọn về cách sử dụng.

Curl là một trong những lệnh hữu ích nhất trong Linux. Đây là mọi thứ bạn cần biết về curl, bao gồm cả hướng dẫn ngắn gọn về cách sử dụng.
 

Lệnh curl trong Linux là một cách tuyệt vời để tự động hóa quá trình tải lên và tải xuống dữ liệu từ máy chủ. Curl hỗ trợ tất cả các giao thức quan trọng như HTTP, HTTPS, SFTP, FTP, v.v.

Các tính năng như tạm dừng và tiếp tục truyền, giới hạn băng thông, hỗ trợ proxy và xác thực người dùng làm cho nó trở thành một tiện ích dòng lệnh hoàn hảo để truyền dữ liệu.

Hãy cùng FUNiX đi sâu và khám phá curl là gì và sử dụng nó như thế nào.

1. Lệnh curl là gì?

Curl ban đầu được phát triển để tự động tải xuống tỷ giá tiền tệ từ một trang web theo định kỳ. Sự phổ biến của nó tăng theo cấp số nhân khi mọi người bắt đầu sử dụng các ứng dụng rộng rãi của nó.

Curl là một trong những dự án mã nguồn mở lâu đời và phổ biến nhất trên thế giới. Tên của nó là viết tắt của Client URL, và được sử dụng trong vô số hệ thống trên khắp thế giới. Nó được sử dụng trong nhiều ứng dụng khác nhau như phát triển web và kiểm tra lỗi.

Nhờ có curl, các nhà phát triển không cần phải nhập các lệnh theo cách thủ công; họ có thể gói chúng thành các tập lệnh (script) và sử dụng chúng để tự động hóa các hoạt động phức tạp. Dưới đây là một số ví dụ về cách sử dụng curl.

2. Cài đặt curl trên Linux

Mặc dù gói này được cài đặt sẵn trên hầu hết các bản phân phối Linux, bạn có thể dễ dàng tải xuống curl nếu nó chưa được cài đặt trên máy của bạn bằng cách sử dụng các lệnh sau. 

Trên Ubuntu và Debian:

sudo apt install curl

Trên các bản phân phối dựa trên RHEL như CentOS và Fedora:

sudo yum install curl

Để cài đặt curl trên Arch Linux, hãy nhập:

sudo pacman -S curl

>>> Đọc ngay: 6 yếu tố cần xem xét khi lựa chọn một bản phân phối Linux

3. Cách sử dụng lệnh curl

Curl sử dụng cú pháp sau cho tất cả các lệnh của nó:

curl options url

trong đó options và url thay đổi tùy thuộc vào nhiệm vụ trước mắt. Curl tải xuống mã nguồn của URL, bất cứ khi nào bạn không đề cập đến tùy chọn/tác vụ. Phiên bản curl mới nhất cũng đoán giao thức – nếu nó không được đề cập trong URL – và mặc định nó thành HTTP.

Dưới đây là một số lệnh curl hữu ích để thực hiện các tác vụ chức năng khác.

3.1 Tải xuống tệp bằng curl

Bạn có thể tải xuống tài nguyên thông qua một URL được chỉ định bằng cách sử dụng curl. Lệnh này có hai cờ (flag) mà bạn có thể sử dụng; -o và -O .

  • -O lưu tệp trong thư mục hiện tại với tên giống như trong máy chủ từ xa.
  • -o cho phép bạn chọn tên và vị trí tệp.

Đây là một ví dụ về cả hai lệnh này:

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

Tệp được tải xuống trong thư mục hiện tại, với tên ban đầu của nó như trên máy chủ từ xa.

curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz

Khi bạn chạy lệnh nói trên, curl sẽ tải xuống và lưu tệp dưới dạng newfile.tar.gz. Lưu ý rằng bạn sẽ phải chỉ định tên tệp và đường dẫn đến thư mục làm đầu vào.

3.2 Tiếp tục tải xuống bị gián đoạn

Quá trình tải xuống có thể bị gián đoạn do nhiều lý do, chẳng hạn như lỗi mạng hoặc liên kết hết hạn. Trong những trường hợp này, tính năng tiếp tục quá trình tải xuống bị gián đoạn sẽ giúp bạn không phải tải lại toàn bộ tệp.

Sử dụng cờ -C với một trong hai cờ -o hoặc -O để tiếp tục quá trình tải xuống bị gián đoạn.

curl -C -O http://yourdomain.com/yourfile.tar.gz

3.3 Tải xuống nhiều tệp 

Không có lệnh chuyên dụng để tải xuống nhiều tệp đồng thời thông qua curl, nhưng bạn có thể sử dụng cờ -o hoặc -O nhiều lần trong cùng một lệnh để đạt được kết quả tương tự.

Ví dụ:

curl -O http://website1.com/file1.iso -O https://website2.com/file2.iso

Lệnh nói trên sẽ tải xuống đồng thời các tệp ISO từ cả hai URL trong thư mục hiện tại.

3.4 Nhận tiêu đề HTTP của một trang web

Tiêu đề HTTP chứa thông tin quan trọng như tác nhân người dùng (user agent), loại nội dung và mã hóa (encoding). Bạn có thể yêu cầu tiêu đề HTTP của một URL bằng cách sử dụng cờ I (viết hoa của i) và –http2:

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

Đầu ra:

Nhận các tiêu đề HTTP của một URL

Lệnh -I hiển thị nhiều thông tin khác nhau bao gồm chi tiết phần mềm máy chủ, ngày tháng, loại nội dung, trạng thái X-cache, v.v.

3.5 Chỉ định tốc độ truyền tối đa

Việc truyền tệp thường chiếm phần lớn băng thông của bạn, hạn chế thực hiện bất kỳ tác vụ nào khác.

Để giải quyết vấn đề này, bạn có thể đặt tốc độ truyền tải tối đa cho các bản tải xuống của mình bằng cách sử dụng curl. Sử dụng phương thức (method) –limit-rate theo sau là modifier k , m hoặc g (biểu thị kilobyte, megabyte hoặc gigabyte).

Lệnh sau hạn chế tốc độ truyền xuống còn 1MBps:

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

Đầu ra:

Chỉ định tốc độ truyền tối đa

>>> Đọc ngay: Cách bắt đầu sử dụng Linux

3.6 Truyền tệp qua FTP 

Bạn có thể chuyển tệp bằng Giao thức truyền tệp (File Transfer Protocol ) bằng cách truy cập bất kỳ máy chủ FTP nào bằng curl. Curl cung cấp cho bạn chức năng tải xuống và tải lên các tệp sau khi kết nối với máy chủ FTP.

Sử dụng lệnh sau để kết nối với máy chủ FTP:

curl -u username:password ftp://ftp.example.com/

… trong đó username và password là thông tin xác thực để đăng nhập vào máy chủ.

Bạn có thể tải xuống bất kỳ tệp nào từ máy chủ bằng cách chỉ định URL tệp trong lệnh sau:

curl -u username:password -O ftp://ftp.example.com/file.tar.gz

Bạn cũng có thể tải tệp lên máy chủ FTP bằng cờ -T:

curl -T newfile.tar.gz -u username:password ftp://ftp.example.com

Lệnh -T theo sau là tệp được chỉ định tải tệp đó lên máy chủ FTP.

3.7 Sử dụng proxy 

Curl hỗ trợ rất nhiều proxy khác nhau như HTTPS, HTTP và SOCKS. Bạn có thể sử dụng các proxy này để truyền dữ liệu một cách an toàn bằng curl.

Sử dụng lệnh sau để thiết lập proxy trong curl:

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

Tùy chọn -x kết nối bạn với cổng 8888 trên máy chủ 192.168.44.1. Đảm bảo rằng bạn thay thế chi tiết proxy trong lệnh bằng proxy bạn muốn kết nối. Máy chủ proxy nói trên không yêu cầu xác thực, nhưng bạn có thể truy cập proxy được bảo vệ bằng cú pháp sau:

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

Chỉ định username và password được phân tách bằng dấu hai chấm bên cạnh cờ -U .

3.8 Xem chi tiết phiên bản

Lệnh này rất hữu ích khi bạn muốn kiểm tra thông tin phiên bản của gói. Sử dụng cờ –version để xem phiên bản curl:

curl --version

Đầu ra hiển thị phiên bản curl, các giao thức và tính năng của nó.

Kết luận

Các ví dụ trong hướng dẫn này nhằm mục đích hiển thị các lệnh curl phổ biến nhất với các mã tương ứng của chúng để giúp bạn hiểu rõ hơn về lệnh curl.

>>> Nếu bạn đang có nhu cầu tìm hiểu về khóa học lập trình đi làm ngay. Hãy liên hệ với FUNiX ngay tại đây:

>>> Xem thêm chuỗi bài viết liên quan:

Cách tạo ảnh Mosaic trên Linux với Polyfoto

Cách ghi chú trong Terminal Linux với ứng dụng ghi chú tnote

Cách sử dụng lệnh wc trong Linux

Hướng dẫn cách sử dụng lsof để theo dõi file đang mở trên Linux

 

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/what-is-curl-linux/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại