Як ввести наступний рядок у Терміналі?


16

Я використовую Ubuntu 12.10 і хочу запустити набір команд у терміналі, і, як я бачу в інструкціях, ці команди починаються з нового рядка. Я не знаю, як це зробити в терміналі. Я не можу знайти, яку клавішу натиснути, щоб зробити перевезення до наступного рядка.


4
Ви можете відокремити команди, використовуючи крапку з двокрапкою ";", наприклад cd home; mkdir тест; ls -la
LnxSlck

9
@LnxSlck: Хоча часто бажано розділяти команди &&замість, ніж ;. Таким чином, якщо одна з команд вийде з ладу, інші команди не будуть виконуватися. Отже, використовуючи свій приклад, якщо homeйого не існує, ви не випадково створите testкаталог у поточному каталозі.
хаммар

Відповіді:


16

Команди, які ви бачите у кожному рядку, виконуються по черзі.

Отже після введення рядка натисніть клавішу Enter для виконання, а потім виконайте наступну команду.

Приклад:

sudo apt-get update
sudo apt-get upgrade

Це дві команди, які виконуються одна за одною.

Виконати відразу це буде як sudo apt-get update && sudo apt-get upgrade (є й інші методи), але ця річ взагалі не вимагає. Тому не хвилюйтесь. Введіть один рядок і натисніть клавішу Enter, це зробить свою роботу.


Дуже дякую за вашу пораду ,, Я б хотів, щоб я знав це раніше !!! Все-таки ми живемо і вчимося :-)
Деббі Пул

4
@ user113090 Якщо Web-E відповів на ваше запитання, не забудьте позначити його відповідь як прийняту відповідь.
Декан

12

Як Web-E пояснює найбільш прямий спосіб робити те, що ви хочете, за допомогою двох різних команд, я подумав, що я покажу, що існує кілька способів виконання декількох команд або продовження команд на інший рядок, не одразу виконуючи їх.

Продовжуючи довгі команди:

1) Найпоширеніший спосіб побудувати одну довгу команду - це ввести ваші команди, потім скористатися зворотною косою рисою \, натиснути клавішу return, і тоді Bash надасть вам ще один підказку замість виконання команди. Цей вторинний запит називається PS2 і чекає вашого введення:

find /home/mike/Downloads -type f -iname '*.jpg' \
> 

Ви можете продовжувати додавати зворотні косої риси і натискати клавішу return, поки захочете, доки ви думаєте, що загальна команда матиме сенс.

Ви можете скасувати цю вторинну підказку за допомогою звичайного Ctrl+ C.

2) Bash розпізнає деякі команди, такі як для циклів (для i in ....), і підказка з'явиться негайно; так само, як це буде, якщо ви пропустите лапки в команді:

apt-cache search 'libgimp*
> 

Кілька команд :

3) Як зазначає Lxnslck , ви можете розділяти команди крапками з комою:

which vlc; whereis vlc

/usr/bin/vlc
vlc: /usr/bin/vlc /etc/vlc /usr/lib/vlc /usr/bin/X11/vlc /usr/share/vlc /usr/share/man/man1/vlc.1.gz

4) Або ви можете використовувати ampersand, &&щоб з'єднати дві команди:

./configure && make

4

Ви можете натиснути клавішу ENTER після кожного рядка, і якщо команда не припиняється (команди mutiline, як for цикли), термінал буде чекати, коли ви введете решту команди. Якщо команда припиняється, вона буде виконана, і ви введете наступну команду після, немає проблем.

Якщо ви копіюєте команди з підручника, ви можете скопіювати всю групу команд і вставити її безпосередньо в термінал, і вона спрацює.


1

Якщо це набір команд, які ви очікуєте використовувати не один раз, вам слід помістити їх у файл скриптів bash . Наприклад,

xrandr --newmode "1280x960_80.00" 139.25  1280 1368 1504 1728  960 963 967 1008 -hsync +vsync
xrandr --verbose --addmode VGA1 "1280x960_80.00"
xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 1280x512 --rotate normal --output DP1 --off --output VGA1 --mode "1280x960_80.00" --pos 0x0 --rotate normal
sleep 3
xfce4-panel -r

це не те, що ви хотіли б вводити ще раз, але мені трапляється дуже часто потрібна саме ця послідовність команд. Отже, це у файлі під назвою 1280x980-2head.sh, ви можете створити його за допомогою будь-якого редактора на ваш вибір. Для того, щоб зробити цей скрипт виконуваним , ви поставите лінію #!/bin/bashперед усім (а притон ), і встановити виконання-дозвіл: chmod +x 1280x980-2head.sh. Потім, просто набравши ./128<tab>(автозавершення) та <enter>виконайте всі команди.


0

Ви можете поставити все в дужки; наприклад:

(sudo add-apt-repository ppa:foo/bar
sudo apt-get update
sudo apt-get install my-package)

Команди будуть виконуватись одна за одною в підколонці.

Якщо ви не хочете, щоб вони виконувались у підколонці, ви можете поставити крапку з комою між командою та іншою; наприклад:

sudo add-apt-repository ppa:foo/bar; sudo apt-get update; sudo apt-get install my-package

Натомість, якщо ви покладете "&&" між кожною командою, команда, що слідує за "&&", буде виконуватися лише в тому випадку, якщо попередня команда закінчилася без помилок, тому вам не доведеться використовувати її для об'єднання команд; використовуйте крапки з комою. І навпаки, якщо ви поставите "||", наступна команда буде виконуватися лише в тому випадку, якщо перша запускається з помилкою. Приклад: (команда "котрий" перевіряє, чи існує програма, і якщо не виходить із помилкою)

which apt-get && echo "No error" || echo "Error"    # Will print "No error"
which jdhdsd && echo "No error" || echo "Error"  # Will print "Error"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.