Bash и Batch — это одно и то же?

Bash и Batch — это одно и то же?

В Windows, когда я запускаю "tasklist", командная строка возвращает список процессов, я думал, что это встроенная функция, но это был просто исполняемый файл в каталоге System32. Теперь я хочу спросить, является ли команда 'ps' в Linux также исполняемым файлом или встроенной командой самого терминала Bash.

еще один вопрос: SSH — это всего лишь терминал Bash? (Но, конечно, с некоторыми расширенными функциями, например, через сеть)

решение1

Чтобы вывести список всех встроенных команд:

compgen -b

Чтобы получить информацию об одной команде, вы можете использовать typeкоманду. Например:

type -a cd
cd is a shell builtin

или (проверьте):

compgen -b | grep cd
cd

Пример 2:

compgen -b | grep ssh

Ничего не возвращает, ssh — внешняя команда.

Больше информации :

решение2

Я отвечу на первую часть. Сначала встроенная оболочка:

$ help command
command: command [-pVv] command [arg ...]
    Execute a simple command or display information about commands.

    Runs COMMAND with ARGS suppressing  shell function lookup, or display
    information about the specified COMMANDs.  Can be used to invoke commands
    on disk when a function with the same name exists.

    Options:
      -p    use a default value for PATH that is guaranteed to find all of
            the standard utilities
      -v    print a description of COMMAND similar to the `type' builtin
      -V    print a more verbose description of each COMMAND

    Exit Status:
    Returns exit status of COMMAND, or failure if COMMAND is not found.

Далее воспользуйтесь commandвстроенной функцией для проверки ps.

$ command -V ps
ps is hashed (/bin/ps)

Таким образом, psэто его собственный двоичный файл.

решение3

Ну, psэто автономный бинарный файл. Попробуйте which cmdили , whereis cmdчтобы найти его в любом 'cmd'. Вы также можете найти .exe-порты для таких команд unix/linux для windows.

SSH открывает текстовый канал связи (виртуальный терминал) между вами и удаленной машиной. «bash» — одна из наиболее используемых оболочек, но есть и другие, такие как tcsh, csh, ksh, и т. д. Так что, говоря простыми словами, SSH — это не просто терминал bash.

Связанный контент