Linux命令运行文件

Linux命令运行文件

我正在尝试运行 Foxitreader。我已经在上面运行了 tar。但是为什么我需要执行安装 为什么我必须在下载中运行以“./”开头的文件?这意味着什么?

./FoxitReader.enu.setup.1.1.0.0225(r205262)​​.x64.run

答案1

Foxit 将其 Foxit PDF 阅读器作为压缩档案进行分发(文件结尾为 .tar.gz:.tar 表示它是档案,.gz 表示它是压缩的)。

解压该文件后,您将获得此 .run 文件。这是一个可以在命令行上执行的二进制文件。前缀./告诉您的 shell 在当前目录中查找文件,因为 是.“当前目录”的标识符。您可以使用命令检查您所在的目录pwd

答案2

在Linux和类Unix系统中。符号. 表示当前目录 符号..表示过去目录

so ./X(X是二进制文件)告诉你的终端应该执行X文件二进制文件

.gz是压缩文件的后缀,就像X.gz .tar是存档文件的后缀一样,X.tar 我们在 Linux 中有其他压缩器命令,例如bzip2(带前缀.bz2),但通常,我们使用 gzip 来压缩文件

有关 tar 的更多信息,请参见这里

有关 gzip 的更多信息,请参阅这里

答案3

与Windows相比,该tar文件只是一个存档,就像zip是一样。

所以您所做的就是从存档中解压缩可执行文件。这就像解压一个.zip文件来获取一个.exe文件在 Windows 上。

但是,就像在 Windows 上一样,在这里你需要运行可执行文件实际上跑步该程序。

您可以运行此可执行文件(保存在当前文件夹中)./FoxitReader.enu.setup.1.1.0.0225(r205262).x64.run。再次,这相当于运行一个exe文件


对于这个问题:“为什么我需要./运行可执行文件?” - 你并不总是需要它。

例如,当您键入lscp其他内容时,您会运行一个可执行文件。问题是,终端需要知道在哪里找到这个程序。

默认情况下,当您不键入可执行文件的路径时,终端会在配置的文件夹中搜索它。

因此,当您输入 时ls,终端:

  1. 看到命令没有指定在ls哪里
  2. $PATH在使用变量(设置)定义的文件夹中查找
  3. 发现ls/bin/ls
  4. 运行它

但是,该$PATH设置中通常不包含当前目录。这意味着您必须写入可执行文件的路径,并且当前文件夹有一个特殊的名称.,就像父文件夹一样..

如果没有指定 FoxitReader“exe”位于当前(或不同的目录)[带有./Downloads/等等],它将找不到它并且不会运行它。

相关内容