Skip to main content

Linux QuickTip: завантаження та відключення в одному кроці

Linux QuickTip: завантаження та відключення в одному кроці

Geoffrey Carr

У більшості випадків, коли я завантажую щось, це якийсь файловий архів, як правило, архівний файл або архівний файл. Це може бути деяким вихідним кодом для додатка, яке не входить до складу дерева Portage Gentoo, деякою документацією для внутрішнього корпоративного додатка або навіть щось таке ж загальне, як нова установка WordPress.

Традиційним способом завантаження та розблокування чогось у терміналі буде щось подібне:

wget http://wordpress.org/latest.tar.gz

tar xvzf latest.tar.gz

rm latest.tar.gz

Або, можливо, більш компактна форма:

wget http://wordpress.org/latest.tar.gz && tar xvzf latest.tar.gz && rm latest.tar.gz

У будь-якому випадку це трохи незграбне. Це дуже проста операція, потужна оболонка, як bash, повинна дозволити виконати таке завдання більш "плавно".

Ну, завдяки корисній невеликій команді "curl", ми можемо фактично виконати помилку вище лише в одному операторі piped:

curl http://wordpress.org/latest.tar.gz | tar xvz

Немає тимчасових файлів, щоб позбутися, не б'ючи навколо амперсанд. Одним словом, дуже компактна, ефективна команда. Фактично, з теоретичної точки зору, метод curl може бути швидшим, ніж об'єднаний wget / tar / rm інтерфейс, оскільки stdout використовує оперативну пам'ять як буфер, якщо це можливо, тоді як wget та tar (з -f-перемикачем) повинні читати / писати безпосередньо з диска.

До речі, tar з параметром -v (спосіб, яким ми користуємося у всіх наведених вище прикладах), друкує кожне ім'я файлу у форматі stdout, оскільки кожен непримірений. Це може призвести до чудового згортання, виведення ncurses з показом статусу завантаження. Ми можемо мовчати смолою, викликши її без -v таким чином:

curl http://wordpress.org/latest.tar.gz | tar xz

І все це є для цього!

Link
Plus
Send
Send
Pin