更确切地说,Ubuntu 使用什么来代替 Windows 的 .exe 文件?例如,在我上一个问题中,我问了 Ruby 2.2.2。我想知道哪个文件是实际的 Ruby 程序,而我只有一个模糊的概念:“查看 bin 文件夹”。
答案1
Linux/Unix 不一定像 Windows 那样依赖扩展。换句话说,文件可能已经是可执行程序。例如,让我们使用which
命令来查找程序和命令的实际二进制文件,例如gnome-terminal
。
$ which gnome-terminal
/usr/bin/gnome-terminal
如您所见,没有扩展。就脚本而言,许多用户喜欢添加.sh
和.py
或甚至.awk
(我经常这样做),但这主要是为了方便。
现在,如果您有一个程序并且想要在系统的某个地方找到它的二进制文件,那么您首先要检查的是任何 Linux 系统上的文件夹/bin
。/usr/bin
但是,有一些类似于桌面快捷方式的东西。在/usr/share/applications/
文件夹中,您可以找到大量.desktop
文件。这是我要查看的第二个地方。除非它是您手动安装的程序,而不是使用软件中心或apt-get
命令,否则您可以 99% 确定.desktop
该程序有一个文件。此外,您可以使用 gedit 或任何文本编辑器打开这些文件,然后找到Exec=
行以查看正在执行的二进制文件的实际路径。
让我们回顾一下:
which
如果您知道完整命令,请使用命令来查找其存储位置- 检查
/usr/bin/
并/bin
- 查看
/usr/share/applications
补充说明:为了运行脚本或二进制文件,还必须将x
文件所有者、组和/或其他用户的权限设置为(可执行)。例如,我创建了一个名为的脚本whiletest.sh
。让我们通过混合ls -l
和which
命令来查找它的权限
ls -l $(which whiletest.sh )
-rwxrwxr-x 1 xieerqi xieerqi 161 May 18 22:42 /home/xieerqi/bin/whiletest.sh
正如您所看到的,我们对所有者(前 3 个)具有读写执行权限,对所有者组(后 3 个)具有读写执行权限,对其他用户和组具有读取执行权限,但没有写入权限。创建文件时,默认情况下不会授予这些可执行权限。初始权限为-rw-rw-r--
,即所有者和组仅具有读写访问权限。要使任何文件可执行,您需要运行chmod 775 /path/to/file
或chmod +x /path/to/file
。为什么有两种不同的方式?您可以用二进制数来考虑权限。因此,初始权限-rw-rw-r--
可以读作所有者 5(二进制 110,或读取设置、写入设置、执行重置)、组 5,以及其他人的 4(二进制 100,读取设置,其他未设置)。
有关文件权限的更多信息,您可以检查本教程来自 linux.com
有关 apt-get 的其他信息:根据评论中的要求,这里有更多关于 的信息apt-get
。该apt-get
命令用于通过终端中的命令行安装软件。这实际上是软件中心在后台安装软件时使用的。
就我个人而言,我已经很久没有使用过软件中心了,大部分的使用方式apt-get
如下:
- 使用 搜索所需程序
apt-cache search
。例如,apt-cache search text editor
如果输出很长(通常很长),我会将输出通过管道传输到名为的分页程序less
,如下所示apt-cache search text editor | less
。 - 使用 安装所需软件
sudo apt-get install program-name
。例如sudo apt-get install emacs
, sudo apt-get remove program-name
使用(仅删除程序)或sudo apt-get purge program-name
(清除所有配置文件以及程序本身)删除不需要的程序。例如,sudo apt-get remove emacs
。- 通常,当你安装某些东西时,会安装额外的软件包,因为程序需要它们,但是一旦程序被删除,它们可能就不再需要了。你可以使用
sudo apt-get autoremove
和sudo apt-get autoclean
- 如果你只想要程序的源代码,请运行
sudo apt-get source program-name
。例如,sudo apt-get source xterm
如需了解更多功能,请查看apt-get 的手册页