Questions tagged «hard-link»

硬链接是文件系统条目,它将名称与文件系统上的另一个文件相关联。

19
有没有一种简单的方法可以用硬链接替换重复的文件?
我正在寻找一种简单的方法(一个命令或一系列命令,可能涉及find)来找到两个目录中的重复文件,并将一个目录中的文件替换为另一目录中的文件的硬链接。 情况如下:这是一个文件服务器,多个人在上面存储音频文件,每个用户都有自己的文件夹。有时,多个人拥有完全相同的音频文件的副本。现在,这些是重复的。我想使其成为硬链接,以节省硬盘空间。





5
如何使用每个文件的硬链接递归复制目录
我想创建目录树的“副本”,其中每个文件都是到原始文件的硬链接 示例:我有一个目录结构: dirA/ dirA/file1 dirA/x/ dirA/x/file2 dirA/y/ dirA/y/file3 这是预期的结果,即目录树的“副本”,其中每个文件都是与原始文件的硬链接: dirB/ # normal directory dirB/file1 # hardlink to dirA/file1 dirB/x/ # normal directory dirB/x/file2 # hardlink to dirA/x/file2 dirB/y/ # normal directory dirB/y/file3 # hardlink to dirA/y/file3

5
确定文件是硬链接还是符号链接?
我正在创建一个shell脚本,该脚本将使用文件名/文件路径并确定文件是符号链接还是硬链接。 唯一的是,我不知道如何查看它们是否是硬链接。我创建了2个文件,一个是硬链接,另一个是符号链接,用作测试文件。但是,如何确定文件是Shell脚本中的硬链接还是符号文件? 另外,如何找到符号链接的目标分区?因此,假设我有一个链接到其他分区的文件,我如何找到该原始文件的路径?

2
为什么是 '。' Unix中的硬链接?
对于基于Unix的操作系统,为什么一个空目录的链接计数是2而不是1,我已经看到了很多解释。他们都说这是因为'。目录,每个目录都指向其自身。我了解为什么要使用“。”的概念。对于指定相对路径很有用,但是通过在文件系统级别实现它可以得到什么呢?为什么不只具有路径的shell或系统调用知道如何解释它呢? 对我来说,“ ..”是一个真正的链接-文件系统需要存储一个指向父目录的指针才能导航到它。但是我不明白为什么。成为真正的链接是必要的。似乎也导致实现中出现一个丑陋的特殊情况-您可能认为您只能释放链接数小于1的inode所使用的空间,但是如果它们是目录,则实际上需要检查链接数少于2。为什么不一致?

5
如何使用保留的硬链接复制目录?
如何将具有共同文件的目录从一个分区移动到另一个分区? 假设我们已经挂载了分区,/mnt/X并且目录共享带有硬链接的文件。如何将此类目录移动到另一个分区,/mnt/Y保留这些硬链接就可以了。 为了更好地说明,“与硬链接共享文件的目录”是什么意思,下面是一个示例: # let's create three of directories and files mkdir -p a/{b,c,d}/{x,y,z} touch a/{b,c,d}/{x,y,z}/f{1,2,3,4,5} # and copy it with hardlinks cp -r -l a hardlinks_of_a 更具体地说,我们假设文件的总大小为10G,每个文件有10个硬链接。问题是如何使用10G将其移动到目的地(有人可能会说过使用100G复制它然后运行重复数据删除-这不是我要的内容)
40 files  cp  hard-link 

9
硬链接的用例?[关闭]
在什么情况下,您想使用硬链接而不是软链接?我个人从未遇到过要在软链接上使用硬链接的情况,并且在搜索Web时遇到的唯一用例是对相同文件进行重复数据删除。

8
硬链接和文件有什么区别?
甲硬链接被定义为一个指向一个inode。甲软链接,也称为符号链接,被定义为指向到另一条链路而无需硬链接的限制的独立文件。 文件和硬链接有什么区别?硬链接指向索引节点,那么文件是什么?索引节点条目本身?还是具有硬链接的索引节点? 假设我用触摸创建了一个文件。然后,一个inode条目在创建inode表。然后创建一个硬链接,该硬链接具有与文件相同的索引节点号。那我创建了一个新文件吗?还是只是将文件定义为inode?


5
一个文件要属于两个用户。怎么样?硬链接失败
两个setuid程序/usr/bin/bar和/usr/bin/baz共享一个配置文件foo。配置文件的模式为0640,因为它包含敏感信息。一个程序的运行方式为bar:bar(即,作为用户栏,组栏);另一个为baz:baz。更改用户不是一种选择,即使更改组也不可取。 我希望将单个配置文件与/etc/bar/foo和硬链接/etc/baz/foo。但是,这失败了,因为据我所知该文件必须属于root:bar或root:baz。 可能的解决方案:创建一个barbaz成员为bar和的新组baz。让foo属于root:barbaz。 对我来说,这似乎是一个繁重的解决方案。是否没有更整洁,更简单的方法foo在两个程序之间共享配置文件? 目前,我正在维护文件的两个相同副本。这有效,但是显然是错误的。什么是对的? 有关信息:我对Unix组几乎没有经验,对setgid(2)也没有经验。

6
用硬链接替换文件到/ dev / null
我正在运行一个写入log.txt的应用程序。该应用程序已更新为新版本,从而使受支持的插件不再兼容。它将大量错误输入到log.txt中,并且似乎不支持写入其他日志文件。 如何将它们写入其他日志? 我曾考虑用硬链接(应用程序无法分辨出区别吗?)或指向/ dev / null的硬链接替换log.txt。我有什么选择?

4
如何取消链接(删除)为文件夹创建的特殊硬链接“。”?
在Linux上,当您创建文件夹时,它会自动创建两个指向相应inode的硬链接。一个是您要创建的文件夹,另一个是该.文件夹的特殊文件夹。 例: $ mkdir folder $ ls -li total 0 124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 folder $ ls -lai folder total 0 124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 . 124593716 drwxr-xr-x 3 fantattitude staff 102 18 oct 16:52 .. 如您所见,folder和.的内部folder都有相同的inode编号(与-ioption一起显示)。 无论如何,有没有删除这个特殊的.硬链接? 仅用于实验和好奇心。 另外,我猜答案也可能适用于..特殊文件。 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.