Linux QuickTip: загрузка и разгрузка в один шаг

Linux QuickTip: загрузка и разгрузка в один шаг
Linux QuickTip: загрузка и разгрузка в один шаг

Видео: Linux QuickTip: загрузка и разгрузка в один шаг

Видео: Linux QuickTip: загрузка и разгрузка в один шаг
Видео: Как снять защиту с листа и со структуры книги Excel - YouTube 2024, Май
Anonim

В большинстве случаев, когда я загружаю что-то, это файловый архив какого-то типа - обычно это tarball или zip-файл. Это может быть какой-то исходный код для приложения, которое не входит в дерево Portage Gentoo, некоторые документы для внутреннего корпоративного приложения или даже что-то столь же обыденное, как новая установка WordPress.

Традиционный способ загрузки и разворота чего-либо в терминале будет примерно таким:

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

tar xvzf latest.tar.gz

rm latest.tar.gz

Или, может быть, более компактная форма:

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

В любом случае это немного неуклюжий. Это очень простая операция, мощная оболочка, такая как bash, должна позволять выполнять такую задачу более «гладким» способом.

Ну, благодаря полезной маленькой команде «завиток», мы можем фактически выполнить беспорядок выше в одном сообщении:

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

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

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

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

И это все!

Рекомендуемые: