linux 下如何拷贝软连接,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_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 下的软连接和硬链接相关推荐
- linux中的文件夹压缩文件,linux将文件拷贝到目录下Linux下文件的压缩与打包详解...
在Linux中,有很多的压缩命令.利用这些压缩命令,可以方便的从网络上下载大型的文件.同时,我们知道,Linux文件的扩展名是没有特殊意义的,不过,因为Linux下存在着许多压缩命令,所以为了方便记忆 ...
- linux系统间拷贝文件,Linux系统下不同机器之间拷贝文件的方法
在Linux系统下,不同机器上实现文件拷贝 一.将本地文件拷贝到远程机器: scp /home/administrator/news.txt root@192.168.6.129:/etc/squid ...
- linux 软链接重新连接,Linux总结(十二)set_uid set_gid stic_bit 软链接 硬链接
一 set_uid 之前我们修改普通用户的登陆密码,都是以管理员身份在操作,比如我们在lv账户下,我们使用 sudo passwd lv 重置lv账户密码,此时我们直接拿到root权限忽略掉了文件权限 ...
- linux大内存拷贝优化,Linux 下基础设施及系统网络优化
基础设施优化 CPU 优化 多级缓存 充分利用 cache 是 CPU 调优的重要手段,由于是底层优化作用范围广. 性能分析利器--Perf 参数学习 提升 cache 命中率 缓存命中: CPU 要 ...
- linux dd硬盘拷贝命令,linux下用dd命令拷贝硬盘
最近所做的项目涉及到系统的"烧写",在ARM中,一般用flash,容量也不大,直接用erase操作即可.但在x86上,硬盘动辄上G,安装一个发行版本的Linux,也得3GB~4GB ...
- Linux下如何查看一个文件是否拥有软链接或硬链接文件?
问题1:我创建了一个硬链接文件,但是我不知道放在那里了,请问怎么办? 思路: 查找文件可以利用find命令. 硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找 硬链接文件和源文件具 ...
- Linux 线程并发拷贝,【Linux】线程并发拷贝程序
据说大连某211高校的李教授越来越重口,不仅延续要求他所带的每一个本科班,都要写一份线程并发拷贝程序的传统,而且还开始规定不能用Java语言写作,导致我之前写的<[Java]线程并发拷贝程序&g ...
- linux远程文件拷贝方式,linux远程拷贝文件
1.两台linux服务器之间用RSA键对的方法SSH/SCP不需密码 1.分别从A和B上登录作为root后运行ssh-keygen,目的是简单地在/root下创建目录.ssh,当提示输入passpha ...
- linux c 文件拷贝函数,Linux C函数库参考手册
来自一本绝版的书,虽然没有函数 描述,但是最起码可以知道分类,就可以去 man 了 Linux C函数库参考手册 第1章字符测试 函数 isalnum(测试字符是否为英文字母或数字) isalpha( ...
- Linux 大文件拷贝失败,linux – Rsync失败,“文件太大”
我正在编写一个简单的备份脚本,将我的所有媒体文件复制到外部USB驱动器.好像有一个文件呛到了,我不知道为什么.只是试图复制我得到的那个文件: [satori7@tyson Scripts]$sudo ...
最新文章
- IOS上传图片旋转90度问题出现原因及解决方案
- Redis作者的公开信:开源维护者的挣扎和无奈
- django官方文档1.11编翻:1-1-1概述
- selenium查找文本_在Selenium中查找具有链接文本和部分链接文本的元素
- TurboIM即时通讯正式发布
- Numpy 基础 一
- 机器学习中的数学(二)--梯度下降法
- emu8086的入门使用
- matlab的开方算法_每天一个小算法(matlab armijo)
- DTcms-【数据库】-关系分析
- Ansys SCDM基本操作
- bzoj1127 洛谷3474 题解
- 压缩或解压文件出现循环冗余检查的解决办法
- 5G系统——5G-GUTI、5G-TMSI、5G-S-TMSI、SUPI、SUCI
- JavaWEB(AJAX实现分页)
- config配置中文解释
- dd fdisk mount相关命令的总结
- OSChina 周五乱弹 —— 到底哪个更重要
- 为什么算法岗薪酬普遍偏高,是真的缺人才吗?
- phonegap 修改app的名称