Некоторые особенности терминальных команд в Ubuntu/Linux Mint

Вторник, 24 сентября 2013, 10:45
Размещено в рубрике Лента новостей и имеет 0 комментариев.

Я уже описывал в статье Терминальные команды в 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

И, как говорится, почувствуйте разницу.

Вот и всё.

Удачи.

Ссылка на источник compizomania
24-09-2013.



Комментирование и пинг закрыты.