Ist Bash dasselbe wie Batch?

Ist Bash dasselbe wie Batch?

Wenn ich in Windows „tasklist“ ausführe, gibt die Eingabeaufforderung die Liste der Prozesse zurück. Ich dachte, es handele sich um eine integrierte Funktion, aber es war nur eine ausführbare Datei im System32-Verzeichnis. Jetzt möchte ich fragen, ob der Befehl „ps“ in Linux auch eine ausführbare Datei oder ein integrierter Befehl des Bash-Terminals selbst ist.

noch eine Frage: Ist SSH nur ein Bash-Terminal? (Aber natürlich mit einigen erweiterten Funktionen, etwa über das Internet)

Antwort1

So listen Sie alle integrierten Befehle auf:

compgen -b

Um Informationen zu einem einzelnen Befehl zu erhalten, können Sie typeden Befehl verwenden. z. B.:

type -a cd
cd is a shell builtin

oder (prüfen Sie es):

compgen -b | grep cd
cd

Beispiel 2:

compgen -b | grep ssh

Gibt nichts zurück, ssh ist ein externer Befehl.

Mehr Informationen :

  • Bash (Unix-Shell)
  • Geben Sie es man bashvom Terminal aus ein (eine ausführliche Dokumentation).

Antwort2

Ich werde den ersten Teil beantworten. Zuerst ein Shell-Builtin:

$ 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.

Verwenden Sie als Nächstes das commandintegrierte Tool zum Auschecken ps.

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

Es handelt sich also psum eine eigene Binärdatei.

Antwort3

Nun, pses ist eine eigenständige Binärdatei. Versuchen Sie, dies über einen beliebigen „cmd“ zu finden. which cmdMöglicherweise whereis cmdfinden Sie auch .exe-Ports für solche Unix-/Linux-Befehle für Windows.

SSH öffnet einen textbasierten Kommunikationskanal (virtuelles Terminal) zwischen Ihnen und einem Remotecomputer. „bash“ ist eine der am häufigsten verwendeten Shells, aber es gibt auch andere wie tcsh, csh, ksh, usw. Einfach ausgedrückt ist SSH also nicht nur ein Bash-Terminal.

verwandte Informationen