Терминал, который вы видите, является лишь одним из множества доступных терминальных приложений. В конце концов, терминал — это просто инструмент с графическим интерфейсом, который дает вам доступ к оболочке, в которой вы можете запускать команды.
Различные терминальные приложения (правильно называемые эмуляторами терминала) выглядят по-разному, имеют немного разные функции и возможности (например, разные сочетания клавиш, сочетание цветов, шрифты и т.д.).
Терминал часто пугает новых пользователей. Однако, как только вы его узнаете, он вам постепенно начинает нравиться. Что ж, такое случается с большинством пользователей Linux.
Эта статья посвящена объяснению небольших, простых и часто игнорируемых вещей об использовании терминала. Это должно помочь новым пользователям настольных компьютеров Ubuntu узнать о терминале и использовать его с несколько большей эффективностью.
1. Открытие терминала с помощью комбинации клавиш
Вы можете открыть терминал в Ubuntu, поискав его в системном меню. Однако лучший способ — использовать сочетание клавиш Ctrl+Alt+T в Ubuntu.
Ctrl+Alt+T
2. Терминал vs оболочка vs подсказка vs командная строка
Прежде чем вы увидите что-либо еще, вы должны знать разницу между различными терминологиями, которые часто (неправильно) используются как взаимозаменяемые.
Терминал — это графическое приложение, которое по умолчанию запускает оболочку.
Оболочку сложно визуализировать отдельно от терминала. Терминал запускает оболочку, обычно оболочку Bash по умолчанию в Ubuntu. Как и терминалы, есть и различные оболочки. Bash — самая популярная из них и оболочка по умолчанию в большинстве дистрибутивов Linux.
Команды, которые вы вводите, интерпретируются оболочкой. Часто люди думают, что экран, который они видят в терминале, и есть оболочка. Это нормально для понимания.
Подсказка — это то, что вы видите перед местом, где вы вводите команды. Стандартные подсказки отсутствуют. В некоторых старых терминалах у вас будет просто мигающий курсор в месте, где вы можете вводить команды. В терминале Ubuntu подсказка дает вам некоторую информацию, которую вы подробно увидите в следующих разделах этой статьи.
Командная строка не является чем-то специфическим для Linux. Каждая операционная система имеет интерфейс командной строки. Многие языки программирования имеют интерфейс командной строки. Это термин, используемый для интерфейса, в котором вы можете запускать и выполнять команды.
3. Понимание подсказки
То, что вы видите перед пробелом, в котором вы вводите команду, называется подсказкой. Она настраивается и выглядит по-разному в разных дистрибутивах, терминальных приложениях и оболочках.
Терминал Ubuntu настроил подсказку, чтобы показать вам несколько вещей. Вы можете сразу получить следующую информацию:
- Имя пользователя
- Имя хоста (имя компьютера)
- Текущий рабочий каталог
Еще несколько вещей, которые могут вас заинтересовать.
Двоеточие (:) в подсказке — это разделитель, позволяющий отличить имя хоста от текущего местоположения.
Тильда (~) означает домашний каталог текущего пользователя.
Для обычных пользователей подсказка заканчивается символом доллара ($). Для пользователя root она заканчивается символом фунта или символом решетки (#). Отсюда и шутка, что фунт сильнее доллара.
Вы заметили, что когда мы переключились на пользователя root, командная строка выглядела иначе, без каких-либо цветов? Это еще одно напоминание о том, что подсказка не является стандартом и настраивается явно. Для обычных пользователей в Ubuntu конфигурация подсказки отличается от конфигурации root.
Такая простая информация помогает косвенно. В многопользовательской среде вы можете легко определить, какого пользователя вы используете прямо сейчас и является ли он пользователем root. Отображаемое местоположение также полезно.
4. Каталог и файлы
Два термина, которые вы чаще всего слышите в Linux — это каталог и файлы.
Вы, наверное, знаете, что такое файл, но вы можете запутаться с термином «каталог». Каталог — это не что иное, как папка. Внутри него хранятся файлы и папки.
Вы можете заходить в каталоги, но не можете вводить файлы. Конечно, вы можете читать файлы.
Вы можете использовать термин «папка» для каталога, и это будет нормально. Однако лучше использовать «каталог», потому что на него вы увидите ссылки в различных руководствах, документах и т. д. Вы даже найдете такие команды, как rmdir, mkdir, намекающие, что они имеют дело с каталогами.
Дополнительное примечание: в Linux все является файлом. Даже каталог — это особый вид файла, в котором хранятся адреса файлов и каталогов внутри него.
5. Путь: абсолютный и относительный
Структура каталогов в Linux напоминает корень дерева. Все начинается с корня и распространяется оттуда.
Если вам нужно получить доступ к файлу или каталогу, вам нужно указать, как добраться до его местоположения, указав его «путь». Этот путь состоит из имен каталогов и разделителей (/). Если путь начинается с / (т. е. Корень), это абсолютный путь, в противном случае это относительный путь.
Абсолютный путь начинается от корня, и на него можно легко ссылаться из любой точки системы. Относительный путь зависит от вашего текущего местоположения в структуре каталогов.
Если вы находитесь в местоположении /home/abhishek, в котором есть каталог с именем scripts, содержащий файл my_script.sh, и вам нужен путь к этому файлу, его абсолютный путь будет:
/home/abhishek/scripts/my_script.sh
Его относительный путь будет:
scripts/my_script.sh
Если вы измените местоположение, абсолютный путь к файлу останется прежним. Однако относительный путь меняется, потому что он относительно вашего текущего пути.
6. «.» и «..»
Вы можете часто увидеть «.» и «..» обозначение при использовании терминала Linux.
Одиночная точка (.) означает текущий каталог.
Двойные точки (..) означают родительский каталог (один каталог над текущим расположением).
Вы часто будете использовать двойную точку (..) в относительном пути или для смены каталога. Одиночная точка (.) также используется в относительном пути, но, что более важно, вы можете использовать ее в командах для указания текущих местоположений.
7. Изучаем структуру команды
Типичная команда Linux состоит из имени команды, за которым следуют параметры и аргументы.
command [options] argument
Опция, как следует из названия, является необязательным. При использовании они могут изменять вывод в зависимости от своих свойств.
Например, команда cat используется для просмотра файлов. Вы можете добавить параметр -n, и он также будет отображать номера строк.
Опции не стандартизированы. Обычно они используются как одна буква с одним тире (-). Также они могут содержать два дефиса (-) и слово.
Одинаковые параметры могут иметь разное значение в разных командах. Если вы используете -n с командой head, вы указываете количество строк, которые хотите видеть, а не строк с числами.
Если в документации по командам вы видите что-то между скобками ([]), это означает, что содержимое скобок не является обязательным.
Точно так же не стандартизированы аргументы. Некоторые команды ожидают имена файлов в качестве аргументов, а некоторые могут ожидать имя каталога или регулярное выражение.
8. Получение помощи
Когда вы начинаете использовать команды, вы можете помнить некоторые параметры часто используемых команд, но вы просто не можете запомнить все параметры любой команды.
Почему? Потому что одна команда может иметь более десяти или двадцати вариантов.
Итак, что вы делаете, если не можете вспомнить все варианты? Вам нужна помощь. И при этом не хочется задавать вопрос на форуме Linux. Для этого можем воспользоваться опцией справки команды.
Каждая стандартная команда Linux имеет страницу быстрой справки, доступ к которой можно получить с помощью -h, –help или обоих.
command_name -h
Он дает вам быстрое представление о синтаксисе команд, общих параметрах с их значением и, в некоторых случаях, примерах команд.
Если вам нужна дополнительная помощь, вы можете обратиться к странице руководства, то есть к руководству по команде:
man command_name
Он содержит все детали, и может быть сложно прочитать и понять. Кроме того, вы всегда можете поискать в Интернете «примеры команд xyz в Linux».
9. Linux чувствителен к регистру
Linux чувствителен к регистру. Все, что вы вводите в терминале, чувствительно к регистру. Если вы не примете это во внимание, вы часто будете сталкиваться с ошибками bash: command not found или file not found.
В домашнем каталоге все имена папок начинаются с верхнего регистра. Если вам нужно переключиться в каталог Documents, вы должны оставить первую букву D, а не d. Иначе терминал пожалуется.
У вас может быть два отдельных файла с именами file.txt и File.txt, потому что для Linux file и File не одно и то же.
10. Запуск сценариев оболочки
Вы можете запустить сценарий оболочки, указав оболочку:
bash script.sh
Или вы можете выполнить сценарий оболочки следующим образом:
./script.sh
Второй будет работать только тогда, когда у файла есть разрешение на выполнение.
11. Используйте автозавершение табуляции вместо того, чтобы печатать все вручную
Терминал Ubuntu предварительно настроен с завершением табуляции. Это означает, что если вы начнете что-то писать в терминале, а затем нажмете tab, он попытается автоматически завершить это или предоставить параметры, если существует более одного возможного совпадения.
Он работает как для команд, так и для аргументов и имен файлов.
Это экономит массу времени, потому что вам не нужно писать все полностью.
12. Ctrl+C и Ctrl+V не предназначены для копирования и вставки в терминал
Ctrl+C, Ctrl+V могут быть «универсальными» сочетаниями клавиш для копирования и вставки, но они не работают в терминале Linux.
Linux наследует многое от UNIX, а в UNIX Ctrl+C использовался для остановки запущенного процесса.
Поскольку Ctrl+C уже использовался для остановки команды или процесса, его больше нельзя использовать для копирования и вставки.
13. Вы, конечно, можете копировать и вставлять в терминале
Не волнуйтесь. Вы все еще можете копировать и вставлять в терминале. Опять же, нет фиксированного правила для сочетаний клавиш копирования и вставки, потому что это зависит от терминального приложения, которое вы используете, или от имеющейся у вас конфигурации.
В терминале Ubuntu сочетание клавиш по умолчанию для копирования — Ctrl+Shift+C, а для вставки — Ctrl+Shift+V.
Вы можете использовать Ctrl+C, чтобы скопировать текст и команды за пределами терминала (например, в веб-браузере) и вставить их с помощью Ctrl+Shift+V. Точно так же вы можете выделить текст и использовать Ctrl+Shift+C, чтобы скопировать текст из терминала и вставить его в редактор или другие приложения с помощью Ctrl+V.
14. Избегайте использования Ctrl+S в терминале
Еще одна распространенная ошибка новичков — использование «универсального» сочетания клавиш Ctrl+S для сохранения. Если вы используете Ctrl+S в терминале, ваш терминал «зависает».
Это происходит из-за устаревших вычислений, где не было возможности прокрутки назад. Следовательно, если было много строк вывода, Ctrl+S использовался для остановки экрана, чтобы текст на экране можно было прочитать.
Вы можете разморозить свой терминал с помощью Ctrl+Q. Но опять же, избегайте использования Ctrl+S в терминале.
15. Обратите внимание на символы $ и <> в примерах команд
Если вы обратитесь к онлайн-руководству или документации, вы увидите несколько примеров команд с текстом внутри <>. Это указывает на то, что вам необходимо заменить содержимое вместе с <и> на подходящее значение.
Например, если вы видите такую команду:
grep -i <search_term> <file_name>
Вы должны заменить <search_term> и <file_name> соответствующими фактическими значениями.
Это признак того, что команда является всего лишь примером, и вы должны заполнить ее фактическими значениями.
Также следует отметить, что в некоторых руководствах показаны примеры команд, начинающиеся с символа $, например:
Это способ указать, что это команда (а не вывод команды). Но многие новые пользователи Linux копируют предыдущий $ вместе с фактической командой, и когда они вставляют его в терминал, это явно вызывает ошибку.
Итак, когда вы копируете какую-либо команду, не копируйте символ $, если он указан в начале. Вам также следует избегать копирования случайных команд для случайных веб-сайтов, особенно если вы не понимаете, что они делают.
Поскольку вы читаете о копировании команд, когда вы видите команды в нескольких строках вместе, вы должны копировать по одной строке за раз и запускать их по одной:
16. Вы можете запускать несколько команд одновременно
Вы можете запускать несколько команд одновременно без вмешательства пользователя. Возможно, вы уже видели это как пользователь Ubuntu в форме этой команды:
sudo apt update && sudo apt upgrade
Комбинировать команды в терминале можно тремя разными способами:
; | Команда 1; Команда 2 | Сначала выполнить команду 1, а затем команду 2 |
&& | Команда 1 && Команда 2 | Запускать команду 2 только в том случае, если команда 1 завершается успешно |
|| | Команда 1 || Команда 2 | Запускать команду 2 только в случае сбоя команды 1 |
17. Остановка запущенной команды Linux
Если команда Linux выполняется на переднем плане, то есть показывает вывод или вы не можете ввести какую-либо другую команду, вы можете остановить ее, используя клавиши Ctrl+C.
Итак, в следующий раз, когда вы увидите, что команда, такая как top или ping, работает постоянно, и вы хотите вернуть управление терминалом, просто используйте эти два ключа:
Ctrl+C
18. Очистить терминал
Когда вы обнаруживаете, что ваш экран слишком загроможден выводами другого типа, его можно очищать перед тем, как приступить к какой-либо другой работе.
Чтобы очистить терминал, используйте команду
clear
Вы также можете использовать сочетание клавиш Ctrl+L.
19. Выход из терминала
В нескольких случаях мы видели, как люди закрывали приложение терминала, чтобы выйти из сеанса. Вы могли бы также так сделать, но правильный способ выйти из терминала — использовать команду:
exit
Вы также можете использовать сочетание клавиш Ctrl + D для терминала Ubuntu.
полезно