Linux QuickTip: Downloading and Un-tarring in One Step Linux QuickTip: tải về và Un-tarring tại Một Bước
Most of the time, when I download something it's a file archive of some kind – usually a tarball or a zip file. Hầu hết thời gian, khi tôi tải về cái gì đó là một kho lưu trữ tập tin của một số loại - thường là tarball một hoặc một tập tin zip. This could be some source code for an app that isn't included in Gentoo's Portage tree, some documentation for an internal corporate app, or even something as mundane as a new WordPress installation. Điều này có thể là một số mã nguồn cho một ứng dụng mà không có trong cây Portage của Gentoo, một số tài liệu cho một ứng dụng nội bộ công ty, hoặc thậm chí là nhàm chán cái gì đó như là một tiến trình cài đặt WordPress mới.
The traditional way of downloading and untarring something in the terminal would be something like this: Cách truyền thống tải về và untarring điều gì đó trong nhà ga sẽ có một cái gì đó như thế này:
wget wget http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz tar xvzf latest.tar.gz
rm latest.tar.gz rm latest.tar.gz
Or perhaps the more compact form: Hoặc có lẽ là hình thức nhỏ gọn hơn:
wget wget http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz & & Tar xvzf latest.tar.gz & & latest.tar.gz rm
Either way is a bit clumsy. Dù bằng cách nào là một chút vụng về. This is a very simple operation, a powerful shell like bash should allow such a task to be performed in a more “slick” manner. Đây là một hoạt động rất đơn giản, một trình bao mạnh mẽ như bash nên cho phép như vậy là một nhiệm vụ được thực hiện trong một slick "nhiều hơn" theo cách.
Well, thanks to a useful little command “curl”, we can actually accomplish the mess above in just one piped statement: Vâng, nhờ một lệnh ít hữu ích "curl", chúng tôi thực sự có thể thực hiện các mess ở trên chỉ trong một đường ống tuyên bố:
curl curl http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz | tar xvz | Tar xvz
No temporary files to get rid of, no messing around with ampersands. Không có tập tin tạm thời để thoát khỏi, không phiền xung quanh với ampersands. In short, a highly compact, efficient command. Trong ngắn hạn, một, rất nhỏ gọn hiệu quả lệnh. In fact, from a theoretical standpoint, the curl method can be faster than the concatenated wget/tar/rm mess since stdout piping will use RAM as a buffer if possible, whereas wget and tar (with the -f switch) must read/write directly from a disk. Trong thực tế, từ một quan điểm lý thuyết, các curl phương pháp có thể được nhanh hơn wget nối / tar / rm mess kể từ đường ống stdout sẽ sử dụng RAM như là một bộ đệm nếu có thể, trong khi wget và tar (với-f switch) phải đọc / ghi trực tiếp từ đĩa.
Incidentally, tar with the -v option (the way we're using it in all the above examples) prints each file name to stdout as each is untarred. Bất ngờ, tar với tùy chọn v-(cách chúng ta đang sử dụng nó trong tất cả các ví dụ trên) in mỗi tên tập tin để stdout như mỗi untarred. This can get in the way of curl's nice, ncurses output showing download status. Điều này có thể nhận được trong cách của curl's đẹp, ncurses sản lượng hiển thị trạng thái download. We can silence tar by invoking it without -v thusly: Chúng tôi có thể im lặng tar bằng cách gọi nó mà không-v thusly:
curl curl http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz | tar xz | Tar XZ
And that's all there is to it! Và đó là tất cả để có nó!

Daily Email Updates Email cập nhật hàng ngày
You can get our how-to articles in your inbox each day for free. Bạn có thể làm thế nào chúng tôi vào các bài viết trong hộp thư của bạn mỗi ngày miễn phí. Just enter your name and email below: Chỉ cần nhập tên và email của bạn dưới đây:


You can use wget instead of curl for this: Bạn có thể dùng wget curl thay vì việc này:
wget wget http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz -O- | tar xz -O-| tar XZ
-O- means “output to standard output”. -O-có nghĩa là "đầu ra cho sản lượng đạt tiêu chuẩn".
True, but curl doesn't require any extra switches to pipe to stdout. Đúng, nhưng curl không yêu cầu bất kỳ thiết bị chuyển mạch thêm vào đường ống để stdout.
On the plus side (for using wget), wget is included with most *nix systems whereas it's hit-and-miss with curl. Về phía cộng (để sử dụng wget), wget được kèm với hầu hết các hệ thống * nix trong khi nó hit-and-miss với curl.
I wrapped this into a script that I called turl: Tôi gói này thành một kịch bản mà tôi gọi là turl:
——— beginning of turl ———– --- Đầu turl ----
#!/bin/sh #! / bin / sh
# Usage: turl <url> # Cách sử dụng: turl <url>
curl “$1″ | tar xz curl "$ 1" | tar XZ
——— end of turl ———– --- Cuối turl ----
I also wrapped wget into a script that I called tget, for servers that don't have curl Tôi cũng bọc wget thành một kịch bản mà tôi gọi là tget, cho máy chủ mà không có curl
——— beginning of tget ———– --- Đầu tget ----
#!/bin/sh #! / bin / sh
# Usage: tget <url> # Cách sử dụng: tget <url>
wget “$1″ -O- | tar xz wget "$ 1"-O-| tar XZ
——— end of tget ———– --- Cuối tget ----
Awesome tip… Awesome tip ...
I like the turl script – very useful Tôi thích kịch bản turl - rất hữu ích
Thank you very much Cảm ơn bạn rất nhiều
I know I could done this, and you really made my day! Tôi biết tôi có thể làm điều này, và bạn thực sự làm tôi day!