Внутренние команды Баш, что полезно знать об этом Начинающему.

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

Введение

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

Учитывая, что статья ориентирована на Начинающего, то здесь будут рассмотрены команды, которые будут полезны Начинающему, однако в конце статьи, будет дана ссылка на страницу, где указаны все внутренние команды. Читать или не читать, выбор за читателем, однако на мой взгляд — полезно будет чисто посмотреть, чтобы понять объем своих вопросов, который у такого возникнет.

Полагаю, предварительной информации с моей стороны дано достаточно, поэтому пойдем далее по теме.

Внутренние команды Баш, что полезно знать об этом Начинающему.

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

Вторая команда, которая вам будет полезна, это «type«. Однако, вводить ее  рекомендую для начала,  или «type help«, или «type -a help«.  В первом варианте вы получите уточнения того является ли вводимое вами слово внутренней командой, во втором случае вам покажут путь до команды, если она не внутренняя (например, команда echo, является, как внутренней, так и внешней командой, которая ничем не отличается в применении от внутренней). Есть еще один вариант запуска этой команды, с параметром «type -t help«, которая выдает одно из следующих значений: файл, встроенные, псевдоним, ключевое слово или функция, при условии, что введенное слово является зарезервированным именем внутри командной оболочки Баш. Иначе, возвращается пустая строка. Однако, замечу один интересный момент, когда вы хотите определиться с внешней командой, то она вам пишет, что это файл. По сути это правильно, т.к. внешние команды — исполняемые файлы. По смыслу, команда type возвращает то, что это файл, которые находится в одной из директорий переменной $PATH, однако к переменным мы еще вернемся. Так что, учитывая ранее сказанное, стоит помнить для Баша логично, указывать на исполняемый файл, т.к. для него это внешняя команда, поэтому если спросить про исполняемый файл вне списка переменной $PATH, то в результате получите пустую строку. Так что, когда наиграетесь, то стоит запомнить, что вам достаточно «type -a <слово>«, чтобы увидеть достаточную для вас информацию, где указано все, что известно по слову, либо пустая строка.

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

Но, не стоит разочаровываться в этой команде, т.к. она тоже имеет свои параметры работы, облегчающие нам работу, чтобы не нужно было делать завершение сеанса, для чтения истории команд, которая обновилась во время текущего сеанса Баш. Это можно сделать следующим способом: «history -n«, а записать новые введенные команды из текущего сеанса без его закрытия, можно другим способом: «history -a«. Поэтому, в одной консоли/терминале достаточно ввести с параметром «-a«, после в другом ввести «-n«, в конечном итоге введя без параметров. И увидев, все что было сохранено. Файл хранящий историю можно найти в переменной Баша $HISTFILE.

Чтобы не сохранять историю сеанса Баша, достаточно ввести «history -c«. Для полного удаления истории из файла истории, достаточно ввести «history -cw $HISTFILE«, после этого файл истории будет очищен весь. Если вам, наоборот нужно ввести с вашей текущей сессии команды в отдельный файл, для этого надо ввести следующее: «history -w <имя файла>«. Однако, если вам нужно дополнить, а не перезаписать заново, то вместо параметра «-w«, примените параметр «-a«. Последние два варианта полезны, когда ставите новые программы или просто пакеты, чтобы не забыть выполненные команды в списке общих. Так что всегда сохраняйте выполненные вами команды по установке в отдельный файл после их выполнения, следующей командой «history -a <имя файла>«. Если вам наоборот, требуется прочитать другой файл истории, то в этом случае достаточно ввести «history -r <имя файла>«. Однако, помните, что по завершения сеанса с Башем, не удалив историю текущей сессии, вы запишете прочтенные команды из другого файла в файл истории $HISTFILE, что потом может ввести в заблуждение.

Это в принципе все, что достаточно знать Начинающему по команде «history». Однако, стоит отметить, что есть дополняющая ее команда «!» со своими вариациями «!<номер строки>«, «!-<номер строки>» и «!!«. Первый вариант берет команду из списка истории начиная с начала списка и выполняет ее, второй вариант делает аналогично с тем отличием, что берет команду начиная с конца списка и отсчитывая в обратную. Последний вариант выполняет последнюю введенную команду. Однако, чтобы с толком применить выполнение команд из списка истории по определенному номеру, стоит ввести следующую команду «history | grep <слово для поиска>«, например «history | grep echo» (или то, что вводили ранее), после этого будет выведен весь список строк содержащих «echo», с номером в истории, по которому можно их выполнить снова командой «!<номер строки>«.

Пятая команда, которая вам будет полезна из внутренних команд, это «echo«. Имеет мало параметров, также может обрабатывать управляющие последовательности. Однако, на этапе Начинающего, вам они сейчас не нужны. Все, что вам достаточно знать, это то, что она является командой вывода переданных ей значений. Понимаю, на данный момент она выглядит не нужной командой, однако со временем, вы, поймете ее практичность в определенных ситуациях. В том числе, «echo» выводит не только строки которые можно записать так, «echo Доброго, вам, дня.«. Эта команда может выводить результат выполнения другой команды или выводить значения переменных Баша. Например, выполнив следующие команды, получите интересный вывод для каждой из них: «echo $PATH«, «echo $HISTFILE«. В первом случае, увидите список путей, в которых обязаны быть исполняемые файлы, а во втором случае увидите в своей домашней папке файл истории, который всегда применяется для хранения вашей истории команд. В него он записывает все вводимые вами команды, когда не указываете какой файл применять для записи или по завершению сеанса с Башем.

Шестая команда, которая вам всегда будет полезна — «pwd«. Она показывает полный путь директории, которой находитесь, набрав эту команду. Также она имеет, некоторые параметры, о которых можно поинтересоваться через команду «help pwd«.

Седьмая команда, которая вам будет полезна — «cd«, которая перемещает вас в указанную директорию, путь к которой может быть полным или относительным (начинается с «./»). Однако, для удобства перехода по папкам, есть вариации ее применения, например: «cd ~«,»cd ..«,»cd —«,»cd —» (две черточки),»cd /«. Первый вариант, возвращает в домашнюю директорию применителя ОС ГНУ/Линукс. Второй вариант, перемещает на директорию выше, в которой была исходная директория. Третий вариант, перемещает в предыдущий путь перехода, если такового нету, то перемещения не происходит, оставляя применителя в исходной директории. Четвертый, вариант перемещает в самое начало перемещений, т.е. в исходную директорию с которой начались все переходы с помощью команды «cd». Изначально, исходной директорией является домашняя директория применителя ОС ГНУ/Линукс. Пятый вариант, перемещает в корневую директорию корневой файловой системы ОС ГНУ/Линукс.

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

В заключение.

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

На данный момент, вам, достаточно этого для создания своей отправной точки понимания, запоминания и дальнейшего изучения командной строки ОС ГНУ/Линукс.

Loading