Любой исполняемый файл в каталоге на вашем пути может быть «командой». Это может быть скрипт, как предложено в других ответах, но это также может быть скомпилированная программа на любом поддерживаемом языке, который вы знаете.
Псевдонимы также будут работать, но они ограничены, потому что они являются «однострочными», так что выполнение чего-либо сложного с ними быстро генерирует код, который очень трудно прочитать. Кроме того, поскольку они выполняются в той же области переменных, что и оболочка, в которую вы их вводите, они могут легко привести к непреднамеренным побочным эффектам, таким как оставление вас в другом каталоге или определение переменных, которые необходимы только для задачи, которую выполняет псевдоним. (Конечно, иногда вы можете захотеть использовать псевдоним именно потому, что он имеет желательные побочные эффекты.)
Если вы поместите ваши новые команды в каталог по вашему пути, они могут быть найдены оболочкой и выполнены. Чаще всего их помещают в $ HOME / bin. Если этот каталог существует, он часто будет автоматически добавляться к вашему пути.
При настройке необходимо помнить две вещи: 1) Обычно лучше использовать уникальные имена для ваших команд, которые не совпадают с теми, которые уже определены в вашей системе. Об этом много споров, но главное в том, что знакомые команды не должны давать неожиданных результатов, если кто-то другой использует вашу систему, и что привыкание к обычной команде, выполняющей что-то особенное, может привести к проблемам при работе в другой системе. где это не определено таким образом.
2) Вы можете добавить $ HOME / bin в начало или конец вашего пути (или где-нибудь между ними, но обычно это не делается).
Добавление его в начало вашего пути является наиболее удобным выбором, потому что ваша версия команды всегда будет той, которая выполняется, и она будет найдена быстрее. Это также уязвимость системы безопасности, поскольку любой, кто может получить разрешение на запись в ваш $ HOME / bin (намного проще, чем получить root-доступ), может очень легко заменить обычные команды потенциально вредоносным кодом. Кроме того, если вам когда-нибудь понадобится обратиться за помощью к кому-то, кто не знает вашу систему, то он, скорее всего, будет сбит с толку особым поведением ваших пользовательских команд, если вы не потратите много дополнительных усилий, объясняя все это просто задаю свой вопрос.
Добавление его в конец вашего оператора пути немного безопаснее, потому что любая команда с тем же именем, что и ваша команда, которая уже находится в вашем пути, будет сначала найдена и запущена вместо нее - и все, что зависит от этой команды, работающей должным образом, все равно будет работать ,
Чтобы избежать всего этого (за счет небольшого дополнительного набора текста), вы также можете поместить свою команду в каталог, который не находится в вашем пути, поэтому она почти никогда не будет запускаться непреднамеренно, потому что вам придется вводить ее полный путь к запустить его.
Как и большинство вещей в Linux, существует множество способов создания и использования новых команд, и у каждой из них есть свои преимущества и ограничения.