很多人在学习linux中,分不清软连接到底是干什么用的,什么时候需要创建软连接,以及环境变量跟软链接之间的关系是怎样的,今天小编就给带大家一起来看看。
首先讲这个问题之前我们来认识一下什么是软链接,什么是硬链接。软链接跟硬链接之间的关系。
目录
软链接:
软链接其实在linux中非常的常见,它的主要功能其实是把某已经安装的软件的安装位置通过软链接的方式到另一个位置,而建立的链接直接指向源文件所在的位置。同时软链接不占用资源,可以把它理解成windows中在桌面上建立的一个快捷方式,有了这个快捷方式就可以在桌面上直接打开想要的软件,因为通过这个快捷方式可以快速的找到软件所在的位置。
硬链接:
硬链接是在另一个位置创建源文件的链接文件,相当于复制了一份过去,硬链接在这里就占用了大量的资源。这里需要注意的是,当任意修改源文件或者硬链接文件一方时,另一方都会同步修改。
软链接跟硬链接之间的相同点和不同点
相同点:改变源文件或者链接文件,任意一方也会改变
不同点:软链接指向源文件的地址,不占用资源,硬链接复制源文件,占用资源
如何创建软硬链接
命令:ln
参数:
-
-i 交互模式。
-
-s 软链接(符号链接)。如果不加 “-s” 选项,则建立硬链接文件
-
-d 允许超级用户制作目录的硬链接。
-
-b 删除,覆盖以前建立的链接
-
-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
创建软链接
语法:ln -s [源文件或目录] [目标文件或目录]
示例:
创建aaa目录下的xxx.py文件的软链接位置为bbb目录下新建的soft文件
ln -s ./aaa/xxx.py ./bbb/soft
创建硬链接很简单,只要在软链接ln -s基础上不加s就行
怎么删除链接
rm -rf soft #去到创建软链接的目录/usr/bin/下面,使用该命令删除软链,只删除软链接,但不删除实际数据。如果使用rm -rf soft/ 这样删除会把原来soft下的内容删除
环境变量与软链接之间的关系
环境变量:在linux中,将指定目录路径添加到path变量中,当执行命令时是去指定文件加中查找相应的程序并执行,这就是环境变量存在的意义
如果安装软件时没有安装到path指定的目录时,系统就会找不到该程序,就会报错,这个时候如果想要执行的话就要加上程序的相对或者绝对路径的完整路径到环境变量中去就可以执行该程序。
当装软件忘记了将软件的安装路径设置为path指定的路径里面时(哪些为path指定的路径:输入echo $PATH中出现的路径,即为path指定的路径,一般安装的指定的path路径为usr/local),需要打开/etc/profile文件,并把以下代码添加进去
export PATH=/directory:$PATH //directory为可执行程序所在目录。
或
PATH=$PATH:/directory //directory为可执行程序所在目录。
export PATH
然后执行source /etc/profile或执行点命令 ./profile 使其更改生效
查看设置的环境变量
echo $PATH
如果不少软件没有安装在同一个目录,但是又想在系统任何路径快捷的使用该命令,那么就要设置添加很多个环境变量,这样会使得系统性能下降,执行命令的时候系统会遍历很多个文件夹。
这个时候就可以通过创建软链接的方式来解决这个问题。
软链接:将软件的可执行程序创建一个软链接直接放到path指定的目录中(可从echo $PATH中反馈的的路径中选择,因为是要在系统任意位置都可执行该命令,不需要cd到软件所在路径下执行,可以将执行该命令所用到可执行文件通过软连接方式到path指定目录中即/usr/bin或者/bin中去),当在系统的任意位置执行该命令时,系统也可以找到相应的运行程序。
ln -s 源文件名称(路径) 软链接文件名称(软链接放到path指定目录中即可执行文件的路径下即/usr/bin或/bin,路径)