1、软链接与硬链接的作用
(1)软链接
软链接是Linux中常用的命令,它的功能是某一文件在另外一个位置建立一个同步的链接,相当于C语言中的指针,建立的链接直接指向源文件所在的地址,软链接不会另外占用资源,当同一文件需要在多个位置被用到的时候,就会使用到软连接。
(2)硬链接
硬链接在是另外一个位置创建源文件的链接文件,相当于复制了一份,占用资源会倍增。硬链接一旦创建,源文件和链接文件任何一方修改文件都会同步修改。
2、软、硬链接的相同点与区别
3、创建软、硬链接
命令:ln
参数:
-i 交互模式。
-s 软链接(符号链接)。如果不加 “-s” 选项,则建立硬链接文件
-d 允许超级用户制作目录的硬链接。
-b 删除,覆盖以前建立的链接
-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
#软链接创建
ln -s [源文件或目录] [目标文件或目录]
4、删除软链接
直接删除链接名即可:
rm -rf 软链接名称
参数
-r:递归
-f:强制
① 目录只能创建软链接
② 目录创建链接必须用绝对路径,相对路径创建会不成功,会提示:符号连接的层数过多这样的错误
③ 在链接目标目录中修改文件都会在源文件目录中同步变化
一、linux创建软连接的目的
符号链接的目的:在不改变原目录/文件的前提下,起一个方便的别名!
软连接就相当于windows的快捷方式。
ln -s /data/dir /tmp/aaa
ln -s 源目录 目标软连接
进入软连接
cd /tmp/aaa
实际上aaa这个软连接就相当于/data/dir了
二、硬连接
首先我们先去创建一个硬连接(硬连接没有办法对目录操作),这里我们还是用之前的例子,先去这个 lemon1234 目录下面把我们的内个 txt 文件删除了,接着回到 home 目录。
创建硬连接,我们这里使用的是 ln 命令,ln 命令使用
ln [源文件] [目标文件]
添加软连接
软连接,为某一个文件在另外一个位置建立一个同步的连接
在此处创建软连接后,访问到此处的软连接,就会定位到软连接指向的位置。相当于把一个文件夹放到了多个位置,但其实还是只有一份,并不是复制。
具体用法是:ln -s 源文件 目标文件
会针对源文件创建一个软连接(目标文件),链接到源文件。
别搞反了。前面的源文件,是需要在当前位置能访问到的文件。后面的是目标文件,是新创建出来的链接。
例如: ln -s /home/source_file source_file_link
ln -s /usr/local/mysql8/msql-8.0.30/bin/mysql /usr/bin
#可以直接在任何目录使用mysql命令,相当于:
将命令加入环境变量
#vim /etc/profile
MYSQL_HOME=/usr/local/mysql8/msql-8.0.30
export PATH=$MYSQL_HOME/bin:$PATH
# source /etc/profile
此时在当前窗口 cd source_file_link,就会到达 /home/source_file
删除软连接
删除时,右边不能加 斜杠
例如上面的那个是 rm source_file_link
rm /usr/bin/mysql 删除软链接
注意: 服务器重启,软连接可能会丢失,最好每一个软连接都有记录。