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_test

ubuntu@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" >test

ubuntu@ubuntu-virtual-machine:~/work/shell/file$

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat test

123

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_test

123

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat hard_test

123

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ echo "456" >>hard_test

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat hard_test

123

456

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat test

123

456

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_testtest

cat: soft_testtest: 没有那个文件或目录

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_test

123

456

```

4. 删除源文件观察

```

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ rm test

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ ll

总用量 12

drwxrwxr-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_test

lrwxrwxrwx 1 ubuntu ubuntu 4 3月 6 15:55 soft_test -> test

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_test

cat: soft_test: 没有那个文件或目录

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat hard_test

123

456

789

```

可以看出软连接失效,但是硬链接不受影响

linux 有个专门的指令 readlink,这个指令是得到软连接的地址,比如上例中就可以得到软链接指向的源文件的地址

ubuntu@ubuntu-virtual-machine:~/work/shell/file$ readlink soft_test

test

linux 下如何拷贝软连接,linux 下的软连接和硬链接相关推荐

  1. linux中的文件夹压缩文件,linux将文件拷贝到目录下Linux下文件的压缩与打包详解...

    在Linux中,有很多的压缩命令.利用这些压缩命令,可以方便的从网络上下载大型的文件.同时,我们知道,Linux文件的扩展名是没有特殊意义的,不过,因为Linux下存在着许多压缩命令,所以为了方便记忆 ...

  2. linux系统间拷贝文件,Linux系统下不同机器之间拷贝文件的方法

    在Linux系统下,不同机器上实现文件拷贝 一.将本地文件拷贝到远程机器: scp /home/administrator/news.txt root@192.168.6.129:/etc/squid ...

  3. linux 软链接重新连接,Linux总结(十二)set_uid set_gid stic_bit 软链接 硬链接

    一 set_uid 之前我们修改普通用户的登陆密码,都是以管理员身份在操作,比如我们在lv账户下,我们使用 sudo passwd lv 重置lv账户密码,此时我们直接拿到root权限忽略掉了文件权限 ...

  4. linux大内存拷贝优化,Linux 下基础设施及系统网络优化

    基础设施优化 CPU 优化 多级缓存 充分利用 cache 是 CPU 调优的重要手段,由于是底层优化作用范围广. 性能分析利器--Perf 参数学习 提升 cache 命中率 缓存命中: CPU 要 ...

  5. linux dd硬盘拷贝命令,linux下用dd命令拷贝硬盘

    最近所做的项目涉及到系统的"烧写",在ARM中,一般用flash,容量也不大,直接用erase操作即可.但在x86上,硬盘动辄上G,安装一个发行版本的Linux,也得3GB~4GB ...

  6. Linux下如何查看一个文件是否拥有软链接或硬链接文件?

    问题1:我创建了一个硬链接文件,但是我不知道放在那里了,请问怎么办? 思路: 查找文件可以利用find命令. 硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找 硬链接文件和源文件具 ...

  7. Linux 线程并发拷贝,【Linux】线程并发拷贝程序

    据说大连某211高校的李教授越来越重口,不仅延续要求他所带的每一个本科班,都要写一份线程并发拷贝程序的传统,而且还开始规定不能用Java语言写作,导致我之前写的<[Java]线程并发拷贝程序&g ...

  8. linux远程文件拷贝方式,linux远程拷贝文件

    1.两台linux服务器之间用RSA键对的方法SSH/SCP不需密码 1.分别从A和B上登录作为root后运行ssh-keygen,目的是简单地在/root下创建目录.ssh,当提示输入passpha ...

  9. linux c 文件拷贝函数,Linux C函数库参考手册

    来自一本绝版的书,虽然没有函数 描述,但是最起码可以知道分类,就可以去 man 了 Linux C函数库参考手册 第1章字符测试 函数 isalnum(测试字符是否为英文字母或数字) isalpha( ...

  10. Linux 大文件拷贝失败,linux – Rsync失败,“文件太大”

    我正在编写一个简单的备份脚本,将我的所有媒体文件复制到外部USB驱动器.好像有一个文件呛到了,我不知道为什么.只是试图复制我得到的那个文件: [satori7@tyson Scripts]$sudo ...

最新文章

  1. IOS上传图片旋转90度问题出现原因及解决方案
  2. Redis作者的公开信:开源维护者的挣扎和无奈
  3. django官方文档1.11编翻:1-1-1概述
  4. selenium查找文本_在Selenium中查找具有链接文本和部分链接文本的元素
  5. TurboIM即时通讯正式发布
  6. Numpy 基础 一
  7. 机器学习中的数学(二)--梯度下降法
  8. emu8086的入门使用
  9. matlab的开方算法_每天一个小算法(matlab armijo)
  10. DTcms-【数据库】-关系分析
  11. Ansys SCDM基本操作
  12. bzoj1127 洛谷3474 题解
  13. 压缩或解压文件出现循环冗余检查的解决办法
  14. 5G系统——5G-GUTI、5G-TMSI、5G-S-TMSI、SUPI、SUCI
  15. JavaWEB(AJAX实现分页)
  16. config配置中文解释
  17. dd fdisk mount相关命令的总结
  18. OSChina 周五乱弹 —— 到底哪个更重要
  19. 为什么算法岗薪酬普遍偏高,是真的缺人才吗?
  20. phonegap 修改app的名称

热门文章

  1. 3dmax 2012 贴图通道与uv通道,烘焙场景
  2. IBM MQ监控方法
  3. Android获取手机内存与SD卡的根目录
  4. git 自己分支合并到主干或者其他分支
  5. SpringMVC同时返回html和jsp
  6. 未来城市交通该怎么预判?看这本书就够了!
  7. PyCharm 关闭 Test 功能
  8. 2016网络公司排名
  9. MonoScene: Monocular 3D Semantic Scene Completion
  10. wifi(uni-app)