相关疑难解决方法(0)

为什么“/”有一个“..”条目?

这一直困扰着我。为什么根目录包含对父目录的引用?

bob@bob:/$ ls -a
. 构建 home lib32 mnt .rpmdb sys vmlinuz
.. cdrom initrd.img lib64 opt sbin tmp vmlinuz.old
bin dev initrd.img.old lost+found proc selinux usr
引导等 lib 媒体根 srv var

我了解如何在文件系统中管理目录 - 每个目录都有 n+2 个指向自身的指针(n = 目录内的子目录数)。一个用于每个直接子目录,一个用于其父目录,一个用于其自身。

但是什么是/父母?

filesystems directory directory-structure

84
推荐指数
2
解决办法
5478
查看次数

为什么硬链接似乎与原始链接占用相同的空间?

多亏了这里和这个页面上的一些很好的问答,我现在明白了链接。我看到硬链接以不同的名称引用相同的 inode,副本是不同的“节点,具有不同的名称。加上软链接将原始文件名和路径作为它们的 inode,所以如果文件被移动,链接就会中断。

所以,我用一些文件(下面的“saluton_mondo.cpp”)测试了我学到的东西,制作了一个硬链接和一个软链接以及一个副本。

jmcf125@VMUbuntu:~$ ls -lh soft hard copy s*.cpp
-rw-rw-r-- 1 jmcf125 jmcf125 205 A?g 27 16:10 copy
-rw-rw-r-- 2 jmcf125 jmcf125 205 A?g 25 13:34 hard
-rw-rw-r-- 2 jmcf125 jmcf125 205 A?g 25 13:34 saluton_mondo.cpp
lrwxrwxrwx 1 jmcf125 jmcf125  17 A?g 27 16:09 soft -> saluton_mondo.cpp
Run Code Online (Sandbox Code Playgroud)

然而,我发现硬链接与原始链接的大小相同,并且在逻辑上与副本的大小相同,这让我感到尴尬。如果硬链接和原始共享同一个inode,即有数据,只是文件名不同,那么硬链接不应该只占用其名称的空间,而不是205个字节吗?或者是ls -lh返回的原始文件的大小?但是我怎么知道文件名占用了多少空间呢?这里说硬链接没有大小。他们的文件名是否与原始文件名一起保存?硬链接的文件名存储在哪里?

linux hard-link disk-usage symlink files

18
推荐指数
2
解决办法
2万
查看次数

为什么 /bin 中混合了符号链接和硬链接?

我了解符号链接和硬链接之间的技术差异,这是一个关于它们在实践中使用的问题,特别是我很想知道为什么两者都在看似相似的条件下使用:/bin目录。

这是它在我的系统上的列表的片段:

~$ ls -lai /bin
total 10508
32770 drwxr-xr-x  2 root root    4096 Jun 14 11:47 .
    2 drwxr-xr-x 28 root root    4096 Sep  6 13:15 ..
  119 -rwxr-xr-x  1 root root  959120 Mar 28 22:02 bash
   2820 -rwxr-xr-x  3 root root   31112 Dec 15  2011 bunzip2
  127 -rwxr-xr-x  1 root root 1832016 Nov 16  2012 busybox
   2820 -rwxr-xr-x  3 root root   31112 Dec 15  2011 bzcat
 6191 lrwxrwxrwx  1 root root       6 Dec 15  2011 bzcmp …
Run Code Online (Sandbox Code Playgroud)

hard-link utilities symlink

10
推荐指数
2
解决办法
301
查看次数

inode 有什么用?

我想知道将有关文件的信息存储在inode 中而不是直接存储在目录中是否值得额外的开销。可能我高估了开销或忽略了一些重要的事情,但这就是我问的原因。

我看到硬链接需要像“inode”这样的东西,但如果开销真的和我想象的一样大,我想知道是否有任何理由证明它是合理的:

  • 使用硬链接进行备份很聪明,但与正常操作的效率相比,备份的效率还不够重要
  • 硬链接既没有速度也没有大小损失真的很重要,因为这种优势仅适用于使用硬链接的少数文件,而对所有文件的访问会受到开销
  • 为几个同名的二进制文件节省一些空间,例如bunzip2并且bcat可以忽略不计

我并不是说 inodes/hardlinks 不好或没用,但它能否证明额外间接的成本是合理的(缓存肯定有很大帮助,但它不是灵丹妙药)?

filesystems hard-link inode files

6
推荐指数
1
解决办法
6629
查看次数