首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么/usr中有很多硬链接

为什么/usr中有很多硬链接
EN

Unix & Linux用户
提问于 2018-03-06 03:31:30
回答 2查看 338关注 0票数 0

我读过此链接,现在我只想知道为什么/usr中有很多硬链接。

例如,在我的Ubuntu服务器上安装了git,我在这里找到了命令git/usr/bin/git。我执行ls -l /usr/bin/git并获得如下输出:

代码语言:javascript
复制
-rwxr-xr-x 119 root root 11178080 Mar  6 03:48 /usr/bin/git

如你所见,有119个硬链接。

为什么我们这里需要119个硬链接?更普遍的说,由于我们有环境变量PATH,可执行文件已经被放入/usr/bin/中,而且由于兼容性的原因,我们也可以创建软链接,我们可以随时随地执行它们,为什么usr中有一些硬链接?

find /usr -samefile /usr/bin/git的部分输出:

代码语言:javascript
复制
/usr/libexec/git-core/git-prune
/usr/libexec/git-core/git-diff-index
/usr/libexec/git-core/git-ls-remote
/usr/libexec/git-core/git-merge-recursive
/usr/libexec/git-core/git-push
/usr/libexec/git-core/git-update-index
/usr/libexec/git-core/git-check-mailmap
/usr/libexec/git-core/git-interpret-trailers
/usr/libexec/git-core/git-archive
/usr/libexec/git-core/git-upload-archive
/usr/libexec/git-core/git-rev-parse
/usr/libexec/git-core/git-ls-files
/usr/libexec/git-core/git-am

/usr/bin/git的所有硬链接都在/usr/libexec/git-core/中找到。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-03-06 06:09:55

git链接与路径无关,它们是节省空间的措施。

一般来说,在大多数情况下,对于“安装”软件,硬链接在可能的情况下比符号链接更可取,因为它们更高效和更有弹性。您将在/usr/bin中看到很多带有硬链接的二进制文件,包括perl,这很好。

git包确实倾向于使用符号链接,因为涉及到大量的链接和可能引起的问题。如果您从源代码安装git,它将默认使用硬链接(如果可能的话);您可以通过将NO_INSTALL_HARDLINKS=1添加到make install命令的参数中来禁用该链接。

票数 4
EN

Unix & Linux用户

发布于 2018-03-06 06:20:01

通常,一个具有多个相关函数的二进制文件有多个硬链接,以便让每个函数都有一个独特的、令人难忘的命令,并且仍然不会重复所有这些函数可能具有的任何代码。

将单个二进制的各种函数显示为不同的命令也是一种简单的、与shell无关的方法,可以使函数TAB -可完成:例如,在bash中,如果您只记得某个命令的前几个字母,只需键入您记得的字母并按TAB两次:您将得到带有这些大写字母的所有命令的列表。

也可以使用符号链接,但是如果所有链接都位于同一个目录中,那么硬链接是最节省空间的解决方案:与其复制整个文件,或者像符号链接那样消耗额外的inode (在某些文件系统上),硬链接只占用一个目录条目。

如果您愿意,您也可以轻松地使脚本表现为这样:

代码语言:javascript
复制
#!/bin/sh

case "${0##*/}" in
    name1)
        # do something
        ;;
    name2)
        # do something else
        ;;
    *)
        # output an error message, or perhaps usage instructions
        ;;
esac
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/428407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档