假设我在当前目录中创建了一个名为“xeyes.exe”的可运行程序。
当我在命令提示符中输入命令“xeyes”时,为什么运行的是程序而不是命令?
答案1
为什么运行的是程序而不是命令?
因为Unix是一个安全的多用户系统。
它不会根据文件的名称对文件做出假设 - 它们的行为是在元数据中定义的。
默认情况下,shell 只会从定义的位置运行程序,除非您明确告诉它否则这样做。
假设我创建了一个程序,该程序删除了随机文件,发送了粗鲁的电子邮件,并通过电子邮件向我发送了运行用户的私有 ssh 密钥的副本,并将其命名为“ls”,并将其留在了很多人使用的目录中?