Итак, в чем преимущество использования терминала? [закрыто]

Я только что установил Ubuntu пару дней назад. Насколько я могу судить, терминал - огромная часть любого дистрибутива Linux. У меня вопрос: почему? Когда я смотрю что-нибудь об этом, все команды, вводимые в терминал, легко выполняются через графический интерфейс. Итак, каковы преимущества использования терминала?

Edit: Всем спасибо за ответы. После небольшого осмотра и с помощью ваших ответов я теперь могу понять его использование. Я могу с гордостью сказать, что последние 3 дня я использую его практически для всего, и я надеюсь, что скоро лучше пойму сценарии.

62
задан 17 January 2016 в 03:12

16 ответов

Я хотел бы добавить побочный момент, который, кажется, не упоминается, даже если это не настоящее преимущество.

Подумайте о том, что графический интерфейс похож на «панель», которая предоставляет доступ к функциям, которые есть в реальной программе . Многие программы, особенно если в ранней версии, не имеют графического интерфейса, и вы можете запускать их только из терминала. И, как отмечали другие, даже приложения, которые имеют графический интерфейс, иногда не имеют интерфейсов для всех функций; для этих функций вы должны использовать терминал.

0
ответ дан 17 January 2016 в 03:12

Я даже не вижу смысла проверять ответ, лол. Так или иначе. Терминал похож на ваш CMD на Windows. В те дни, до появления GUI, люди программировали и работали в режиме DOS, в значительной степени, в терминале. GUI сделан, чтобы сделать задачу проще и проще, но иногда использование GUI на самом деле требует больше работы.

Например, как разработчик, если я просто хочу скомпилировать программу на C ++, мне не нужно использовать сложную IDE. IDE - это графический интерфейс, который имеет много дополнительных функций, которые не предлагает простой текстовый редактор. Поэтому вместо загрузки действительно огромной IDE для простой задачи я могу написать следующее, и она выполнит мою программу на C ++, исполняемый файл которой называется main.

g++ -o main main.cpp
chmod 777 main
./main

Если вы используете язык интерпретатора, такой как Python, вы можете войти в интерактивную оболочку Python. Да. Есть интерактивные оболочки, которые заключены в красивый графический интерфейс, но он медленнее и глючит (о, думаю, IDLE ...)

Иногда, когда графический интерфейс не работает, вы можете попытаться использовать Terminal, чтобы открыть его. Иногда, некоторые программы в Linux не предлагают хорошего графического интерфейса, или очень трудно найти, где находится программа запуска GUI, вы просто идете в Терминал и набираете, например:

xpdf homework.pdf

Это откроет домашнюю работу .pdf для вас.

В других ситуациях GUI не предлагает достаточно силы и магии, чтобы выполнить вашу задачу. Некоторые функции поиска очень просты, и вы не можете применить глубинный поиск или сложный шаблон поиска. Но через терминал можно выдать команду с очень сложным и длинным шаблоном.

Графический интерфейс приятен, но иногда с помощью команд вы тоже можете все упростить. Иногда у вас просто нет выбора: вы должны использовать команды через терминалы.

0
ответ дан 17 January 2016 в 03:12

Терминал в Unix - замечательный, мощный инструмент. При переходе из мира Windows это трудно оценить, поскольку оболочка Windows (cmd.exe), как мне приятно сказать, отсутствует. Большинство * nix-оболочек по умолчанию (bash, zsh и т. Д.) Имеют несколько преимуществ:

  1. Он стандартизирован через POSIX и спецификацию Single Unix, поэтому скрипт, который вы пишете для компьютер, вероятно, будет работать на всех POSIX-совместимых машинах (при условии, что вы ограничиваетесь стандартными командами, из которых лотов ). Microsoft имеет привычку включать инструменты в некоторых версиях, а не в других, что делает пакетное программирование очень популярным

  2. Поскольку Unix был собран из терминала, большинство всего настраивается с помощью команды линия. До некоторой степени Windows была такой, но они решили отказаться от 16-битной подсистемы и DOS вместе с ней. Теперь графический интерфейс - это единственный способ изменить некоторые вещи в Windows.

  3. Потому что это так гибко. Команды могут быть переданы по конвейеру (ls | grep filename), они могут быть записаны (gcc program.c > ./standard_out 2> ./standard_error) и могут быть заменены (ls /home/`whoami` или ls /home/$(whoami))

  4. Поскольку утилиты UNIX являются разработан, чтобы сделать одну вещь, и делать это хорошо. Просто посмотрите в awk, grep, sed, wget или множество других. Сами по себе они выполняют одну задачу, но, учитывая № 3 и № 2, их можно встроить в мощные выражения.

  5. Из-за способности автоматизировать задачи. cron и сценарии bash позволяют упростить или полностью автоматизировать длинные, сложные и / или повторяющиеся задачи.

  6. Потому что люди склонны к ошибкам. Относительно короткие сценарии оболочки могут использоваться для последовательного изменения настроек. Проверки безопасности могут быть встроены в сценарии, вместо того, чтобы полагаться на то, что пользователи знают, какие команды безопасно выполнять при различных обстоятельствах.

0
ответ дан 17 January 2016 в 03:12

Командная строка работает довольно хорошо, как и в Windows - помните, что поле ввода текста msdos с черным фоном?

Это дает пользователю возможность давать команды непосредственно на компьютер без утечки на ресурсы компьютера, которые приносит графический интерфейс. Это также способ выдачи мощных команд для выполнения действий, которые не могут быть выполнены через графический интерфейс.

Я не отказываюсь от полезности графического интерфейса, но в руках опытного оператора способ командной строки может быть чрезвычайно быстрым и эффективным. В руках настоящего волшебника командная строка творит чудеса. Я едва поцарапал поверхность возможностей, каждый день узнавал что-то новое. Я никогда не буду волшебником - слишком старым, - но я бы хотел быть средним оператором однажды ...

Добро пожаловать в Ubuntu и спросить Ubuntu. Это отличное место !!

0
ответ дан 17 January 2016 в 03:12

Я просто хочу поделиться с примером, который я считаю очень полезным, из инструкции по добавлению PPA для VirtualBox. Когда вы добавляете PPA, вы также должны зарегистрировать открытый ключ, поэтому метод GUI:

  • загрузить ключ с помощью Firefox (или другого браузера)
  • открыть Synaptic (или другой графический интерфейс APT). )
  • поиск нужного пункта меню
  • поиск загруженного файла
  • окончательное подтверждение

Объяснение этого в руководстве пользователя может быть дорогим! Вместо этого это можно сделать с помощью одного & amp; простая командная строка:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
0
ответ дан 17 January 2016 в 03:12

Все хорошо описали преимущества, я просто хотел бы добавить это помимо прозрачности, где вы можете увидеть все перечисленные зависимости, их скорость. После выхода Synaptic из Ubuntu, центр программного обеспечения слишком запаздывает, особенно на медленных машинах, здесь установка с терминала происходит намного быстрее.

0
ответ дан 17 January 2016 в 03:12

Для новичка использование терминала - рутина, но если вы начнете изучать, как его использовать, станет легче. Как только вы чувствуете себя комфортно с ним, это дает вам чувство уверенности, что вы можете справиться с вещами, когда они идут не так, как надо.

Например, когда программа графического интерфейса отказывается запускаться, и вы не имеете ни малейшего представления о том, что не так, вы можете запустить команду в терминале и часто видеть причину проблемы в выводе терминала. Затем вы можете скопировать часть этого в поиск и найти ответ, если это необходимо.

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

Если что-то идет не так и графический интерфейс вообще не запускается, вы часто можете открыть виртуальный терминал или, возможно, просто командную строку при загрузке, и исправить проблему, отредактировав файл конфигурации или запустив программу командной строки. .

0
ответ дан 17 January 2016 в 03:12

Проще говоря, у вас есть более ста клавиш, которые могут управлять / разговаривать / заказывать компьютер, а не одна мышь с двумя или тремя кнопками. Чем больше у вас элементов управления, тем быстрее вы можете быть.

Для тех, кто не знает печатания, экранная клавиатура может выглядеть великолепно. Как бы быстро вы ни использовали мышь, вы не можете печатать быстрее, чем при использовании клавиатуры.

Если вы используете мышь / окна, это похоже на то, как компьютер контролирует вас и диктует, что вы можете сделать. Когда вы привыкнете к миру командной строки, вы почувствуете, что вся система находится под вашим контролем в ожидании вашего заказа. Вам нужно испытать это, чтобы понять разницу.

0
ответ дан 17 January 2016 в 03:12

В ответах есть несколько хороших замечаний, но у меня есть еще одно замечание. Иногда после установки или обновления приложение с графическим интерфейсом не запускается и оставляет вас без сообщений об ошибках. В этих случаях может быть очень полезно открыть окно терминала и запустить AP из командной строки. На терминале почти всегда больше информации, чем представлено при запуске из графического интерфейса.

0
ответ дан 17 January 2016 в 03:12

Интерфейс командной строки быстро использовать, когда вы точно знаете, что вы хотите сделать и как это сделать. Это может быть намного эффективнее, чем использование графического интерфейса. Кроме того, если вы хотите удаленно подключиться к вашей машине, CLI намного проще на медленном канале. Если вы знакомы с CLI, вы также можете воспользоваться сценариями.

Если вы воспользуетесь Google CliS и GUI, вы получите тонны хитов, например:

http://www.computerhope.com/issues/ch000619.htm

Ваш вопрос на самом деле не относится к Ubuntu, Linux или даже ПК - вы обсуждаете эту тему в любой системе, которая поддерживает графический интерфейс, например, настройка маршрутизаторов Cisco.

0
ответ дан 17 January 2016 в 03:12

Я просто отвечал на подобный вопрос на днях. Оказалось, что этот человек никогда не использовал сочетания клавиш для каких-либо действий, поэтому это было долгое обсуждение. Я надеюсь, что вы немного знакомы с ними ... это сделало бы мои пункты более понятными.

Подумайте об использовании текстового процессора. Если вы сохраняете файл, вы можете использовать сочетание клавиш, например ctrl-s. Кто-то может сказать: «Я предпочитаю использовать меню. Это не экономит мне много времени, чтобы использовать ярлык. И если вам нужно сохранить новый файл, вам нужно перейти через файловую систему в каталог, а затем набрать имя в любом случае. " Таким образом, этот возражающий является правильным, что каждое сочетание клавиш само по себе не экономит значительное количество времени. Истинная экономия заключается в объединении сочетаний клавиш, например выбрать все, вырезать, вставить. Даже производители текстовых процессоров осознали это и сделали более удобным доступ к файловой структуре с помощью клавиатуры, например, возможность доступа к последним папкам / местоположениям с помощью клавиш со стрелками и вкладками.

Конечно, для выделения фрагментов текста часто требуется мышь ... именно поэтому программисты и люди, которые много редактируют, предпочитают использовать текстовый редактор, который поддерживает полноценное использование клавиатуры, поэтому вам никогда не придется использовать мышь , Мышь не только медленная , но и подвержена ошибкам - особенно легко выбрать или удалить неправильный текст.

А какое это имеет отношение к командной строке? Преимущество командной строки в том, что она избегает использования медленной, подверженной ошибкам мыши. Вместо этого вы печатаете и делаете это из одного места; Вам не нужно искать другое меню или кликать туда-сюда. По этой же причине людям нравится использовать сочетания клавиш веб-браузера (чтобы открывать новые вкладки / окна, использовать Gmail и т. Д.); им в любом случае придется ввести URL (или адрес электронной почты или что-то еще) ... зачем убирать руку от клавиш?

Но самое главное, как сочетания клавиш являются наиболее мощными, когда вы Начните использовать их все вместе (а не только одну или две), вы можете объединять команды в команды, чтобы делать более мощные вещи, которые либо будут проходить вечно через GUI, либо вы даже не представляете себе, что делать вообще. Например, из командной строки вы можете сообщить своему веб-браузеру, что я хочу постоянно обновлять эту веб-страницу каждые 30 секунд, искать определенный текст, и когда это произойдет, отправьте мне и группе контактов электронное письмо, сообщающее, что текст появился на веб-странице. В качестве другого примера, вы можете сказать своему компьютеру: я хочу просмотреть ВСЕ письма, которые я когда-либо писал, найти ссылку на эту конкретную книгу, составить список дат, о которых я упомянул, и кому, упорядочить список согласно частоту, и поместите это в это письмо, которое я сейчас печатаю.

0
ответ дан 17 January 2016 в 03:12

Еще один момент, который нужно добавить: Забавно использовать командную строку! ;)

( http://vladdolezal.com/blog/2008/the-real- причина-мы-использование-Linux / )

0
ответ дан 17 January 2016 в 03:12

В конечном счете? Поскольку Вы начинаете писать сценарий, и замечательная вещь о сценариях - это:

Вместо того, чтобы изменить путь Вы делаете вещи, можно изменить сценарий, который делает их.

Можно записать сценарии для терминала, и Вы обычно не можете для графических программ, таким образом, вот почему люди используют терминал.

Но я обнаруживаю подсказку, "Почему я должен использовать терминал?" в Вашем вопросе. Я не могу ответить, что для Вас, при этом Вы - Вы и я быть не - но этот связанный вопрос можно предложить Вам некоторое понимание:

Как/почему люди заканчивают тем, что использовали быть пользователями командной строки?

Я думаю, что Вы могли определить три этапа: (1) неохотное использование; (2) знание минимума необходимо для комфорта; (3) нахождение того любит писать сценарий. Можно вытащить использование из терминала на всех трех из этих уровней; узнайте для себя, где Ваше любопытство останавливается. Кроме того, можно пройти через эти этапы очень быстро действительно, если Вы просто решаете, что каждый хочет изучить сценарии оболочки.

  1. “Мне нужна эта программа, таким образом, я предполагаю, что буду использовать командную строку”.

    Это запускается, обычно, потому что люди находят, что им нужно что-то специалист или хитрый, и программа, что друг Google/a forum/a рекомендует для поворотов быть программой командной строки. Так, они открывают терминал и вводят то, что инструкции говорят им вводить, и это - то, как они прибывают для использования терминала. Примеры таких программ, которые заставляют Вас использовать командную строку:

    • ЛАТЕКС/TEX/КОНТЕКСТ (различные ароматы той же системы) берет текстовый файл и превращает ее в красивый документ в формате PDF. Посмотрите эту витрину для примеров; мне скорее нравятся 'стр' и 'LM-Volume-manuscript'.
    • rename прекрасная небольшая программа, которая позволяет Вам переименовать тонны файлов согласно шаблону. Простой пример: rename s/myfile([0-9]+).txt/$1-myfile.txt/ повороты все файлы, названные как 'bond007.txt' в '007-bond.txt', каково число. Возможно, Вы хотите переименовать некоторые музыкальные файлы альбома, Вы видите.
    • Возможно, Вы хотите выполнить веб-сайт от своего компьютера, и Вы обнаруживаете, что, если Вы хотите сказать веб-серверу выполнять/останавливать/обновлять свою конфигурацию, необходимо дать терминальную команду.

    Обратите внимание, что существуют графические фронтенды для многих из этих систем, но это не относится к делу: вызов командной строки является распространенным и традиционным, много ПРАКТИЧЕСКИХ РУКОВОДСТВ принимают это, и это - то, как он запускается. Поскольку:

  2. “Хорошо, я немного более удобен теперь”.

    Однажды в командной строке, люди начинают думать: не Был бы это быть легким, если я мог просто..

    • ... каталоги изменения для взгляда в другом? (cd mydir, для 'каталога изменения')
    • ... получить быстрое напоминание текстовых файлов в этом каталоге? (ls *.txt, для 'списка')
    • ... переместиться/переименовать файл? скопировать файл? удалить файл? (mv myfile newname, cp myfile mycopy, и rm myfile, для 'перемещения', 'копии', и 'удаляют'),
    • ... открыть этот файл для редактирования/просмотра? (gedit myfile, или leafpad, или nano, или vim,или что бы то ни было.)

    После того как люди изучили эти пять команд, они чрезвычайно удобны в командной строке: они могут переместиться, посмотрите и взаимодействуйте. Это даже немного мощно: можно воздействовать на целые группы файлов сразу с командами как mv iceland-*.jpg My_Iceland_Pics/, и разве который не прохладен?

    Теперь, много людей счастливо останавливается здесь. Они знают, как использовать терминал, они будут использовать его, когда им будет нужен он, и это - все. Это - "терминал, полезный" уровень. Люди, которые предпочитают терминал, однако, обычно делают так, потому что им нужно/хочет/чувствует, они не могут обойтись без захватывающего питания те сценарии предложения. И это обычно запускается как это:

  3. “Эй, сценарий является просто некоторыми командами в файле!”

    Эта реализация может привести к нескольким дальнейшим изменениям, в зависимости от человека. Многие просто идут 'meh', конечно; нет никакого смысла в изучении, в чем Вы не нуждаетесь. Так или иначе вещи как это могут произойти:

    • Вы начинаете использовать небольшие сценарии для автоматизации скучного материала. Некоторые Вы пишете себя; некоторые Вы добираетесь от кого-то еще; и в конечном счете, Вы начинаете изменять сценарии других людей.
    • Вы обнаруживаете, что огромная категория вещей, которые Вы раньше делали вручную, потому что она потребовала thinking-in-between, может быть автоматизирована с помощью этих двух конструкций:
      • if something_is_true; then step1a; step2; else step1b; fi, и
      • for file in list_of_files; do process1 $file; process2 $file; step3; done
    • Сталкивающийся со скучной или сложной задачей, Вы находите, что записали бы сценарий для нее, чем сделали бы это вручную. Это даже не для экономии времени или reuseability, обязательно, но просто потому что он представляет больший интерес.
    • Вы начинаете использовать 'сценарий использования на исходном файле' рабочий процесс много, потому что он соответствует способу, которым Вы думаете.

Вы не можете испытать все или даже любого, этих вещей. Чем больше относится к Вам, однако, тем лучше терминал будет для Вас. Вы узнаете для себя, насколько Вы заканчиваете тем, что использовали его.развлекайтесь!

Сообщение scriptum. В программировании script -> run -> result и input -> process -> output рабочие процессы чрезвычайно распространены, и терминал эффектно подходит для этих рабочих процессов. Добавьте к этому то, что оболочка действительно является только другим языком программирования, и Вы будете видеть, почему существует такое огромное перекрытие между пользователями командной строки и программистами.

18
ответ дан 17 January 2016 в 03:12

Мой любимый - меньше печатать . Как это может быть, я слышу, вы спрашиваете. Что ж, я вхожу в систему, веду обратный поиск или стрелку вверх) для команды, которую я набрал на прошлой неделе, и нажал возврат каретки. Альтернатива - гораздо больше щелчков мышью (и попытка запомнить).

Мой второй фаворит - он позволяет легче отвечать на вопросы о переполнении стека; Снимки экрана не нужны, только текст.

0
ответ дан 17 January 2016 в 03:12

Существует множество преимуществ использования терминала. Аргументы варьируются от удобства, производительности до ностальгии. Вот некоторые из них:

  1. Есть некоторые вещи, которые вы (точнее я) просто не можете выполнить с помощью графического интерфейса. Это не потому, что это не выполнимо, это просто потому, что никто не удосужился написать GUI для этих команд. Например, если я хотел использовать какую-нибудь команду, скажем mdf2iso, чтобы преобразовать целую кучу файлов в папку. Я могу передать вывод, используя оператор |, и сделать это за один ход.

  2. Для многих из нас это просто так, как должно быть. Имейте в виду, что это имеет мало общего с опытом. Я не эксперт по Linux, я просто обычный пользователь, но я предпочитаю использовать командную строку везде, где это возможно. Это не столько аргумент о том, почему его следует использовать, сколько то, почему он используется.

  3. Скрипты - мощная вещь. Вы можете использовать условия if и циклы for и т. Д. И делать все что угодно, комбинируя силу выше. Там нет предела мощности сценариев. Вы можете автоматизировать сложные задачи, которые соответствуют вашим требованиям. Для таких вещей часто бывает трудно найти приложение с графическим интерфейсом, которое соответствует вашим требованиям.

  4. Вы можете выполнять задачи с помощью удаленного входа, даже при очень низкой пропускной способности.

  5. Помощь, написание учебных пособий и т. Д. Намного проще, если вы можете указать команды другому человеку. Таким образом, вам не нужно делать скриншоты. Это имеет еще одно преимущество для человека, которому также помогают, что подводит нас к следующему пункту.

  6. Использование командной строки обычно дает вам лучшее понимание того, что вы делаете и что происходит.

  7. И, наконец, это просто быстрее. Гораздо быстрее набрать несколько букв и нажать TAB , чем нажимать бесконечные пункты меню. Вы можете использовать !mo для вызова последней выполненной вами команды, которая началась с mo (например, mount) и т. Д.

Я уверен, что есть тысяча других причин, которые я не упомянул.

0
ответ дан 17 January 2016 в 03:12

Как насчет того, когда вам нужно сделать что-либо как «root»? Вход в систему через графический интерфейс пользователя root является плохой идеей (и я даже не думаю, что Ubuntu позволит вам сделать это по умолчанию).

Кроме того, учтите, что Linux GUI (X11) - это просто работающая программа, как и все остальное. Если X11 потерпит крах, вы будете рады, что знаете свою командную строку.

0
ответ дан 17 January 2016 в 03:12

Другие вопросы по тегам:

Похожие вопросы: