На этот вопрос уже есть ответ:
fg
, bg
и job
используются для управления заданиями. И по какой-то причине (возможно, это только я) я не могу найти ни их двоичные файлы, ни их страницы руководства ( whereis
не выводит информации). , который
не дает вывода. Однако сами команды работают нормально.
Я выполнил такие команды, как find / bin bg
, но без совпадений. Я также запустил find / bg
, чтобы забросить широкую сеть.
Вы не получаете файлов против тех команд, потому что они - оболочка (bash
) созданный-ins, не отдельные исполняемые файлы (например, двоичные файлы, сценарии). На самом деле созданная-ins оболочка компилируется в исполняемый файл оболочки; если Вы хотите Вас, может проверить исходный код, чтобы быть уверенным в нем. Как which
или whereis
только ищет внешние исполняемые файлы, Вы не получаете вывода для созданного-ins.
Чтобы найти, является ли команда встроенным или псевдонимом или функциональным или внешним файлом, лучший способ состоит в том, чтобы использовать type
встроенный:
$ type fg
fg is a shell builtin
$ type bg
bg is a shell builtin
$ type jobs
jobs is a shell builtin
Также обратите внимание что Ваш find
команда не синтаксически корректна. Корректный (самый простой) синтаксис find /where/to/search -name 'name_to_search'
.
Также обратите внимание, что немного команд реализованы и как встроенная оболочка и как отдельный автономный исполняемый файл. Для таких команд всегда помните, что встроенная команда будет иметь приоритет по внешней. Так, когда Вы работаете echo something
, встроенное echo
выполняется. Если Вы хотите выполнить двоичный исполняемый файл echo
необходимо назвать его по-другому. Один путь состоит в том, чтобы использовать полный путь для исполняемого файла: /bin/echo something
.
Для отображения всех доступных версий команды работать type
с -a
опция:
$ type -a echo
echo is a shell builtin
echo is /bin/echo
Для получения документации для созданной-ins оболочки можно проверить man
страница bash
или используйте help
команда (который является встроенной командой):
help jobs
Также, поскольку @terdon указал, что необходимо использовать type
вместо which
.
Они - созданная-ins оболочка - можно получить основную информацию использования путем ввода help fg
или help jobs
при приглашении оболочки удара или более подробной информации из страницы справочника удара.
Это - оболочка встроенные команды. Нет никакого двоичного файла для них, поскольку они - часть Bash (или безотносительно оболочки, которую Вы используете).
Они документируются, например, в страница справочника Bash (см. раздел "SHELL BUILTIN COMMANDS")
Добавляя к ответу heemayl, стоит указать на это fg
, bg
, и jobs
должны быть встроены в оболочку, потому что они управляют структурами данных в памяти оболочки и/или состоянии ядра, связанном с процессом оболочки. Не было бы возможно записать внешнюю команду, которая делает что fg
делает.
Другие команды, которые должны быть встроены, включают cd
, eval
, exec
, exit
, export
, history
, read
, set
, source
(иначе .
), shift
, trap
, ulimit
, umask
, и wait
. Ваша оболочка может иметь более длинный список, в зависимости от того, сколько расширенной функциональности она реализует. POSIX имеет другое, но наложение, список "специальных встроенных утилит" - я не уверен почему вещи как break
и continue
рассчитайте как команды, а не ключевые слова управляющей структуры, или почему POSIX не рассматривает вещи как umask
must-build-in, когда они не могут быть реализованы никакой другой путь. (Вы могли записать названную программу /bin/umask
названный umask(2)
, но это только изменило бы настройки для себя, не для последующих процессов, созданных оболочкой, таким образом, это не выполнит свою спецификацию.)
fg
, bg
и jobs
не отдельные утилиты, но они - часть bash
(окружите встроенные команды).
можно найти больше о них в руководстве удара использованием команды
man bash