六、基础I/O
3. 软硬链接
使用 ln 就可以创建链接,使用 ln -s 可以创建软链接,直接使用 ln 则是硬链接。
我们对硬链接进行测试一下:
根据测试,我们知道了 硬链接就像一个重命名一样,向其中一个文件里面写,另一个也会改变 。但是删除后只会删除一个,这说明 文件的删除本质上是减少硬链接数。硬链接数从 1 变成 0 后才会清空文件的信息。
硬链接的本质就是在指定的目录下,插入新的文件名和目标文件的映射关系,并让inode的引用计数++。
软链接的本质就是一个独立文件,软链接内容里面放的是 目标文件的路径 。类似于 Windows 下的快捷方式。
可以通过目录的硬链接数 -2 计算得到目录有多少个子目录。
可以给目录建立软链接,但是不能建立硬链接(除非系统建立的)。
4. 动静态库
我们之前使用过库,也对库有一定的了解,这里我们将对库进行更深入的理解。我们来自己创建一个库:
即便是我们没有实现 mymath 库中函数,我们同样可以用。
但是这里我们只是形式上打包了,并不是真正意义上的打包,这里我们来真正的创建一个库: