Linux使用软链接方便共享库操作 (linux下使用共享库的软链接)

在Linux系统中,共享库是一种程序库的意思,它们是一些在编译、链接和运行程序时需要的函数和变量的。共享库有许多的优点,比如说在编译和连接大型程序时,它们可以减少二进制文件的大小,提高性能和效率。另外,共享库也为多个程序提供了使用已编译和优化过的代码的能力。在Linux中,为了方便管理共享库,软链接是一个非常好的实现方式。

软链接,也被称为符号链接,是指一个指向另一个文件的链接,类似于Windows中的快捷方式。软链接的使用是一种简单而强大的方法,可以创建指向共享库的链接,并为用户提供访问这些库的方法。在Linux中,软链接不仅可以用于共享库,而且也可以用于其他文件。

使用软链接的好处之一是它可以将多个程序的依赖项关联起来,从而实现共享代码库的目的。通过思密达(symlinks)命令,这些关联可以轻松地被添加、修改和删除。软链接通常比硬链接更容易使用,因为可以移动它们而不会失去它们的原来的链接。

软链接的创建和使用非常的简单。在命令行终端中,可以使用以下的命令来创建链接:

“`

ln -s /path/to/original /path/to/link

“`

在这个命令行中,/path/to/original是指向原始文件或文件夹的绝对或相对路径,而/path/to/link是你想要创建链接的路径。例如,要创建一个链接到共享库lib.so.0的lib.so的软链接,可以使用以下命令:

“`

ln -s /lib/lib.so.0 /usr/local/lib/lib.so

“`

在这个命令中,/lib/lib.so.0是原始共享库路径,而/usr/local/lib/lib.so是新链接的路径。

软链接能够方便地共享共享库,是因为它为所有的参与程序提供了一个统一的路径。这意味着,如果一个程序需要执行某个函数,而这个函数在共享库中,如果软链接工作正常,那么程序就可以非常容易地找到共享库并从中提取功能。如果没有软链接,那么程序将无法找到编写功能的代码,从而无法执行它们。

此外,通过使用软链接,可以为用户提供便利,以便他们在不了解或完全理解特定程序或库的作用时轻松访问特定程序或库。软链接还可以用于移动共享库或程序,在这种情况下,链接保证所有程序都能够正确地访问共享库或程序。

综上所述,软链接在Linux中使用非常的广泛,它可以方便地共享共享库、简化依赖关系的管理以及提供用户便利的方法来访问程序和库。对于原始维护者和用户来说,使用软链接是一项非常有用的技能。如果你使用Linux系统并且想要从更好的依赖性管理和更方便的程序访问中受益,那么学习和使用软链接是一个不错的选择。

相关问题拓展阅读:

Linux软链接和硬链接的区别之ln命令详解

1. 先来了解一下Linux数据是如何保存和查询的

对操作系统来说,数据分为两种:1. 用户数据 (user data) 2.元数据 (metadata)。用户数据就是保存和记录文件的内容。比如一个1M的ppt文件,500K的txt文件。这都属于用户数据。这个文件总有属性吧,比如大小、修改时间、访问时间、创建时间、存储的位置(文件所在的inode)、文件创建者等等信息。这些属性信息或者理解为汇总信息,我们称它为元数据。一句话,用户数据是文件的真实内容,而元数据则是汇总信息。

在 Linux 中,元数据中的 inode 号(inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。

2. 查看文件对应的inode号

latest.tar.gz

linux查看文件对应的inode号

可以看出latest.tar.gz这个文件, inode 号是,Linux查找读写该文件时,以为个inode号码为标识,而不是文件名。文件名类似于网站域名,仅仅是方便人类厅蔽纤记忆。

也就是说, inode有一个硬链接,它就是latest.tar.gz。

3. 根据inode号查找对应的文件

那扮仿么,问题来了,系统上有没有第二个文件,它的inode号码也是。

使用find查找一下:

查找结果如下:

/root/latest.tar.gz

/root/latest2.tar.gz

linux根据inode号查找对应的文件

硬盘上真的有第二个文件它的inode号码也是,像这种情况,我们认为inode有两个硬链接。当然,这是本文作者提前准并段备好的。

为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。

4. 确认硬链接的数量

查看一下文件latest.tar.gz

输出结果如下:

-rwxr-xr-x. 2 root rootOct 11 15:00 latest.tar.gz

请留意输出的结果中的数字2,表示该文件存在2个硬链接。

正常情况下,一个inode只有一个链接,如下例

输出结果:

-rw-r–r–. 1 root root 9 Nov 21 11:39 abc.txt

请留意输出的结果中的数字1,表示该文件只存在1个硬链接,默认情况下,文件都是只有一个硬链接的。

5. 查看软链接

再来看一个文件

lrwxrwxrwx. 1 root root 15 Sep 26 15:57 /dev/stdout -> /proc/self/fd/1

linux查看软链接

我们发现,/dev/stdout实际上指向另一个文件/proc/self/fd/1,这就是软链接。类似于Windows系统上的快捷方式。

6. 软链接与硬链接的区别

6.1 软链接特点

6.2 硬链接特点

ln链接符原理如下:

Linux ln链接符原理图

7. 创建文件的链接

Linux ln命令是一个非常重要而且常用命令,它用于为文件或者目录创建链接。

7.1 创建软链接

创建一个文件,用于演示软链接。

创建软链接示例:

检查结果:

输出文件属性

lrwxrwxrwx. 1 root root 8 Nov 26 17:48 soft123.txt -> soft.txt

linux创建软链接

可以看出这个文件指向当前目录soft.txt,配置成功。7.2 创建硬链接

创建一个文件,用于演示硬链接。

创建硬链接,没有使用选项

检查结果:

输出文件属性:

-rw-r–r–. 2 root root 0 Nov 26 17:47 hard123.txt

linux创建硬链接

留意以上输出数字2,表明该文件有2个副本。

8. 总结

ln命令可以创建文件的副本,也可以创建软链接。

linux 系统中软连接的创建,修改,删除

【软连接】

软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。相当于window系统中的

快捷方式

具体用法是:ln -s

源文件

目标文件 或者 ln -s 源目录 目标目录

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在其它的 目录下用ln命令链接(link)就可以,不必重复段悉的占用磁盘空间。

例如:ln -s /home/test1 /data/test1

这样我们就对/home/test1目录创建了软连接 ,在/data/test1中打开看到的就是/home/test1目虚燃州录下的文件

使用方式

创建软链接

ln -s

例:当前路径创建test 引向/var/www/test 文件夹

ln –s /var/www/test ./test (此处建议一定要写

绝对路径

,更好写到

根目录

,而且当前目录中药删除test)

例:创建/var/test 引向/var/www/test 文件夹

ln –s /var/www/test /var/test

修改软链接

这将会修改原有的链接地址为新的地址

ln –snf

例如:

创建一个软链接

ln –s /var/www/test /var/test

修改指向的新路径

ln –snf /var/www/test1 /var/test

删除软链接

和删除普通的文件是一样的,删除都是使用rm来进行操作,

例:删除test

rm –rf test

正确的删除方式(删除软链接,但不删除实际数据)

rm -rf ./test

错误的删除方式

rm -rf ./test/ (这样就会把原来test下,源文件的内容也删除)

建议使用rm test 待显示删除确认提示的时候

页面出现 rm: remove symbolic link test yes等字样 说明你正在操作的是软连接,而不是目录。

一定要注意啊。乱用rm 还删除目录下的全部文件,还循环,后果很严重,要再三确认

ln常用参数:

  -f : 链结时先将与 dist 同档名的档案删除

  -d : 允许系统管理者硬链结自己的目录

  -i : 在删除与 dist 同档名的档案时先进行询问

  -n : 在进行软连结时,将 dist 视为一般的档案

  -s : 进差蔽行软链结(symbolic link)

  -v : 在连结之前显示其档名

  -b : 将在链结时会被覆写或删除的档案进行备份

  -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾

  -V METHOD : 指定备份的方式

help : 显示辅助说明

version : 显示版本

【硬连接】

硬连接指通过索引节点来进行连接。在Linux的

文件系统

中,保存在

磁盘分区

关于linux下使用共享库的软链接的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux使用软链接方便共享库操作 (linux下使用共享库的软链接)