Домашняя » как » Linux QuickTip Загрузка и распаковка за один шаг

    Linux QuickTip Загрузка и распаковка за один шаг

    В большинстве случаев, когда я что-то скачиваю, это какой-то файловый архив - обычно тарбол или zip-файл. Это может быть некоторый исходный код для приложения, которое не включено в дерево 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», мы можем на самом деле справиться с беспорядком, описанным выше, всего одним оператором:

    завиток http://wordpress.org/latest.tar.gz | tar xvz

    Нет временных файлов, от которых можно избавиться, нет возни с амперсандами. Короче говоря, очень компактная, эффективная команда. Фактически, с теоретической точки зрения, метод curl может быть быстрее, чем сцепленный беспорядок wget / tar / rm, так как трубопровод stdout будет использовать RAM в качестве буфера, если это возможно, тогда как wget и tar (с ключом -f) должны читать / записывать прямо с диска.

    Между прочим, tar с параметром -v (как мы его используем во всех приведенных выше примерах) печатает каждое имя файла в стандартный вывод, поскольку каждый не подвергается обработке. Это может помешать хорошему выводу curl, показывающему состояние загрузки. Мы можем отключить tar, вызвав его без -v таким образом:

    завиток http://wordpress.org/latest.tar.gz | tar xz

    И это все, что нужно сделать!