重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

linux链接库命令ln linux 链接库

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

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

创新互联专注于临城企业网站建设,成都响应式网站建设公司,购物商城网站建设。临城网站建设公司,为临城等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

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

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

2. 查看文件对应的inode号

134474678 latest.tar.gz

linux查看文件对应的inode号

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

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

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

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

使用find查找一下:

查找结果如下:

/root/latest.tar.gz

/root/latest2.tar.gz

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

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

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

4. 确认硬链接的数量

查看一下文件latest.tar.gz

输出结果如下:

-rwxr-xr-x. 2 root root 8743850 Oct 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 ln命令

创建软连接,命令如下:

ln -s / /home/good/linkname

ln的链接分软链接和硬链接两种:

1、软链接就是:“ln –s 源文件 目标文件”,只会在选定的位置上生成一个文件的镜像,不会占用磁盘空间,类似与windows的快捷方式。

2、硬链接 ln 源文件 目标文件,没有参数-s, 会在选定的位置上生成一个和源文件大小相同的文件。占用磁盘空间。

无论是软链接还是硬链接,文件都保持同步变化。

linux 常见命令 lsof,ps,ln...

[TOC]

可以列出被进程所打开的文件的信息。被打开的文件可以是

1.普通的文件

2.目录抽象为特殊文件

3.网络文件系统的文件,抽象为文件

4.字符设备文件在linux抽象为文件

5.(函数)共享库

6.管道,命名管道

7.符号链接

8.底层的socket字流,网络socket,unix域名socket

9.在linux里面,很多东西都抽象为文件,提供了统一的访问接口

属性第一个字符:

rwx=0x111,二进制表示

列出所有进程

-ef f:father

ps –el ,

e:every :显示所有进程信息,等价于A

a:all :显示除了当前终端进程外的其他进程

l: long 长格式显示进程信息。

linux 线程状态:

ps工具标识进程的5种状态码:

chmod 对象 +/- 模式

对象:u(user),g(group),o(other),a(all)

模式:r,w,x

由于inode号码与文件名分离,这种机制导致了一些Unix/Linux系统特有的现象。

软件不关闭情况下更新:写入同名不同inode的文件,下次启动由于老的inode已经丢失,操作系统回收原来的Block。

综上,总结一下软链接和硬链接的区别:

参考: 阮一峰的网络日志:理解inode

Ctrl+z 暂停进程执行

uname -m 显示机器的处理器架构(2)

uname -r 显示正在使用的内核版本

jobs: 查看后台任务

fg +jobNum: 将后台任务调到前台

未完,不定期更新中...

linux ln 连接命令怎么用?

1、首先有一个目录dir, 执行ln -s dir dir_link 创建目录的软链接。

2、重新创建mkdir源目录,目录软链接重新生效。

3、执行命令ln dir dir_hard,创建目录的硬链接。

4、执行命令ln -s file file_link,创建文件file的软链接file_link。

5、执行命令ln file file_hard创建文件file的硬链接file_hard。

6、修改硬链接file_hard、cat file,同时更新到源文件中即可。


分享文章:linux链接库命令ln linux 链接库
浏览路径:http://cqcxhl.cn/article/doojijo.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP