在 Windows 中,当我运行“tasklist”时,命令提示符返回进程列表,我以为这是一个内置函数,但它只是 System32 目录中的可执行文件。现在我想问一下 Linux 中的 'ps' 命令是否也是一个可执行文件或 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 是一个外部命令。
更多信息 :
- Bash(Unix shell)
man bash
从终端输入(详细文档)。
答案2
我来回答第一部分。首先,一个 shell 内置命令:
$ 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”的信息。您还可以找到适用于 Windows 的此类 unix/linux 命令的 .exe 端口。
SSH 在您和远程机器之间打开一个基于文本的通信通道(虚拟终端)。'bash' 是最常用的 shell 之一,但也有其他 shell,如、、tcsh
等。所以简单来说,SSH 不仅仅是一个 bash 终端。csh
ksh