上一篇
在Linux系统中,软链接、硬链接以及静态库、动态库是核心概念。本文带你彻底搞懂它们,即使零基础也能轻松掌握!
硬链接:多个文件名指向同一个inode(文件数据块)。删除一个不影响其他访问。只能在同一文件系统内创建,不能链接目录。
$ echo "Hello" > original.txt$ ln original.txt hardlink.txt # 创建硬链接$ ls -li # 查看inode号相同 软链接(符号链接):是一个特殊文件,保存指向文件的路径。可跨文件系统,可链接目录,但原文件删除后链接失效(悬空链接)。
$ ln -s original.txt softlink.txt # 创建软链接$ ls -l # 显示箭头指向
库是预编译的代码集合,便于复用。Linux下静态库后缀为.a,动态库为.so。
将源代码编译为目标文件,用ar打包:
$ gcc -c add.c sub.c # 生成 add.o sub.o$ ar rcs libmymath.a add.o sub.o # 创建静态库$ gcc main.c -L. -lmymath -o prog # 链接静态库 静态库在编译时直接嵌入可执行文件,体积大但部署方便。
编译时使用-fPIC生成位置无关码,-shared创建共享库:
$ gcc -fPIC -c add.c sub.c$ gcc -shared -o libmymath.so add.o sub.o$ gcc main.c -L. -lmymath -o prog # 运行时需指明库路径$ export LD_LIBRARY_PATH=./ # 或复制到系统目录 动态库在运行时加载,多个程序共享一份代码,节省内存,升级方便。
掌握这些软链接、硬链接、静态库、动态库知识,你就能更深入地理解Linux系统运作,为后续编程和运维打下坚实基础。
—— 小白也能懂的Linux系列
本文由主机测评网于2026-03-03发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260328433.html