Основные команды Linux: (почти) полное руководство с примерами

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

Введение в терминал Linux

Моя бабушка называет любой терминал «терминатором», что добавляет антуража. На самом деле терминал (bash) — это всего лишь командная строка с гораздо более широким набором функций, если сравнивать с Windows. Почти любое действие можно выполнить командой из терминала, но далеко не любое действие можно выполнить через окружения пользователя.

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

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

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

Читайте также:  Как исправить отключение AirPods от iPhone

Полезная инфа в приглашении

Приглашение командного интерпретатора bash формируется на основе содержимого переменной окружения PS1. Если верить man-страницам, эта переменная может содержать любые строки, а также довольно большой набор специальных управляющих символов, которые при выводе приглашения будут превращены в актуальные данные. Так, например, в дистрибутиве Ubuntu содержимое переменной PS1 выглядит так:

‘${debian_chroot:+($debian_chroot)}[email protected]:w$ ‘

А при выводе на экран превращается во всем знакомую строку вида:

юзер@имя_хоста:текущий_каталог$

Нетрудно догадаться, что юзер здесь появляется за счет управляющего символа ‘u’, имя хоста — за счет ‘h’, а текущий каталог — это ‘w’. Неуклюжая запись, содержащая в себе слова debian_chroot, это всего лишь индикатор того, находится ли пользователь в chroot-окружении. Такое лаконичное приглашение, конечно, удобно, но содержит далеко не всю информацию, которую bash способен отобразить. В его арсенале есть как минимум два десятка различных управляющих последовательностей, о которых многие пользователи даже не подозревают. Вот список наиболее интересных из них:

  • d — текущая дата
  • j — количество фоновых заданий
  • A — текущее время
  • ! — номер команды в истории

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

Управляющий символ ‘n’ также допустим в PS1, поэтому приглашение к вводу можно сделать многострочным, а заодно визуально отделить его от остального текста (с помощью начальной пустой строки):

PS1=’[email protected]:$?$ ‘

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

$ vi ~/.bashrc

Google-погода

weather() {

Где мы?

local city=»Moscow» curl -s » api?weather=$city» | sed ‘s|.<temp_c data=» ([^»])»/>.*|1|’ }

Читайте также:  Установка пакета SDK для .NET или среды выполнения .NET в Ubuntu

Google-почта

unread_mail(){

Имя пользователя и пароль (без @)

local login=»логин» local password=»пароль» wget —secure-protocol=TLSv1 —timeout=3 -t 1 -q -O — https://${login}:${password}@ —nocheckcertificate | grep fullcount | sed «s/<fullcount>(.*)</fullcount>/1/» }

Сигнал Wi-Fi

wifi(){ /sbin/iwconfig wlan0 | grep Quality | cut -d = -f2 | awk ‘{print $1}’ } PS1=’nweather:unread_mail:wifi:wn [email protected]:$?$ ‘

Все это нужно поместить в конец ~/.bashrc и выставить на файл права 600, чтобы никто не смог подсмотреть пароли. Результат будет примерно таким:

-7:32:70/70:/usr/local [email protected]:0$

Что нужно учитывать:

При создании псевдонима обратите внимание на следующие моменты:

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

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

Как удалить папку

Вы можете удалить каталог, используя команду rmdir с именем каталога.

Примечание: mk означает make, а rm  Remove.

Как удалить папку

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

Git Pull

В последнем уроке мы познакомились с командой Git fetch и Read more

Git Fetch и Git Merge

В одной из последних статей мы узнали о команде Git Read more

Как проверить зафиксированные изменения на GitHub

Мы уже знаем, как вносить изменения в локальное хранилище и Read more

Git Push – вносим изменения на GitHub

Команда git push при выполнении перемещает изменения, внесенные пользователем на Read more

Читайте также:  Способы прошивки своего планшета через ПК

Что такое git Clone и как клонировать репозиторий?

«Клонирование» означает создание идентичных особей естественным или искусственным путем. Клонирование Read more

Что такое Git Fork?

Сегодня мы узнаем, как скопировать чужой репозиторий в наш аккаунт Read more

# Комментарий или «обрезка строк»

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

# This will be ignored by the Bash shell

Однако он не игнорируется, потому что он добавлен в историю команд.

# Комментарий или

Вы также можете использовать хеш, чтобы обрезать строковую переменную и удалить некоторый текст с начала. Эта команда создает строковую переменную с именем this_string.

В этом примере мы присваиваем текст «Dave Geek!» переменной.

this_string=»Dave Geek!»

Эта команда использует echo для печати слова «How-To» в окне терминала. Он извлекает значение, хранящееся в строковой переменной, через расширение параметра . Поскольку мы добавляем хеш и текст «Dave», он обрезает эту часть строки перед тем, как передать её в echo.

echo How-To ${this_string#Dave}

# Комментарий или

Это не меняет значение, хранящееся в строковой переменной; это влияет только на то, что отправлено echo. Мы можем использовать echo для печати значения строковой переменной еще раз и проверить это:

echo $this_string

Удаление истории Bash

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

Ваша история bash — это просто текстовый файл, сохраненный в ~ / .bash_history. Вы можете просто удалить этот файл, чтобы очистить историю bash, или вы можете более аккуратно выполнить команду history с опцией clear, например, так:

history -c

Вы также можете удалить определенную строку из своей истории Bash, используя опцию удаления, например, так:

history -d 12