失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 「Linux」软链接和硬链接 site default-ssl not properly enabled default-ssl.conf is a real file

「Linux」软链接和硬链接 site default-ssl not properly enabled default-ssl.conf is a real file

时间:2021-03-01 13:53:24

相关推荐

「Linux」软链接和硬链接 site default-ssl not properly enabled  default-ssl.conf is a real file

软链接和硬链接

问题来源:在配置Apache的SSL功能时,在配置过程中,发现最后启动配置项的/etc/apache2/sites-enabled/default-ssl.conf时,报错:

site default-ssl not properly enabled, default-ssl.conf is a real file

当时看到这个信息,不可以是真实的文件,以及之前看过的配置文件的内容,这个部分用ls -lah输出之后,会指定l,也就是软链接。但是,软链接和硬链接好像很久之前看过,也不知道该怎么指定。

翻阅《Linux/UNIX系统编程手册》之后,整理一下信息。

针对驻留于文件系统上的每个文件,文件系统的i节点表会包含一个i节点(索引节点的简称),也就是i-nodels -li中的i代表输出的文件的i-node信息,在第一列表示。文件i-node存储的信息列表不包含文件名,而是通过目录列表中的一个映射来定义文件名称,这种特性,导致系统可以在相同或不同的目录中创建多个名称,每个都指向相同的i-node节点,也就是硬链接。

硬链接

我们可以通过ln sth hard-file来为sth创建一个硬链接,如下我在Mac OS中测试的结果:

macdeMac:Desktop mac$ echo -n 'It is good to collect things, ' > abcmacdeMac:Desktop mac$ ls -li abc36095670 -rw-r--r-- 1 mac staff 30 11 27 20:15 abcmacdeMac:Desktop mac$ ln abc xyzmacdeMac:Desktop mac$ echo ' but it is better to go on walks.' >> xyzmacdeMac:Desktop mac$ ls -li abc xyz36095670 -rw-r--r-- 2 mac staff 64 11 27 20:16 abc36095670 -rw-r--r-- 2 mac staff 64 11 27 20:16 xyz

其中第三列为对i-node的计数,当执行ln命令之后,可以发现计数为2

,也就是指向这个文件的有两个名字,相同的xyz也是2。

当删除一个文件时,另一个文件作为一个独立的个体仍然存在。

macdeMac:Desktop mac$ rm abcmacdeMac:Desktop mac$ ls -li xyz36095670 -rw-r--r-- 1 mac staff 64 11 27 20:16 xyz

只有当i-node的计数为0时,才会释放文件的i-node记录和数据块。

硬链接具有如下的 限制:

硬链接对文件的指代采用了i-node编号,而i-node编号的唯一性仅在一个文件系统之内才能得到保障,所以硬链接必须与其指代的文件驻留在同一文件系统中。不能为目录创建硬链接,避免出现混乱的连接环路。

软链接(符号链接)

这是一种特殊的文件类型,其数据是另一个文件的名称。由命令ln -s来创建,ls -F的输出结果会在符号链接的尾部标记@

符号链接可以用于链接不同文件系统中的一个文件,而对硬链接的那些制约就不会困扰到符号链接,可以为目录创建符号链接。

ln -s sth asth为asth创建一个指向sth的软链接,这是一个实际存在的文件,只是指向另一个文件。当查找时会通过这个软链接去查找,修改时,也会对两个文件同时造成修改。

不如硬链接的就是,它一旦更改目录就会导致软链接无法使用。

macdeMac:Desktop mac$ ln -s xyz iomacdeMac:Desktop mac$ ls -alh xyz iolrwxr-xr-x 1 mac staff3B 11 27 20:30 io -> xyz-rw-r--r-- 1 mac staff 64B 11 27 20:16 xyzmacdeMac:Desktop mac$ cat xyzIt is good to collect things, but it is better to go on walks.macdeMac:Desktop mac$ cat ioIt is good to collect things, but it is better to go on walks.macdeMac:Desktop mac$ echo 'lll' >> iomacdeMac:Desktop mac$ cat xyzIt is good to collect things, but it is better to go on walks.lllmacdeMac:Desktop mac$ cat ioIt is good to collect things, but it is better to go on walks.lllmacdeMac:Desktop mac$ echo 'ooo' >> xyzmacdeMac:Desktop mac$ cat xyzIt is good to collect things, but it is better to go on walks.lllooomacdeMac:Desktop mac$ cat ioIt is good to collect things, but it is better to go on walks.lllooo

岁月漫长,也值得等待

如果觉得《「Linux」软链接和硬链接 site default-ssl not properly enabled default-ssl.conf is a real file》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。