Which bash linux команда

Команда which в Linux

В этом руководстве мы рассмотрим команду Linux which .

Linux, which команда используется для определения местоположения данного исполняемого файла, который выполняется при вводе имени исполняемого файла (команды) в строке терминала. Команда ищет исполняемый файл, указанный в качестве аргумента, в каталогах, перечисленных в переменной среды PATH.

Что такое PATH

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

Чтобы просмотреть содержимое переменной PATH, используйте команду echo с $PATH в качестве аргумента:

Результат будет выглядеть примерно так:

Как использовать команду which

Синтаксис команды which следующий:

Например, чтобы найти полный путь к команде ping , вы должны ввести следующее:

Результат будет примерно таким:

Вы также можете указать несколько аргументов для команды which :

Вывод будет включать полные пути к исполняемым файлам netcat и uptime :

Поиск производится слева направо, а если более одного совпадения найдены в каталогах , перечисленных в PATH переменной пути, which будет печатать только первый. Чтобы распечатать все совпадения, используйте параметр -a :

В выводе будут показаны два полных пути к touch команде :

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

Выводы

Команда which используется для поиска команды путем поиска исполняемого файла команды в каталогах, указанных переменной окружения PATH .

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

Источник

Основные команды Bash

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

Основная задача оболочки — выполнять команды, но кроме утилит, расположенных в файловой системе, Bash имеет свой набор команд, многими из которых вы пользуетесь каждый день сами этого не понимая. Эти команды Bash находятся не на диске, а встроены в саму оболочку. В этой статье мы рассмотрим основные команды bash в linux, которые могут быть полезны в некоторых ситуациях.

Основные команды Bash

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

Читайте также:  Kyocera 2030dn driver windows 10

1. source

Эта команда позволяет прочитать и выполнить все команды из указанного файла в текущей командной оболочке. Это значит, что все заданные в нем переменные окружения будут видны во всех скриптах или командах, которые вы будете выполнять. Напомню, что если вы запускаете обычный скрипт и объявляете в нем переменную, то она будет доступна только ему потому что для скриптов создается отдельный экземпляр оболочки. Он наследует переменные родителя, но не наоборот. Эта команда часто применяется для обновления окружения после chroot:

2. alias

Команда alias позволяет создавать псевдонимы для других команд. Например, вы можете настроить так, чтобы когда вы вводите update, выполнялась команда sudo apt update && sudo apt upgrade. Если вызвать команду без параметров, то она выведет список уже заданных псевдонимов. Смотрите подробнее о том как создавать алиасы Linux в отдельной статье.

3. bind

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

Команда cd используется очень часто при работе с папками в терминале. Она позволяет сменить текущую папку на произвольную. Можно использовать чтобы не набирать длинные пути, также она необходима при компиляции. По умолчанию, текущая папка — домашняя:

5. declare

Встроенная команда bash — declare позволяет объявлять переменные. Опция -a позволяет вывести все уже существующие переменные окружения. В отличии от обычного объявления вы можете задать различные параметры, например, сделать переменную только для чтения с помощью опции -r. Также можно объявлять функции.

6. dirs

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

7. echo

Это одна из самых простых, но в то же время очень полезных команд. Она выводит указанную строку на экран. Часто используется в различных скриптах или для отправки значений в конфигурационные файлы. Подробнее про команду echo смотрите в отдельной статье.

echo «Это строка»

8. enable

Команда enable позволяет включать или отключать встроенные команды bash. Для включения встроенной команды достаточно передать ее в параметрах. Если вы хотите отключить команду, используйте опцию -n, после этого вместо встроенной команды, будет выполняться утилита из файловой системы.

9. exit

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

10. export

Еще одна команда для объявления переменных. Все объявленные с помощью нее переменные экспортируются во внешнее окружение среды и будут доступны всем скриптам и программам. С помощью опции -p вы можете посмотреть экспортированные на данный момент переменные.

11. bg

Команда bg позволяет посмотреть команды, которые выполняются в фоне. Если вы нажмете сочетание клавиш Ctrl+Z, то утилита будет свернута в фоновый режим. Этой командой вы можете посмотреть все такие процессы для данной оболочки.

12. fg

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

Читайте также:  Где хранится неустановленный windows 10

13. history

Команда history linux позволяет посмотреть историю команд, которые вы выполняли ранее. Здесь сохраняется более 1000 последних команд, вы можете все их увидеть, выполнять по них поиск и так далее. Вы можете задать нужное количество записей просто передав нужное значение.

14. kill

Команда kill может быть системной утилитой или командой оболочки. Она позволяет отправить указанному процессу сигнал. Например, SIGKILL, SIGTERM и другие. С помощью нее вы можете завершить процесс по его PID или идентификатору Bash.

15. let

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

16. popd

Это еще одна команда, которая используется для навигации по каталогах. Команда удаляет последнюю директорию из стека каталогов. Таким образом, вы перемещаетесь в ранее выбранную текущую папку с помощью cd, на уровень выше. Команде можно передать в параметрах сколько папок нужно удалить. Для этого добавьте плюс, а затем цифру.

17. printf

Эта команда похожа на echo по своему назначению похожа на echo. Она позволяет вывести в терминал строку, но перед выводом вы можете настроить ее форматирование. Синтаксис форматирования очень похож на тот, что используется в популярных языках программирования, таких как Си или PHP. Например, с помощью этой команды bash вы можете подставить значения переменных в произвольные места строки:

printf «Var: %s\n» «$VAR»

18. pushd

Команда pushd выполняет действие, обратное до popd и по назначению аналогична cd. Она устанавливает указанную папку на верхушку стека директорий, тем самым меняет текущую рабочую директорию на указанную вами.

19. pwd

Позволяет отобразить текущую рабочую папку:

20. read

С помощью команды read, вы можете прочитать строку из стандартного ввода или файла в переменную. Есть подобные ей команды оболочки bash, которые позволяют считывать строку в массив. Команде можно передать файл для считывания, а также несколько переменных:

21. suspend

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

22. umask

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

23. time

Встроенная команда time позволяет замерять время выполнения любого скрипта или программы. Измеряется отдельно время выполнения программы и время на ввод пользователя.

24. wait

Наш список команд bash завершает wait. Она позволяет ожидать пока указанный процесс завершит свое выполнение. Вы можете использовать PID или идентификатор Bash для выбора нужного процесса.

Выводы

В этой статье мы рассмотрели основные команды Bash, которые вы можете применять для управления терминалом Linux. Наверное, вы и не догадывались, что многие из часто используемых программ на самом деле встроенные команды bash. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

Команды type, which, whereis, whatis и locate

Команда type

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

Читайте также:  Skip windows 10 screen

Команда which

Команда which выводит полный путь до команды, если она находится в пути поиска $PATH . Команда which показывает первую найденную команду в переменной $PATH . Если надо проверить существование нескольких совпадений, используется опция -a :

Команда whereis

Команда whereis позволяет найти не только исполняемые файлы, но и файлы документации и конфигурации. Выполняет поиск в ограниченном количестве каталогов, например в каталогах стандартных двоичных файлов, каталогах библиотек и в каталогах man .

Команда whatis

Команда whatis показывает краткую информацию о команде из ее man-страницы.

Команда locate

Команда locate выполняет поиск по базе данных имен файлов, хранящейся в Linux. Для получения актуальных результатов, необходимо регулярно обновлять базу данных со списком имен файлов. Чаще всего ОС настроена таким образом, что обновление будет выполняться автоматически. Если обновление по умолчанию отключено, можно обновить базу данных вручную:

  • -q — позволяет скрыть сообщения об ошибках (например, нет доступа к файлу)
  • -n — позволяет ограничить количество возвращаемых результатов
  • -c — позволяет узнать количество файлов, соответствующих заданному критерию поиска
  • -i — позволяет провести поиск файлов без учета регистра

Источник

Команда which в Linux [с примерами]

Другими словами, если вам интересно, где именно находится определенная программа, просто используйте which. Команда Linux имеет простой синтаксис:

Давайте посмотрим, как использовать эту простую, но полезную команду.

Linux, Примеры команды which

Допустим, вы хотите знать, где находится исполняемый файл Java, используйте команду:

Вывод может быть таким:

$ which java
/usr/bin/java

Обратите внимание, что работает только с исполняемыми файлами. Таким образом, вы должны использовать which только с аргументом. Например, вы устанавливаете Java с помощью пакета JDK, но не запускаете команду с именем «jdk», вы запускаете «java». Таким образом, вы используете команду which на Java, а не JDK.

Если команда which не находит исполняемый файл в текущем пути, она ничего не возвращает.

Использование команды which с несколькими исполняемыми файлами

Вы можете предоставить более одного аргумента для команды which:

Вывод для нас был такой:

$ which man java python nada
/usr/bin/man
/usr/bin/java
/usr/bin/python

Вы заметили что-то здесь? Мы дали ему четыре аргумента, но результат отображается только для трех из них. Это потому, что «nada» не исполняемый файл. Там нет вывода для which.

Показать все пути с командой which

Команда which в Linux имеет только одну опцию -a. По умолчанию эта команда печатает только один путь для своих аргументов.

Если программа имеет исполняемый файл в двух местах, например, в /usr/bin/program и в /usr/local/bin/program, вы можете отобразить оба пути с помощью опции -a.

Статус вывода команды which

Если вы используете команду which в скрипте bash, вам может потребоваться узнать ее состояние завершения.

Команда which имеет следующий статус выхода:

  • 0 – все аргументы найдены и выполняются
  • 1 – один или несколько аргументов не существуют или не выполняются
  • 2 – если указан неверный параметр

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Оцените статью