为什么我不能在终端中运行这个程序?

1 linux

Ubuntu 16.04 全新更新。

drwxrwxr-x  5 piotr piotr   4096 sep 14 02:59 platform-tools
-rw-r--r--  1 piotr piotr  17408 aug 16 13:09 PrimaryGPT.gpt
-rwxr-xr-x  1 piotr piotr 201204 júl 15  2016 qflash
-rw-r--r--  1 piotr piotr 358048 jan 15  2015 sbl2_tmp.mbn
drwxr-xr-x  3 piotr piotr   4096 feb 27  2020 sdat2img

piotr@piotr-Ex:~/lg$ qflash
qflash: command not found
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

gro*_*taj 7

与 Windows 不同,Linux 默认不会从当前目录运行可执行文件。您可以通过添加.到来启用此行为$PATH,但它会产生额外的安全隐患,我建议您不要这样做。

要调用不在其中的可执行文件,$PATH您必须明确指定路径。输入文件的路径而不仅仅是文件名。假设您在~/lg文件所在的位置,那就是./qflash(.总是指当前目录)。

如果你是例如。在 中~,您可以调用lg/qflash(相对路径)或~/lg/qflash(绝对路径 - 独立于当前目录)。但这可能并不总是有效,因为某些程序会使用您当前所在的目录。