我试图对"硬链接和软链接"的概念有一个基本的了解。在Linux中。
我在网上看到了几个链接,他们都说在理解硬链接和软链接之前必须先了解Unix文件系统。
我会先写下我到目前为止所写的内容,主要是为了纠正我,如果我错了......(我知道我可能会过度简化事情,这是为了......好吧......简化事情:
所以我们可以有这样的事情:
我也读过,这就是我感到困惑的地方,文件的name-inode映射不一定是唯一的,这意味着目录可以包含映射到相同inode编号的两个不同的文件名(因此对于文件系统中的同一文件,因此对于磁盘上的相同实际内容数据),和两个不同的目录可能包含相同的name-inode映射(它与&#有什么不同? 34;处理一个文件夹及其所有内容"?)所以使用任一路径名将导致磁盘上的相同实际内容...你究竟如何在linux上命名一个具有两个不同名称的文件,它有什么用呢?呢?
顺便问一下,是否有一些linux工具显示给定inode的信息?答案 0 :(得分:2)
how is it different from copying a folder with all its content?
假设您有一个8GB的USB记忆棒,其中包含6GB大小的任意文件夹。您希望从2个不同的位置访问该文件夹,例如/ so_very_tired / shared_big_folder和/ james / foobar但两个位置的复制都不适合USB记忆棒。因此,您可以创建文件/文件夹的引用或符号链接。此文件夹的实际位置可以是任何位置,例如/ 6GB_FOLDER
为了做到这一点,我们从/ so_very_tired / shared_big_folder =>创建了一个符号链接。 / 6GB_FOLDER和/ james / foobar => / 6GB_FOLDER
现在访问目录/ so_very_tired / shared_big_folder和/ james / foobar将导致/ 6GB_FOLDER。
要查找文件和indoes的更多信息,请打开命令提示符并键入
$man ls
您可以使用ls -i
列出文件的inode编号
当你想要链接到文件不存在的文件时,它们主要被使用。例如,你有一个服务器的配置文件放在/ etc / nginx / sites-avaliable /中,以便启用它,你想将它放在/ etc / site-enabled文件夹中,但你不想复制。通过创建符号链接,对sites-available文件夹中的文件的所有编辑也将对启用了站点的符号链接指向的文件进行。这是因为一个是文件,另一个是同一个文件。
要创建符号链接,请使用
ln -s /existing-file /symbolic-link