Я уже описывал в статье Терминальные команды в Linux о том из чего состоят команды, как запускаются и зачем нужно знать о них простому пользователю.
В данной статье мне хотелось бы рассказать об одной, часто встречающейся связке команд, которая объединяет несколько команд для выполнения в терминале, в одну общую.
Теперь более конкретно.
Очень часто в поиске по установке каких-то программ мы находим инструкцию, состоящую из нескольких команд, которые нужно выполнить в терминале последовательно, т.е. одну за другой после завершения предыдущей (пример, просьба не выполнять):
Откройте терминал, скопируйте и выполните эту последовательность команд, на свой страх и риск:
1. Переходим в папку tmp, чтобы при следующем входе в систему после установки ядра, данные пакеты были удалены автоматически:
cd /tmp
2. Загрузка deb пакетов:
Для 32-bit (одной командой)
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.9.6-saucy/linux-headers-3.9.6-030906-generic_3.9.6-030906.201306131535_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.9.6-saucy/linux-headers-3.9.6-030906_3.9.6-030906.201306131535_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.9.6-saucy/linux-image-3.9.6-030906-generic_3.9.6-030906.201306131535_i386.deb
3. После загрузки, выполните команду на их установку в системе.
sudo dpkg -i *.deb
Но можно эти же команды объединить в одну и выполнить её за один раз:
cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.9.6-saucy/linux-headers-3.9.6-030906-generic_3.9.6-030906.201306131535_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.9.6-saucy/linux-headers-3.9.6-030906_3.9.6-030906.201306131535_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.9.6-saucy/linux-image-3.9.6-030906-generic_3.9.6-030906.201306131535_i386.deb && sudo dpkg -i *.deb
Как видно во втором варианте вся разница в объединении команд в одну состоит в том, что данные команды следуют одна за другой в неизменном виде после пробела, двух разделительных знаков && (амперсандов) и вновь пробела. Т.е. в данном случае сдвоенный знак амперсанд && в команде даёт терминалу понять, что до тех пор пока не будет выполнена до конца предыдущая команда, не выполнять следующую и т.д. Как правило используется когда в общей команде присутствуют команды с правами администратора, а именно с sudo.
Скопируйте и выполните эти две безобидные команды раздельно:
sudo apt-get update
sudo apt-get upgrade
А теперь одной командой:
sudo apt-get update && sudo apt-get upgrade
И, как говорится, почувствуйте разницу.
Вот и всё.
Удачи.
однако, RTFM ;=)
ОтветитьУдалитьНужный пост. Описание человеческим языком очень продвигает в понимании.
ОтветитьУдалитьКстати, в связке sudo apt-get update && sudo apt-get upgrade, лучше использовать параметр -y
ОтветитьУдалитьsudo apt-get -y upgrade
Тогда программа не будет спрашивать разрешение на установление новых пакетов, а сразу их поставит.
В данном случае речь не шла о команде sudo apt-get upgrade, как таковой, а о связке команд в одну общую команду. Поэтому думаю не стоит смешивать всё в одну "кучу". Иначе пользователь забудет зачем открыл данную страницу сайта.
Удалить