Linux QuickTip: Downloading and Un-tarring in One Step Linux QuickTip: Nagda-download at Un-tarring sa Isang Hakbang
Most of the time, when I download something it's a file archive of some kind – usually a tarball or a zip file. Karamihan ng panahon, kapag ako ay nag-download ng isang bagay na ito ay isang file na ilagay sa archive ng ilang mga uri - karaniwan ay isang tarball o ng isang zip file. 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. Ito ay maaaring ang ilan sa source code para sa isang app na ito ay hindi kasama sa Portage puno Gentoo's, ang ilang mga papeles para sa isang panloob na corporate app, o kahit isang bagay na makamundo bilang isang bagong pag-install WordPress.
The traditional way of downloading and untarring something in the terminal would be something like this: Ang tradisyonal na paraan ng pag-download at untarring bagay sa terminal ay isang bagay na katulad nito:
wget wget http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz
tar xvzf latest.tar.gz alkitran xvzf latest.tar.gz
rm latest.tar.gz rm latest.tar.gz
Or perhaps the more compact form: O marahil mas compact form:
wget wget http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz & & Alkitran xvzf latest.tar.gz & & rm latest.tar.gz
Either way is a bit clumsy. Alinman sa dalawa ay medyo asiwa. This is a very simple operation, a powerful shell like bash should allow such a task to be performed in a more “slick” manner. Ito ay isang napaka-simpleng mga operasyon, isang malakas na shell gusto Bash dapat payagan ang ganitong gawain ng isang na gumanap sa isang mas "matalino" na paraan.
Well, thanks to a useful little command “curl”, we can actually accomplish the mess above in just one piped statement: Well, salamat sa isang kapaki-pakinabang na maliit na command na "kulot", maaari namin talaga ganapin ang gulo sa ibabaw sa isa lamang piped na pahayag:
curl kulot http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz | tar xvz | Alkitran xvz
No temporary files to get rid of, no messing around with ampersands. Walang mga pansamantalang mga file sa kumuha alisan, walang messing sa paligid na may ampersands. In short, a highly compact, efficient command. Sa maikling salita, ang isang mataas na compact, mahusay command. 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. Sa katunayan, mula sa isang pananaw manilay-nilay, ang kulot na paraan ay maaaring maging mas mabilis kaysa sa concatenated wget / alkitran / rm gulo dahil stdout mainit na mainit ay gamitin ang RAM bilang isang buffer kung maaari, kung saan ang wget at alkitran (na may-f lumipat) ay dapat basahin / isulat direkta mula sa isang disk.
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. Sinasadya, alkitran ang-v option (ang paraan na aming ginagamit ito sa lahat ng nabanggit sa itaas ang mga halimbawa) kopya ang bawat pangalan ng file sa stdout bilang ang bawat isa ay untarred. This can get in the way of curl's nice, ncurses output showing download status. Ito ay maaaring makuha sa paraan ng kulot's nice, ncurses output pagpapakita ng download na kalagayan. We can silence tar by invoking it without -v thusly: Maaari naming katahimikan sa pamamagitan ng alkitran invoking ito nang walang-v thusly:
curl kulot http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz | tar xz | Alkitran xz
And that's all there is to it! At na ang lahat ng may sa ito!

Daily Email Updates Araw-araw na Updates Email
You can get our how-to articles in your inbox each day for free. Maaari kang makakuha ng aming kung-paano na mga artikulo sa iyong inbox sa bawat araw para sa libre. Just enter your name and email below: Ilagay lamang ang inyong pangalan at email sa ibaba:


You can use wget instead of curl for this: Maaari mong gamitin ang wget sa halip ng kulot para sa mga ito:
wget wget http://wordpress.org/latest.tar.gz http://wordpress.org/latest.tar.gz -O- | tar xz -O-| alkitran xz
-O- means “output to standard output”. -O-ibig sabihin "output sa standard output".
True, but curl doesn't require any extra switches to pipe to stdout. Tama, ngunit kulot ay hindi nangangailangan ng anumang karagdagang switch sa pipe sa stdout.
On the plus side (for using wget), wget is included with most *nix systems whereas it's hit-and-miss with curl. On the plus side (para sa paggamit ng wget), wget ay kasama sa karamihan * nix system kung saan ito ay hit-and-miss na may kulot.
I wrapped this into a script that I called turl: Ako balot na ito sa isang script na ko tinatawag na turl:
——— beginning of turl ———– --- Simula ng turl ----
#!/bin/sh #! / bin / SH
# Usage: turl <url> # Usage: turl <url>
curl “$1″ | tar xz kulot "$ 1" | alkitran xz
——— end of turl ———– --- Katapusan ng turl ----
I also wrapped wget into a script that I called tget, for servers that don't have curl Ako din balot wget sa isang script na ko tinatawag na tget, para sa mga server na hindi na kulot
——— beginning of tget ———– --- Simula ng tget ----
#!/bin/sh #! / bin / SH
# Usage: tget <url> # Usage: tget <url>
wget “$1″ -O- | tar xz wget "$ 1"-O-| alkitran xz
——— end of tget ———– --- Katapusan ng tget ----
Awesome tip… Awesome tip ...
I like the turl script – very useful Gusto ko ang mga turl script - lubhang kapaki-pakinabang
Thank you very much Maraming salamat
I know I could done this, and you really made my day! Alam kong kaya kong gawin ito, at talagang ginawa ang aking araw!