Что содержит строка подсказки linux

Обновлено: 03.07.2024

Опубликовано: 26 февраля 2020 г. | Кирти Чинтагунтла

Обработка ошибок Bash на примере

Дополнительные ресурсы по Linux

Если вы новичок в Linux, велика вероятность, что первое, что вы заметите, это термин "командная строка". Вам, наверное, интересно, что такое командная строка, что это за разные символы и что они означают. Не волнуйтесь, вы не одиноки. В этой статье я разъясню вам терминологию и символы.

Что такое командная строка?

Теперь вы знаете, что такое эмулятор терминала и что такое оболочка, из моей предыдущей статьи Как открыть окно терминала Linux. Возможно, вам понадобится быстро освежить в памяти эти два термина. Проще говоря, командная строка — это поле ввода в эмуляторе терминала (CLI), которое позволяет вам вводить/выдавать команды. Командная строка предоставляет пользователю некоторую полезную информацию.

Командная строка пользователя $

Ваша командная строка будет отличаться от моей. Посмотрите на мою командную строку на скриншоте выше. Мое приглашение «[kc@localhost ~] $» — это текстовое поле, в котором содержится некоторая информация о системе Linux. Вы увидите «мигающий курсор», за которым следует приглашение, ожидающее ваших команд. Далее я разобью это приглашение на более мелкие части, чтобы вы могли понять, что они означают.

Текст между «[]»

Текст «kc» (Мои инициалы) — это имя пользователя, вошедшего в систему в данный момент.

Символ '@' – это разделитель между именем пользователя и именем хоста. Обозначение «localhost» — это имя моей системы Linux (имя хоста) и значение по умолчанию для любой недавно установленной системы, если вы не укажете имя хоста во время установки. Вы можете изменить свое имя хоста с помощью команды hostnamectl.

Значок '~' представляет собой домашний каталог текущего пользователя, вошедшего в систему. Эта часть командной строки просто отображает ваш текущий рабочий каталог. Моя подсказка на изображении выше показывает `~`, что означает, что я сейчас работаю в своем домашнем каталоге, который называется '/home/kc'. Если вы перейдете в другой каталог, здесь вы найдете место, где сейчас работаете, это очень полезная информация, так что вы не потеряетесь в файловой системе.

Если я перейду в каталог /etc, появится приглашение: [kc@localhost и т. д.] $. Однако, если я перехожу в каталог /etc/sysconfig, мое приглашение отображается как: [kc@localhost sysconfig] $. Полный путь не отображается в приглашении, а отображается только текущий рабочий каталог.

Значок $ означает, что я вошел в эту систему как обычный пользователь. Символ $ используется по умолчанию для обычных пользователей.

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

Командная строка задается переменной окружения "PS1", вы можете увидеть, какое значение имеет ваша текущая переменная "PS1", введя эту команду:

Символ "$" перед именем переменной PS1 отличается от символа "$" в конце подсказки. Переменные оболочки обозначаются $VARNAME. Символ $ перед именем переменной интерпретируется системой как переменная. Например, вы можете установить свои собственные переменные и вызвать их из оболочки:

Чтобы просмотреть определение командной строки, используйте команду:

Изменение подсказки

Вы можете изменить свое приглашение на другое, изменив значение переменной $PS1.

Настройка приглашения пользователя

Чтобы сделать это изменение в вашей подсказке постоянным, добавьте изменение в файл .bashrc в вашем домашнем каталоге.

Подведение итогов

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

Хотите попробовать Red Hat Enterprise Linux? Загрузите его сейчас бесплатно.

В этой статье

Перейти к разделу

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

Хотя эта эволюция помогает привлечь новых пользователей к открытому исходному коду, она позволяет избежать одной неизбежной истины: командная строка обеспечивает значительную мощность и гибкость операционной системы. Это верно для Linux, Windows и macOS. И хотя некоторые команды невероятно сложны, большинство из них таковыми не являются.

Давайте узнаем, что такое командная строка Linux и как ее использовать.

Что такое интерфейс командной строки?

Скриншот терминала Linux.

CLI означает интерфейс командной строки. Это инструмент, который вы используете для запуска команд. Он состоит из двух отдельных компонентов:

  • Оболочка: оболочка — это интерпретатор, который может преобразовать введенный вами текст во что-то, пригодное для использования операционной системой. Linux поддерживает несколько разных оболочек, наиболее распространенной из которых является bash (что означает Bourne Again Shell). Без оболочки то, что вы вводите в командной строке, не будет использоваться операционной системой.
  • Эмулятор терминала. Это маленькое окно эмулирует терминал Linux. Чаще всего серверы Linux не включают рабочий стол, поэтому, когда вы входите в такую ​​​​машину, вас встречает терминал, который включает в себя приглашение оболочки и не более того. В системе с рабочим столом этот терминал необходимо эмулировать. Эту функцию предлагают такие приложения, как GNOME Terminal, Konsole и LXTerminal.

Зачем использовать интерфейс командной строки?

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

Однако использование интерфейса командной строки является эффективным средством решения многих задач. Помимо того, что это делает вашу жизнь более эффективной, это также обеспечивает уровень гибкости рабочего стола, которого вы не найдете в инструментах с графическим интерфейсом. Хотя вы найдете инструмент с графическим интерфейсом для каждой задачи, которую вы выполняете в Linux, некоторые из этих графических интерфейсов не охватывают всего того, что предлагает опция CLI. Например, большинство настольных компьютеров Linux используют для звука pulseaudio.

Скриншот настроек звука в Elementary OS.

Одна вещь, которую вы не можете сделать, это перезапустить демон pulseaudio из графического интерфейса. В некоторых случаях (например, при использовании инструмента звукозаписи Audacity) необходимо перезапустить pulseaudio. Вместо перезагрузки компьютера вы можете открыть эмулятор терминала и ввести команду:

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

Как запускать команды

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

Поскольку команда является глобальной (устанавливается на всю систему), вам не нужно вводить полный путь для команды: аналогичным образом используйте mv

Скриншот команды mv.

Чтобы удалить папку ~/docs, используйте команду rm. Однако вы не могли просто запустить команду:

Введение в интерфейс командной строки Linux: руководство по CLI Linux

Давайте познакомимся с интерфейсом командной строки Linux (CLI).

Введение

Командная строка Linux — это текстовый интерфейс для вашего компьютера.

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

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

Немного истории

Оболочка Борна (sh) изначально была разработана Стивеном Борном во время работы в Bell Labs.

Выпущен в 1979 году в версии 7 Unix, распространяемой среди колледжей и университетов.

Оболочка Bourne Again Shell (bash) была написана как бесплатная замена Bourne Shell с открытым исходным кодом.

Учитывая открытый характер Bash, со временем он был принят в качестве оболочки по умолчанию в большинстве систем Linux.

Сначала посмотрите на командную строку

Теперь, когда мы рассмотрели некоторые основы, давайте откроем окно терминала и посмотрим, как оно выглядит!

Первый взгляд на командную строку

Когда терминал открыт, отображается подсказка.

Давайте проанализируем снимок экрана выше:

Строка 1: приглашение оболочки, состоящее из имени пользователя@имя_хоста:местоположение$

  • Имя пользователя: наше имя пользователя называется «Джон»
  • Имя хоста: имя системы, в которой мы вошли.
  • Местоположение: рабочий каталог, в котором мы находимся
  • $: разделяет конец подсказки.

После знака $ мы можем ввести команду и нажать Enter, чтобы эта команда была выполнена.

Строка 2: после приглашения мы набрали команду whoami, которая означает «кто я?», и нажали [Enter] на клавиатуре.

Строка 3. Показывает результат ранее введенной команды whoami, также известный как вывод команды. Эта команда просто выводит имя текущего пользователя.

Строка 4: показывает пример другой базовой команды pwd, которая означает печать рабочего каталога.

Строка 5: как было показано ранее, эта строка показывает результат выполненной ранее команды. /tmp — наш рабочий каталог.

Строка 6: представляет нам новое приглашение и ждет, пока мы введем новую команду.

Синтаксис команды

Команды могут выполняться сами по себе или могут принимать аргументы для изменения их поведения.

Типичный синтаксис может выглядеть примерно так:

команда [-argument] [--long-argument] файл

Пример синтаксиса командной строки

Сначала мы ввели команду ls, что означает список. По умолчанию эта команда напечатает содержимое текущего каталога.

Во-вторых, мы добавили аргумент к ls, введя пробел и -l . Этот аргумент изменяет выходной формат ls и означает «формат длинного списка».

Далее мы добавили еще один аргумент -h, который означает «человек». Этот аргумент указывает команде ls печатать размер файла в удобочитаемом формате.

Позже мы объединили два аргумента, -l и -h в -lh, что дало нам тот же результат, и мы дали имя файла «ls». Результат показывает нам только файл, переданный в качестве последнего аргумента.

В качестве последнего примера мы заменили короткий аргумент -h его эквивалентной длинной формой аргумента --human-readable . Как видите, вывод команды не изменился.

Примечания

При использовании оболочки Linux необходимо помнить о нескольких важных вещах:

В оболочке Linux имена команд, файлов и каталогов чувствительны к регистру, что означает, что при вводе pwd будет напечатан текущий рабочий каталог, а при вводе PWD будет возвращена ошибка, аналогичная -bash: PWD: команда не найдена

  • Символ / (прямая косая черта) — это специальный символ, используемый в качестве разделителя каталогов.

В интерфейсе командной строки Linux полно специальных символов, и мы рассмотрим эту тему более подробно. Пока просто имейте это в виду.

Если вы работаете с Windows, файл с расширением .exe означает, что это исполняемый файл. В Linux CLI тип файла определяется автоматически. (Прочитав заголовок файла).

  • Почти каждая команда Linux поддерживает аргумент --help

При знакомстве с интерфейсом командной строки вы часто будете задаваться вопросом: «Какой аргумент мне нужен, чтобы выполнить X?» Ответ находится на расстоянии --help.

Пример команды Linux

Основные команды

Потрясающе, вы зашли так далеко. Вы доказали свою мотивацию!

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

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

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

Как мы видели ранее, pwd просто выводит текущий рабочий каталог.

 команда pwd

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

Если вы читали примечания ранее, мы заявили, что linux не полагается на расширение файла, чтобы понять, с каким файлом он имеет дело.

Эта команда покажет тип файла, переданного в качестве аргумента.

В приведенном ниже примере мы видим файл john_file с расширением «.exe», команда file выводит реальный тип файла, в данном случае простой текстовый файл.

команда файла

Команда cat распечатает содержимое текстового файла, указанного в качестве аргумента.

команда кошки

Команда cd, которая означает «Изменить каталог», изменит ваш рабочий каталог на тот, который был передан в качестве аргумента.

команда cd

Обратите внимание, как изменилась подсказка.

очистить

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

Чтобы очистить экран и начать все сначала, введите команду очистки.

история

Команда history покажет исторический список команд, которые были введены в сеансе терминала.

команда истории

Команда cp, означающая копирование, используется для создания копии файла/каталога.

Чтобы создать копию john_file и вызвать нашу копию copy_of_john_file, мы будем использовать команду cp.

команда cp

Команда cp ничего не выводит, но наше действие было выполнено, как и ожидалось.

Команда mv, обозначающая перемещение, перемещает файл/папку в новое место или переименовывает их.

Чтобы переименовать файл copy_of_john_file в john_file_renamed, мы будем использовать mv .

Чтобы переместить файл john_file_renamed в каталог john_directory, мы по-прежнему будем использовать mv .

Примечание. При указании файла в терминале косая черта «/» в конце указывает, что это каталог.

команда mv

Как и cp, команда mv не выдаст никаких результатов, даже если наша операция была выполнена успешно.

Наша последняя, ​​но не менее важная команда для сегодняшней статьи — rm , что означает «удалить».

Он используется для удаления файлов, но может также удалять каталоги, если это указано.

Давайте попробуем удалить все файлы и папку, которую мы создали.

команда rm

Как видите, сначала мы попытались удалить все целиком. Команда rm, как и предыдущие команды, обычно не производит никакого вывода, если не возникает ошибка.

Наша команда выдала ошибку о том, что john_directory является каталогом и по умолчанию не будет удален. Два файла ( john_file и john_file_renamed ) удаляются, поэтому операция выполняется частично, за исключением ошибок, отображаемых на экране.

Добавив два аргумента к rm, мы также можем добиться удаления папки.

Аргументы -r (рекурсивный) и -f (принудительный). Первый заставляет операцию работать с каждым отдельным файлом и папкой, рекурсивно содержащимися в каталоге (каталогах), переданном в качестве аргумента (ов), а второй заставляет операцию игнорировать ошибки и отключать любые запросы подтверждения.

Антонио Рисо — энтузиаст технологий с давним стажем. Он работает в сфере ИТ и ИТ-безопасности более 10 лет. В основном он занимается управлением инфраструктурой, облачными технологиями, автоматизацией и оркестровкой. Пристрастился к решению проблем, его девиз: «Всегда есть выход (даже если он вам не нравится)». Антонио пристрастился к FOSS, и его очень привлекает все, что имеет мигающие светодиоды.

cmd linux control linux logo

Сандра Генри-Стокер / Linux (CC0)

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

Во-первых, чтобы использовать командную строку, вам нужно открыть командный инструмент (также называемый "командной строкой"). Как это сделать, будет зависеть от того, какую версию Linux вы используете. Например, в RedHat вы можете увидеть вкладку «Действия» в верхней части экрана, которая откроет список параметров и небольшое окно для ввода команды (например, «cmd», которое откроет окно для вас). В Ubuntu и некоторых других вы можете увидеть небольшой значок терминала в левой части экрана. Во многих системах вы можете открыть командное окно, одновременно нажав клавиши Ctrl+Alt+t.

Вы также окажетесь в командной строке, если войдете в систему Linux с помощью такого инструмента, как PuTTY.

После того как вы получите окно командной строки, вы обнаружите, что сидите в командной строке. Это может быть просто $ или что-то более сложное, например «user@system:~$», но это означает, что система готова выполнять команды для вас.

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

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

Чтобы понять, почему более продвинутые пользователи Linux так любят командную строку, попробуйте некоторые другие функции, такие как перенаправление и конвейеры. Перенаправление — это когда вы берете вывод команды и помещаете его в файл вместо того, чтобы отображать его на экране. Каналы — это когда вы берете вывод одной команды и отправляете его другой команде, которая каким-то образом манипулирует им. Вот команды, которые стоит попробовать:

Подведение итогов

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

Присоединяйтесь к сообществам Network World на Facebook и LinkedIn, чтобы комментировать самые важные темы.

Сандра Генри-Стокер занимается администрированием систем Unix более 30 лет. Она описывает себя как «USL» (Unix как второй язык), но помнит достаточно английского, чтобы писать книги и покупать продукты. Она живет в горах в Вирджинии, где, когда не работает с Unix и не пишет о ней, отгоняет медведей от своих кормушек для птиц.

Читайте также: