linux 下的软连接和硬链接
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,linux下创建硬链接相当于对源文件的拷贝,生成的新文件和源文件的inode值时一致的,当源文件删除后,硬链接不会失效软连接类似于源文件的快捷方式,两者的inode不同,它里面保存的时源文件的路径信息
千家信息网最后更新 2025年02月03日linux 下的软连接和硬链接
- linux下创建硬链接相当于对源文件的拷贝,生成的新文件和源文件的inode值时一致的,当源文件删除后,硬链接不会失效
- 软连接类似于源文件的快捷方式,两者的inode不同,它里面保存的时源文件的路径信息,当源文件的删除消失后,软连接失效,此时如果在新建源文件,则软链接继续生效
测试一下
实验环境:ubuntu 14.04 kernel:3.13.0-24-generic
1. 新建一个测试文件
touch test
使用stat或者ls -i选项去查看test的inode值```ubuntu@ubuntu-virtual-machine:~/work/shell/file$ stat test文件:"test"大小:0 块:0 IO 块:4096 普通空文件设备:801h/2049d Inode:4208823 硬链接:1权限:(0664/-rw-rw-r--) Uid:( 1000/ ubuntu) Gid:( 1000/ ubuntu)最近访问:2018-03-06 15:51:01.689080893 +0800最近更改:2018-03-06 15:51:01.689080893 +0800最近改动:2018-03-06 15:51:01.689080893 +0800创建时间:-```inode 值是 Inode:4208823 2. 创建硬链接``` ubuntu@ubuntu-virtual-machine:~/work/shell/file$ ln test hard_test ubuntu@ubuntu-virtual-machine:~/work/shell/file$ stat hard_test 文件:"hard_test" 大小:0 块:0 IO 块:4096 普通空文件设备:801h/2049d Inode:4208823 硬链接:2权限:(0664/-rw-rw-r--) Uid:( 1000/ ubuntu) Gid:( 1000/ ubuntu)最近访问:2018-03-06 15:51:01.689080893 +0800最近更改:2018-03-06 15:51:01.689080893 +0800最近改动:2018-03-06 15:53:54.857425605 +0800创建时间:-```可以看出inode 相同 3. 创建软连接```ubuntu@ubuntu-virtual-machine:~/work/shell/file$ ln -s test soft_testubuntu@ubuntu-virtual-machine:~/work/shell/file$ stat soft_test
文件:"soft_test" -> "test"
大小:4 块:0 IO 块:4096 符号链接
设备:801h/2049d Inode:4208824 硬链接:1
权限:(0777/lrwxrwxrwx) Uid:( 1000/ ubuntu) Gid:( 1000/ ubuntu)
最近访问:2018-03-06 15:56:35.129543502 +0800
最近更改:2018-03-06 15:55:04.201563628 +0800
最近改动:2018-03-06 15:55:04.201563628 +0800
创建时间:-
```可以看出,inode不同,软连接和源文件是两个不同的文件,只是它其中保存的是源文件的路径现在在源文件中写入内容,观察三个的文件的变化```ubuntu@ubuntu-virtual-machine:~/work/shell/file$ echo "123" >testubuntu@ubuntu-virtual-machine:~/work/shell/file$ ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat test123ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_test 123ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat hard_test 123ubuntu@ubuntu-virtual-machine:~/work/shell/file$ echo "456" >>hard_test ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat hard_test 123456ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat test 123456ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_testtest cat: soft_testtest: 没有那个文件或目录ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_test123456```4. 删除源文件观察```ubuntu@ubuntu-virtual-machine:~/work/shell/file$ rm testubuntu@ubuntu-virtual-machine:~/work/shell/file$ ll总用量 12drwxrwxr-x 2 ubuntu ubuntu 4096 3月 6 16:01 ./drwxrwxr-x 3 ubuntu ubuntu 4096 3月 6 15:25 ../-rw-rw-r-- 1 ubuntu ubuntu 12 3月 6 16:00 hard_testlrwxrwxrwx 1 ubuntu ubuntu 4 3月 6 15:55 soft_test -> testubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_test cat: soft_test: 没有那个文件或目录ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat hard_test 123456789```可以看出软连接失效,但是硬链接不受影响
- linux 有个专门的指令 readlink,这个指令是得到软连接的地址,比如上例中就可以得到软链接指向的源文件的地址
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ readlink soft_test test
源文件
文件
链接
不同
大小
时间
权限
设备
普通
地址
指令
目录
路径
测试
观察
相同
一致
三个
两个
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
神奇宝贝服务器怎么使用
服务器网站日志在哪里
读取服务器的本地文件
php数据库修改
类似服务器安全检测
壹贰叁广州互联网科技公司
关系数据库怎么存放数据
船上网络安全事件演习和培训
服务器磁盘如何取消硬盘阵列
安徽吾爱网络技术有限公司
郑州创元网络技术公司电话
河北企业软件开发性价比高
软件开发股票代码
沈阳高丽雅软件开发
网络安全具体是什么意思
修改vb数据库
数据库课设 学生信息管理
全国网络安全宣传日是哪天
网络安全kali
网络安全产教融合人才
潍坊优搜网络技术有限公司杨
人才数据库可信吗
http服务器搭建
开发支付宝小程序需要服务器吗
软件开发商职业分析
实况足球数据库2021手游
福建省软件开发报价
我的世界服务器怎么升版本
梦幻2008服务器对散人友好吗
互联网电子科技公司