Содержание

Командная строка в Linux — CodeChick

У Linux есть графический пользовательский интерфейс, который работает почти так же, как графические интерфейсы в других системах: например, в Windows или OSX. Но с ними вы сможете разобраться самостоятельно. В этом руководстве мы уделим внимание командной строке, в который выполняется Bash. 

Если раньше вы не имели дел с командной строкой, она может показаться немного сложной. Но не волнуйтесь: немного практики, и вы поймете, что терминал — на самом деле ваш друг.

Командную строку можно использовать сразу в нескольких окнах, и в этом наше преимущество. Например, можно открыть 3 терминала: первый — для работы, второй — чтобы «поднимать» вспомогательные данные, третий — для просмотра справочных страниц (об этом мы поговорим позже). 

Что это такое

Командная строка (она же консоль или терминал) – это специальная программа, с помощью которой можно управлять компьютером текстовыми командами, вводимыми с клавиатуры.

Обычно командная строка «встречает» пользователя приглашением (в английском — promt) — это короткая фраза, которая означает, что программа готова выполнять команды. Они будут отображаться после приглашения.

Давайте разберем пример. Наш терминал выглядит вот так: 

1. [email protected]: ls -l /home/ryan
2. total 3
3. drwxr-xr-x  2 ryan users 4096 Mar 23 13:34 bin
4. drwxr-xr-x 18 ryan users 4096 Feb 17 09:12 Documents
5. drwxr-xr-x  2 ryan users 4096 May 05 17:25 public_html
6. [email protected]:
  • В строке 1 содержится приглашение ([email protected]). После него мы ввели команду ls. Обычно первое, что вы вводите, — это команда. После нее идут аргументы командной строки
    -l/home/karpaff
    . Заметьте, аргументы разделены пробелами. Между командной и первым аргументом тоже должен быть пробел. Первый аргумент командной строки -l иначе называется опцией или параметром. Параметры обычно изменяют поведения команды, они указываются перед другими аргументами и обычно начинаются с прочерка -
  • Строки 2–5 выводятся при выполнении команды. Большинство команд производят вывод, результат записывается сразу после команды. Другие же команды просто выполняют свою задачу и не отображают что-то на экране, только если произошла ошибка.
  • В строке 6 снова содержится приглашение. Оно выводится, когда терминал выполнил предыдущую команду и готов к вводу другой. Если приглашение не отображается, значит, команда все еще выполняется (позже вы узнаете, как с этим бороться).

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

Как открыть командную строку

Это достаточно просто. В каждой ОС командная строка открывается по-разному, попробуйте поискать в этих местах:

  • На Mac.
    Терминал можно найти по этому пути: Приложения → Утилиты. Или нажмите Command + Пробел и введите в Spotlight слово «терминал». 
  • На Linux. Терминал можно найти по одному из этих путей: Приложения → Система или Приложения → Утилиты. Еще можете попробовать щелкнуть ПКМ на рабочем столе и выбрать «Открыть в терминале»
  • На Windows. Чтобы открыть терминал, понадобится SSH-клиент. Например, Putty (он бесплатный). 

Оболочка Bash

Внутри терминала есть так называемая оболочка или шелл (от англ. shell). Это часть ОС, которая определяет поведение командной строки и следит за выполнением команд. Существуют разные оболочки, но наиболее распространена так называемая bash, сокращение от Bourne Again Shell. В наших статьях мы будем использовать только Bash. 

Если вы не знаете, какая оболочка у вас, введите echo $ SHELL

Примечание. Команда echo выводит на экран строку текста. 

1. [email protected]: echo $ SHELL
2. /bin/bash
3. [email protected]:

Если вывод оканчивается на bash, все в порядке.

Горячие клавиши

В Linux много горячих клавиш, которые облегчат вам жизнь. В этой серии статей мы разберем некоторые из них. 

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

  • ↑ (стрелка вверх) или Ctrl + P — переход к предыдущей команде. 
  • ↓ (стрелка вниз) или Ctrl + N — переход к следующей команде. 

Интерфейс командной строки. Курс «Введение в Linux и Bash»

Современный пользователь почти всегда работает с графическим интерфейсом (GUI — graphical user interface), в котором взаимодействие между человеком и компьютером происходит в основном с помощью кликов мышью по графическим объектам: кнопкам, пунктам меню, текстовым полям и др.

Однако так было не всегда.

Первые интерфейсы были текстовыми, команды отдавались словами, которые писались в так называемой командной строке. Такой текстовый способ взаимодействия между человеком и компьютером называется интерфейсом командной строки (CLI — command line interface).

CLI – устаревшая технология с точки зрения рядового пользователя. Однако в ряде профессиональных IT-областей CLI остается востребованным и более удобным, чем GUI. Например, на серверах, в том числе веб-серверах. Так разработчик может развернуть программный сервер на удаленном компьютере и загрузить туда файлы сайта.

В операционных системах, особенно в GNU/Linux, графические интерфейсы разнообразны. Однако все они ориентированы на неподготовленного пользователя, чтобы он мог сам быстро разобраться, как пользоваться системой. Любой приличный GUI должен быть интуитивно понятным.

С командной строкой все не так. Здесь надо знать команды, уметь ими пользоваться, иметь представление об особенностях работы ОС. Однако CLI дает больше возможностей для управления, чем любой GUI. Это и понятно, написать программу без GUI проще. Разработка к ней графического интерфейса – отдельная история. Поэтому через CLI обычно доступно больше системных программ.

Интерфейс командной строки – это абстрактное понятие. Так же как графический интерфейс пользователя. Не существует конкретных программных продуктов под названием CLI или GUI. Однако есть различные реализации как одного, так и другого. В Linux наиболее популярными GUI на сегодняшний день можно назвать различные оболочки для Gnome, а также KDE. У Windows свой GUI, который претерпевает изменения от версии к версии.

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

Bash запускается в текстовом режиме или его эмуляторе – специальной программе, открывающейся в графическом режиме, но которая представляет собой текстовое окно. В последних версиях GNU/Linux такая программа-эмулятор обычно называется «Терминал».

Однако кроме этого во многих дистрибутивах Linux можно перейти из графического в текстовый режим работы, нажав Ctrl + Alt + F2 (вместо F2 может быть от F3 до F6). Обычно Ctrl + Alt + F7 возвращает обратно в графический режим.

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

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

Терминал VT100, выпущенный фирмой DEC в 1978 году. Для его соединения с сервером использовались последовательные линии связи

Консолью называли клавиатуру + монитор, непосредственно соединенные с компьютером.

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

Итак, отметим основные преимущества интерфейса командной строки:

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

  • Текстовый интерфейс менее требовательный к ресурсам, чем графический.

  • Бывает, что графический режим просто не нужен, например, на серверах.

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

Курс с ответами к заданиям и дополнительными уроками в PDF


Что такое интерфейс командной строки? (Определение CLI)

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

Графический пользовательский интерфейс (GUI) и интерфейс командной строки (CLI) | Изображение: Абдишакур Хасан

В Microsoft Windows вы можете использовать командную строку и приложение Powershell в качестве интерфейса командной строки. Операционные системы на основе Linux и Unix используют Bourne-Again Shell (bash) в качестве интерфейса командной строки по умолчанию. Microsoft недавно добавила подсистему Windows для Linux, которая позволяет пользователям Windows использовать Linux bash.

Интерфейс командной строки и графический интерфейс: в чем разница?

Графический пользовательский интерфейс (GUI) позволяет пользователям взаимодействовать с операционной системой, нажимая меню, кнопки и значки. Именно так большинство пользователей взаимодействуют с операционными системами (и, вероятно, именно так вы перешли к этой статье). Например, чтобы перезагрузить компьютер с помощью Windows 10/11:

  1. Откройте меню «Пуск».
  2. Выберите значок питания внизу.
  3. Нажмите «Перезапустить».


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

shutdown /r

Еще из Технического словаря Built InЧто такое JSON?

 

Как работают интерфейсы командной строки?

Интерфейс командной строки (CLI) принимает команды путем ввода текста с клавиатуры. Разные CLI имеют разный синтаксис, но все они могут выполнять одни и те же операции.

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

Скриншоты трех разных примеров CLI. | Изображение: Abdishakur Hassan

В первом примере вызывается команда time на терминале, и интерфейс командной строки выводит текущее время с помощью следующего сообщения: 

Текущее время: 14:24:40.94.

Введите новое время:

Второй пример дает компьютеру команду создать каталог/папку с именем cli с помощью команды mkdir cli .

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

Произошла ошибка.

Невозможно выполнить JavaScript. Попробуйте посмотреть это видео на сайте www.youtube.com или включите JavaScript, если он отключен в вашем браузере.

Клавиатуры и интерфейсы командной строки: ускоренный курс информатики № 22. | Видео: CrashCourse

 

Преимущества использования интерфейса командной строки

Использование интерфейса командной строки (CLI) дает несколько преимуществ. Наиболее заметными являются:

  • Скорость: Интерфейс командной строки позволяет быстро выполнять команды. Вы можете объединить несколько команд в одну строку текста для запуска вашей программы. Это намного быстрее, чем навигация по меню с помощью графического интерфейса.
  • Ресурсы: CLI требует меньше вычислительных ресурсов для выполнения команд, чем графический интерфейс.
  • Повторяющиеся задачи: CLI эффективен для автоматизации повторяющихся задач, и вы можете создать пакетный файл для автоматизации задач в любой момент времени.
  • Опытный пользователь: Интерфейс командной строки идеален для опытных пользователей, поскольку он обеспечивает доступ к командам, недоступным в графическом интерфейсе. Например, некоторые задачи защищены системой и недоступны через графический интерфейс.

 

Полезные команды интерфейса командной строки

Интерфейсы командной строки Windows и Linux имеют несколько различающийся синтаксис. Вот несколько полезных команд как в Windows (PowerShell и командная строка), так и в Linux.

Полезные команды CLI для Windows и Linux. | Изображение: Abdishakur Hassan

Основы командной строки | Проект Один

Введение

Боитесь командной строки? Ты не один. У нас есть изображение разработчиков, пристально смотрящих на черный экран с мигающим белым или зеленым текстом, когда они дико вводят непонятные команды для взлома корпоративного мейнфрейма (без сомнения, поглощая газировку и вытирая неоново-оранжевые чипсы Cheetos с клавиатуры).

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

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

Испытайте свой терминал

Откройте терминал на своем компьютере.

  • Linux : Откройте меню программ и найдите «Терминал». Вы также можете открыть терминал, нажав CTRL + ALT + T на клавиатуре.

  • macOS : откройте папку «Приложения» > «Утилиты» и найдите «Терминал». Вы также можете использовать поиск Spotlight, чтобы открыть Терминал. Нажмите CMD + SPACE , чтобы открыть Spotlight, и найдите «Терминал». Нажмите RETURN , чтобы открыть его.

Прежде чем что-то делать, взгляните на следующий текст: $ кто Это терминальная команда, потому что она начинается с $. $ говорит: «Эй! Введите следующее в свой терминал». Это означает, что мы должны исключить $ при вводе любой команды. В приведенном выше примере мы ввели бы только whoami в наш терминал. Это общий индикатор, поэтому убедитесь, что вы не вводите $ перед командой. Теперь, когда вы знаете, что $ подходит, возьми терминал на пробу! Убедитесь, что ваш терминал открыт, введите команду, упомянутую выше, и нажмите клавишу ввода на клавиатуре.

Возвращает ваше имя пользователя. Прохладный!

Зачем изучать это сейчас?

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

Обзор урока

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

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

Назначение

Примечание . Многие из этих ресурсов предполагают, что вы используете среду Mac или Linux. Если вы прошли наш предыдущий урок по установке, у вас уже должен быть установлен Linux в режиме двойной загрузки или на виртуальной машине. Или вы можете использовать MacOS. Если у вас не установлена ​​MacOS или какая-либо другая версия Linux, вернитесь к руководству по установке операционной системы.

  1. Посетите курс Unix Shell, разработанный Software Carpentry Foundation. Там вы найдете полный набор уроков по использованию CLI, а пока сосредоточьтесь на выполнении следующих уроков:

    • Настройка (следуйте инструкциям только в разделе Загрузка файлов , это все, что вам нужно, так как у вас уже есть необходимое программное обеспечение)
    • Знакомство с Shell
    • Навигация по файлам и каталогам
    • Работа с файлами и каталогами
    • Трубы и фильтры
  2. С вашими недавно обнаруженными сверхспособностями CLI потренируйтесь создавать папку и несколько файлов с помощью команд mkdir , touch и cd , представленных на предыдущем шаге. Например, базовый веб-сайт может иметь основной файл index.html , файл таблицы стилей CSS с именем style.css и папку для изображений 9. 0023 . Подумайте, как вы могли бы создать эти файлы с помощью команд, и примените это на практике!

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

    1. Создайте новый каталог в вашем домашнем каталоге с именем test .
    2. Перейти к тестовый каталог .
    3. Создайте новый файл с именем test.txt . Совет: используйте команду touch или echo .
    4. Откройте только что созданный файл в VSCode и внесите некоторые изменения, сохраните файл и закройте его.
    5. Перейти обратно из каталога test .
    6. Удалить каталог test .

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

Используйте командную строку как профессионал

Есть кое-что важное, что вам нужно знать о программистах. Программисты ленивы. Типа, совсем лень. Когда им приходится делать что-то снова и снова, велики шансы, что вместо этого они найдут способ автоматизировать это. Хорошей новостью является то, что вы можете воспользоваться множеством ярлыков, которые они создали на этом пути. Пришло время научиться использовать командную строку как профессионал (то есть очень лениво).

Во-первых, вы могли уже заметить, что копирование и вставка внутри командной строки не работает так, как вы ожидали. Когда вы находитесь внутри командной строки, вам нужно будет использовать Ctrl+Shift+C (Mac: Cmd+C ) для копирования и Ctrl+Shift+V (Mac: Cmd+V ) вставить. Например, чтобы скопировать и вставить команды из браузера в командную строку, выделите текст команды и используйте Ctrl+C , как обычно, а затем вставьте его в свой терминал, используя Ctrl+Shift+V . Проверьте это!

Во-вторых, вам нужно узнать о завершении табуляции. Серьезно, этот совет сэкономит вам много времени и нервов. Допустим, вы находитесь в командной строке и вам нужно перейти в папку, которая находится далеко, например, ~/Documents/Odin-Project/foundations/javascript/calculator/. Это длинная команда для ввода, и все должно быть правильно, чтобы она работала. Нет, мы слишком ленивы для этого! В основном, нажав Вкладка , командная строка будет автоматически завершать команды, которые вы начали вводить, как только будет только один вариант. Например, довольно часто в домашнем каталоге есть папка Documents и папка Downloads . Если вы набрали cd D , а затем нажали Tab , командная строка сообщит вам, что вы не уверены, какой из них вы хотите, показывая вам различные варианты, соответствующие тому, что вы набрали до сих пор: баш $ cd D Документы/ Загрузки/ $ cd D Но как только вы введете еще немного, оно дополнит имя за вас, что позволит записать полный путь к файлу, указанный выше, набрав всего cd Doc[tab]O[tab]f[tab] j[tab]cal[tab] (в зависимости от того, какие другие папки существуют на вашем компьютере). Протестируйте его и освойтесь с тем, как это работает. Тебе это понравится.

В-третьих, есть очень удобный ярлык для открытия всего в каталоге проекта: . После того, как вы установили текстовый редактор, вы можете использовать этот ярлык, чтобы открыть весь проект и все его файлы за один раз. Этот ярлык также часто используется с Git (позже он подробно рассматривается) с такими командами, как git добавить . , чтобы добавить все файлы внутри каталога в промежуточную область Git. Например, если у вас установлен VS Code, вы можете ввести cd в каталог проекта, а затем ввести код . (с точкой). Он запустит VS Code и откроет папку проекта на боковой панели. См. следующий раздел этого урока для более подробного примера.

A Примечание по вводу паролей : При использовании команды в терминале, требующей ввода пароля для аутентификации (например, sudo ), символы не должны быть видны вам при их вводе. Хотя вы можете подумать, что терминал не отвечает, не волнуйтесь! Это функция безопасности для защиты конфиденциальной информации, например, в полях пароля на веб-сайтах используются звездочки или точки. Не отображая вводимые вами символы, Терминал сохраняет ваш пароль в безопасности.

Открытие файлов в VSCode из командной строки

  • Linux : вы можете открыть VSCode из командной строки, набрав , код , и вы можете открывать папки или файлы, добавляя после него название места: , код my_awesome_project/.

  • macOS : требуется некоторая настройка. После установки VSCode запустите его любым удобным для вас способом. После запуска откройте палитру команд с помощью CMD + Shift + P . В появившемся маленьком диалоговом окне введите команду оболочки . Одним из отображаемых вариантов будет Команда оболочки: установить команду «код» в PATH 9. 0023 . Выберите эту опцию и перезапустите терминал, если он у вас открыт.

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

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

  • The Art of Command Line — профессиональная программа для начинающих. Он служит репозиторием с открытым исходным кодом. Это также имеет много профессиональных советов!
  • Электронная книга Learn Enough Command Line to Be Dangerous — отличный ресурс для освоения командной строки. Главы 1 и 2 бесплатны и представляют собой хорошее введение в инструменты командной строки. Остальная часть книги не бесплатна и содержит больше информации, чем вам действительно нужно на данный момент, но не стесняйтесь покупать и читать оставшуюся часть книги, если хотите.
  • ExplainShell.com — отличный ресурс, если вы хотите разобрать особенно странную команду оболочки или узнать, как работает Bash, методом догадок и проверок.
  • Памятка по командам Unix/Linux содержит список важных команд, к которым вы можете регулярно обращаться по мере знакомства с Linux. Вы можете распечатать его, чтобы иметь при себе физическую копию, когда вас нет за компьютером.
  • Flashcards для командной строки от flashcards.github.io.
  • 9Серия видеороликов 0011 от LearnLinuxTv содержит 24 видеоролика, объясняющих основы работы с командной строкой. Видео достаточно короткие для начинающих, но в то же время достаточно подробные, чтобы вы могли начать работу и разжечь внутреннее любопытство.

Проверка знаний

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

  • Что такое командная строка?
  • Как открыть командную строку на компьютере?
  • Как перейти к определенному каталогу?
  • Куда вас направит cd ?
  • Куда вас направит cd .