Руководство по командам и shell программированию в linux

Обновлено: 04.07.2024

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

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

Знание Оболочки

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

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

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

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

Одним из этих уровней является ваша операционная система - например, Windows, macOS или Linux.

Больше не нужно ждать, что такое SHELL?

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

Звучит запутанно, правда? но на самом деле вы уже все время используете оболочки. Если вы когда-либо использовали меню «Пуск» Windows для открытия приложения или использовали Finder на своем Mac, значит, вы использовали оболочку.

Графические и текстовые команды

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

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

BASH для руководства по Shell

Мы говорили «оболочка», но не существует единственной оболочки, которую используют все системы - существует множество оболочек, и разные операционные системы могут использовать разные оболочки.
Одна из наиболее широко используемых оболочек называется BASH, и именно ее мы будем использовать в этом курсе в качестве инструмента руководства по оболочке. Компьютеры Mac и Linux используют BASH в качестве оболочки по умолчанию. Компьютеры с Windows этого не делают, но установить такую ​​довольно легко.

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

Зачем нам нужен Shell?

Вот некоторые из преимуществ изучения оболочки.

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

Установите BASH Shell в Windows

Поскольку у нас нет BASH для Windows, мы можем установить GIT, так как он поставляется с GIT BASH. Следуйте инструкциям ниже, чтобы установить GIT, или вы можете узнать больше об установке GIT здесь.

Если вы используете Windows, вы должны установить BASH, так как это руководство по оболочке зависит от этого.

Загрузите последнюю версию git, используя эту ссылку.

Практическое руководство по оболочке, Команды оболочки с примерами

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

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

команда эха

Если вы еще этого не сделали, попробуйте echo в своем терминале. Вы можете ввести команду, за которой следует строка символов, и нажать Enter - и она повторит строку для вас в следующей строке:

Но эхо не просто повторяет вещи. Некоторые символы имеют особое значение, например двойной восклицательный знак . Когда вы вводите это в коде, BASH заменяет вашу последнюю команду. Чтобы увидеть это в действии, сначала введите простую команду echo, например echo hello.

Затем попробуйте войти! (само собой). Вы должны увидеть это:

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

Переменные в BASH Shell

Мы можем создать переменную, как показано в примере ниже;

Это присваивает число 100 переменной с именем x.
Обратите внимание, как мы не поставили пробелы вокруг оператора =. Продолжайте и попробуйте код в обоих направлениях - сначала без пробелов:

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

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

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

Теперь попробуйте это в вашем терминале:

Возможно, вы заметили, что вам не нужно ничего назначать для $ COLUMNS или $ LINES.

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

Команды навигации по каталогам [ls, cd]

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

Вот команды с объяснением.

ls Command
Вывести содержимое текущего каталога.

CD команда
Перейдите в каталог загрузок.

команда 'cd ..'
Поднимитесь на один каталог (перейдите в родительский каталог).

"ls .. 'команда
Перечислите содержимое родительского каталога.

Ключевые термины

рабочий каталог
Каталог, в котором вы сейчас находитесь.

родительский каталог
Каталог непосредственно над вашим текущим каталогом.

Ярлыки каталога

Рабочий каталог.
.
Родительский каталог.
..
Домашний каталог.

Примечание. Попробуйте PWD показать имя рабочего каталога.

В команде cd есть некоторые вещи, которые могут немного сбить с толку.

Чтобы понять, что мы имеем в виду, попробуйте запустить команды из домашнего каталога (

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

Мы должны указать путь от домашнего каталога / home или

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

/Desktop/second работал, потому что мы использовали путь от дома до нужного каталога на CD в.

Вот в чем дело: когда вы используете команду cd, вам нужно следовать ей по пути, как в cd / home / workspace / Desktop, и вы должны указать этот путь одним из двух способов:

  1. Относительный путь
    Один из вариантов - указать путь относительно вашего текущего местоположения (текущего рабочего каталога).
    Например, если вы находитесь в рабочей области и хотите перейти в рабочую область / рабочий стол, вы можете просто использовать:
    cd Desktop
    Это работает, потому что Desktop находится непосредственно внутри рабочего каталога.
    С другой стороны, если вы находитесь в рабочей области и хотите хорошо перейти в рабочую область / Рабочий стол / Фотографии, Фото не находятся непосредственно внутри рабочей области. Поэтому вам нужно будет вместо этого указать этот путь: cd Desktop/Photos
    Таким образом, вы можете указать частичный путь к каталогу, в который хотите перейти, при условии, что частичный путь включает все шаги, необходимые для того, чтобы добраться туда из того места, где вы в данный момент находитесь.
  2. Абсолютный путь
    Другой вариант - указать абсолютный путь. Здесь вы указываете полный путь, начиная с домашнего каталога.
    Если вы хотите перейти к фотографиям, используя абсолютный путь, введите:
    cd /home/workspace/Desktop/Photos
    Это будет работать независимо от того, где вы сейчас находитесь. Вы можете находиться дома, на рабочем столе или в рабочем пространстве, и во всех случаях эта команда приведет вас к фотографиям. (Обратите внимание, что требуется первый / в / home.)
    В нашем примере домашний каталог на самом деле называется домашним, но, как мы упоминали ранее, на вашем компьютере домашний каталог, вероятно, имеет другое имя, вы можете использовать клавишу

как ярлык для домашнего каталога. Итак, если вы хотите перейти в свой домашний каталог и не знаете, как он называется, вы можете просто использовать: cd

команды mkdir и mv

Попробуйте это в вашем окне bash;

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

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

Загрузка файлов Команда CURL

Команду curl можно использовать для загрузки файла из Интернета. По умолчанию он загрузит файл и отобразит содержимое в терминале. Например:

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

CURL, после перенаправления (-L)

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

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

Вы можете назвать файл как-нибудь как some_file.html или google.html (просто убедитесь, что он заканчивается на .html, чтобы вы могли открыть его в браузере).

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

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