当我们安装一个新软件时,解压后一般会执行以下步骤:
将文件移动到
/opt/folder
创建符号链接
sudo ln -s /opt/folder/application_folder_name /usr/bin/application_folder_name
为什么这里需要软链接?
另外,为什么install.sh
应用程序文件夹中的脚本不启动安装过程?
答案1
这样,您就可以启动程序,而无需扩展$PATH
shell 在其中搜索二进制文件/可执行文件的搜索路径 ( ),也无需将它们复制到目录/usr/bin
(或 中的其他目录$PATH
)中。
这具有较小的空间优势(如果/opt
和位于不同的分区上),但更重要的是,如此链接的可执行文件可以跟踪调用路径(到)/usr
的链接,从而找出它的安装位置。这使得无需配置就可以拥有某个目录,并且它仍然可以根据真正的可执行文件(通过链接找到)所在的位置找到该目录。/usr/bin/application_name
/opt/folder/application_name
/opt/folder/data
application_name
install.sh
至于你问题的第二部分: from using没有自动启动tar
,这只是人类识别的名称,因为他们需要启动才能安装(就像 一样tar
,或者任何其他提取程序都不会向你显示自述文件之一)。
1可执行文件的调用路径作为第一个参数(在 python 中为 to sys.argv[0]
,在 C 中为数组的第一个元素char *
作为第二个参数传递给main()