Linux download commands

Phổ biến nhất là wget, curl và lftp :-)

wget

Dung lượng nhẹ, dễ sử dụng và khá phổ biến. Ví  dụ:

wget http://fpdownload.adobe.com/get/flashplayer/current/install_flash_player.exe

.

curl

Cũng dễ dùng như wget, dùng command-line cũng tốt, mà hỗ trợ lập trình còn tốt hơn vì API đơn giản và dễ dùng. Tuy nhiên mặc định curl sẽ xuất ra stdout (console) , vì thế để save lại tập tin thì cần thêm option ” -o filename.xyz” hoặc ” -O”

curl http://fpdownload.adobe.com/get/flashplayer/current/install_flash_player.exe -O

.

lftp

Cái này thường được dùng để tải ftp (mặc dù 2 tool trên cũng hỗ trợ cả HTTP/HTTPS lẫn FTP), nhưng trong một số trường hợp, tải HTTP bằng lftp có tốc độ nhanh vượt trội so với wget/curl :

lftp -e ‘pget http://fpdownload.adobe.com/get/flashplayer/current/install_flash_player.exe’

.

Ngoài 3 tools phổ biến trên, còn có một số tool mới như axel , aria2 , etc… Các tool này đều hỗ trợ HTTP/HTTPS và có thể thêm một vài giao thức khác (FTP/SFTP) . Trong thực tế thì các tool này dùng để tải xuống và thường không cần xác thực (đăng nhập) , tuy nhiên vẫn có thể hỗ trợ đăng nhập username/password hoặc token hoặc certificate . Cách hỗ trợ username/password phổ biến nhất là thêm trực tiếp vào URL của giao thức HTTP:

Chẳng hạn, thay vì :

wget http://domain.name/some/path/to/file.zip

thì dùng :

wget http://USERNAME:PASSWORD@domain.name/some/path/to/file.zip

(nếu có thiết lập proxy server thì nhớ set thêm biến môi trường http_proxyftp_proxy )

.

Còn trong trường hợp người dùng đã có sẵn tài khoản trên máy chủ chứa tập tin, thì có thể dùng một số tool khác thông qua đăng nhập SSH để tải (cả download lẫn upload) . Ở đây chỉ nêu 3 tools nhanh nhất là scp , tar và netcat.

scp

( scp user@remote_server:[REMOTE_FILE_TO_DOWNLOAD] [LOCAL_DIR_TO_SAVE] )

Thường dùng đường dẫn tuyệt đối trên Linux (có dấu slash “/” ) :

scp USER@SERVER:/absolute/path/to/file.zip /absolute/path/local/dir

Chúng ta cũng có thể dùng đường dẫn tương đối thay vì tuyệt đối, mặc định thì ở remote server là $HOME của user đó , còn ở máy local là thư mục hiện tại (pwd) , tức là thư mục “.”

scp USER@SERVER:Public/some/path/file.zip .

.

tar over ssh

Khi dùng SCP mặc định chúng ta cũng đã dùng SSH, còn một số công cụ khác vẫn có thể dùng để tải thông qua SSH, có thể nhanh hơn SCP chút ít, ví dụ như tar hoặc netcat :

ssh USER@SERVER ‘cd /some/path/to/remote/dir && tar c file.zip’ | tar xzv

hoặc :

ssh USER@SERVER -c ‘tar cz /some/path/to/file.exe’ > ./file.tar.gz

.

nc (netcat)

Netcat over SSH thường có tốc độ tải nhanh nhất, nhưng lại hơi rườm rà dòng lệnh.

 

.

Some more tips:

(to be updated)

./.

About DucQuoc.wordpress.com

A brother, husband and father...
This entry was posted in Linux, Marketing. Bookmark the permalink.

5 Responses to Linux download commands

  1. Pingback: Vietnamese Flash developers | DucQuoc's Blog

  2. Pingback: Eclipse ExtJS jQuery | DucQuoc's Blog

  3. Pingback: Synchronize time in Linux | DucQuoc's Blog

  4. Pingback: Linux Directory Structure | DucQuoc's Blog

  5. Pingback: One-liner find commands | DucQuoc's Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s