网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Linux中的硬链接和软链接-创新互联

这期内容当中小编将会给大家带来有关Linux中的硬链接和软链接介绍,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

成都创新互联公司于2013年创立,先为常州等服务建站,常州等地企业,进行企业商务咨询服务。为常州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

硬链接

首先我们来看硬链接,我们来用php中变量的引用来对比吧。

$a = 100;
$b = &$a;

可以将$a看做是一个文件,而$b看出是$a文件的硬链接。现在的作用是,不管是$a或$b作了修改,都会影响到对方。

那现在将其中一个文件删除,另一个文件还存在吗?

unset($b);

即使删除了$b文件,$a文件还是存在的。

下面,我们来看看是不是和上面所说一样。创建硬链接的命令如下:

ln 源文件 链接文件

目前系统有一个1.php文件,现在我们来给他创建个硬链接。

# ln 1.php 2.php

# cat 1.php

现在我们来修改下2.php文件,看看1.php文件是否也会被修改。

# echo -e '\n?>' >> 2.php

# cat 1.php

可以看到,修改了2.php,1.php文件也会被修改。现在我们来删除2.php文件,看看1.php文件是否还存在。

# rm -f 2.php
# ll 1.php
-rw-r--r-- 1 root root 52 Jun 20 08:05 1.php

可以看到,即使删除了2.php,1.php文件依旧是存在的。

上面介绍了硬链接的作用,下面来说下硬链接在使用时候的限制:

  • 不能链接目录

  • 不能跨文件系统来做链接

由于以上两点的限制导致日常使用硬链接的机会很少,下面介绍另外一种链接——软链接,它没有上述的限制,所以平时用的很多哦!。

软链接

一般会将软链接和windows系统中的桌面快捷方式来对比,通过创建软链接可以很方便的执行一个命令,而不用去找文件的目录位置。另外,删除了软链接文件,源文件依旧存在。但是,如果删除了源文件,那么链接文件就没有作用了。

软链接分为文件及目录两种,下面分别介绍下这两种链接的作用。

给文件做软链接

你有没有想过,为什么你安装好了mysql后,不用使用绝对路径,就可以使用mysql来执行。这里面就是使用到了软链接。

# which mysql
/usr/bin/mysql
# ll /usr/bin/mysql
lrwxrwxrwx 1 root root 26 Nov  4  2019 /usr/bin/mysql -> /usr/local/mysql/bin/mysql

可以看出,该命令的实际地址是/usr/local/mysql/bin/mysql,但是给该文件做了软链接到了/usr/bin/目录下,所以就不用使用绝对路径即可调用该命令了。

下面我们自己做一个文件软链接,看是不是这样的。

首先创建一个文件soft.sh

vim soft

#!/bin/bash
echo 'study softlink'

# chmod u+x soft

然后给该文件创建软链接,看看直接执行该命令是不是可以了

# ln -s /root/soft  /usr/bin/
# soft
study softlink

给目录做软链接

首先,我们需要注意的是,做软链接时,目标文件或目录必须不存在。

下面,我们引出一个场景,该场景非常的常见:

网站文件存放在/www/wwwroot目录下,随着系统运行时间越来越差,该目录越来越大,由于该目录是和根目录在同一个分区,根目录快要写满了。而另外一个分区目录/data还剩99G剩余空间。这时候,不想重新分区,那么需要怎样做才能使得根目录所在分区取得解放。

下面,我们使用目录软链接来解决该问题。首先,在/data目录下建立wwwroot目录,然后将/www/wwwroot目录下所有文件移动到/data/wwwfile下,再删除/www/wwwroot目录。最后给/data/wwwfile目录软链接到/www/wwwroot

mkdir /data/wwwfile
mv /www/wwwroot/* /data/wwwfile
rm -rf /www/wwwroot
ln -s /data/wwwfile /www/wwwroot

现在,我们来测试下问题是否真的解决了。目前根分区使用率为19%,而/data分区使用率为9%。

/dev/vda1        40G  7.4G   33G  19% /
/dev/vdb1       500G   43G  458G   9% /data

我们在/www/wwwroot目录下创建一个2G的大文件,然后看看哪个分区的容量变大了。我们想要的答案是/data分区使用率变高,而根分区不变。

dd if=/dev/zero of=/www/wwwroot/bigfile bs=1G count=2
# 然后看看各分区使用容量的变化
/dev/vda1        40G  7.4G   33G  19% /
/dev/vdb1       500G   45G  456G   9% /data

可以看到,根分区可用容量还是33G,但/data分区已经从458G变为了456G,所以说我们解决了问题。

上述就是小编为大家分享的Linux中的硬链接和软链接了,看完之后是否对硬链接和软链接有进一步的了解呢。如果想了解更多相关内容,请关注创新互联行业资讯。


网站栏目:Linux中的硬链接和软链接-创新互联
本文网址:http://bjjierui.cn/article/hjpsc.html

其他资讯