
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 type
den 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 bash
vom 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 command
integrierte Tool zum Auschecken ps
.
$ command -V ps
ps is hashed (/bin/ps)
Es handelt sich also ps
um eine eigene Binärdatei.
Antwort3
Nun, ps
es ist eine eigenständige Binärdatei. Versuchen Sie, dies über einen beliebigen „cmd“ zu finden. which cmd
Möglicherweise whereis cmd
finden 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.