Centos 软链接命令(十)
链接命令:ln (link)
ln -s [源文件] [目标文件]
功能描述:生成链接文件
选项: -s 创建软链接
硬链接特征:
1,拥有相同的i节点和存储block块,可以看作是同一个文件;
2,可通过i节点识别;
3,不能跨分区;
4,不能针对目录使用;
我们把/root下的anaconda-ks.cfg创建一个硬链接到/tmp下
[root@localhost ~]# ls
anaconda-ks.cfg 牛逼
[root@localhost ~]# ln /root/anaconda-ks.cfg /tmp/ana.hard
[root@localhost ~]# ll
总用量 4
-rw-------. 2 root root 1237 6月 10 05:24 anaconda-ks.cfg
drwxr-xr-x. 3 root root 22 6月 18 11:03 牛逼
[root@localhost ~]# ll /tmp/
总用量 16
-rw-------. 1 root root 1237 6月 18 10:12 abc
-rw-------. 1 root root 1237 6月 18 10:16 anaconda-ks.cfg
-rw-------. 2 root root 1237 6月 10 05:24 ana.hard
-rwx------. 1 root root 836 6月 10 05:24 ks-script-p0Ci4J
drwx------. 3 root root 17 6月 12 23:50 systemd-private-12ece3aaa1eb44678dbf684dbccbc32f-vmtoolsd.service-xjTV7r
drwx------. 3 root root 17 6月 17 17:42 systemd-private-3588b18d27f94b80849d22621ef2defb-vmtoolsd.service-wmk7Jt
drwx------. 3 root root 17 6月 16 04:51 systemd-private-90f54554da784e52aeb890d207e41094-vmtoolsd.service-I8F1Yy
drwx------. 3 root root 17 6月 10 05:26 systemd-private-d5f08625d54e4ed3a0faa9b9fb944db5-vmtoolsd.service-4rHPpX
drwx------. 3 root root 17 6月 14 06:38 systemd-private-f68c251a6a6c46ac94b4c1e73090ef59-vmtoolsd.service-S6J6U0
drwx------. 3 root root 17 6月 11 04:08 systemd-private-f7cb736915b24ef2b72faee1ec860c6d-vmtoolsd.service-ldpfcl
-rw-------. 1 root root 0 6月 10 05:19 yum.log
drwxr-xr-x. 3 root root 30 6月 18 10:24 书籍2
drwxr-xr-x. 3 root root 30 6月 18 10:24 书籍2哈哈
[root@localhost ~]#
看着基本一样;
我们用vi 打开文件 vi /root/anaconda-ks.cfg

我们随便修改下这个文件 (不要担心,这个文件是安装时候产生的,就算删除了也没事)
然后 esc :wq 保存并且退出;
我们打开/tmp下的ana.hard文件

我们发现 硬链接内容也变了;
假如我们修改 硬链接里的内容,anaconda-ks.cfg里的同样修改;(大伙自己测试下)
这里说明同一个文件相当于有两个入口,我们可以查看下两个入口的inode;
[root@localhost ~]# ls -i /root/anaconda-ks.cfg /tmp/ana.hard
33574979 /root/anaconda-ks.cfg 33574979 /tmp/ana.hard
[root@localhost ~]#
我们发现 inode节点号一样;
就算我们把其中一个删除,也不会影响文件另外一个的访问;(大伙如果舍不得删除这个文件,可以自己新建文件测试)
硬链接的一些特性,比如不能跨分区,不能针对目录使用,以及容易误操作文件。所以我们一般不推荐使用,我们推荐使用软链接,类似windows里的快捷方式;
软链接特征:
1,类似Windows快捷方式;
2,软链接拥有自己的I节点和Block块,但是数据块中只保存原有文件的文件名和I节点号,并没有实际的文件数据;
3,lrwxrwxrwx l 软链接 软链接文件权限都为 rwxrwxrwx
4,修改任意文件,另一个都改变;
5,删除原文件,软链接不能使用;
软链接和硬链接的重要区别是 假如把原文件删除,软链接则不能用,但是假如是硬链接,删除原文件的话,不影响硬链的使用;
我们在root下 用touch命令新建一个a文件
然后用echo命令追加点内容进入 ,再用cat命令打印下内容
[root@localhost ~]# touch a
[root@localhost ~]# echo 1111 >> /root/a
[root@localhost ~]# cat /root/a
1111
[root@localhost ~]#
然后在/tmp/下创建一个软链接
ln -s /root/a /tmp/a.soft
我们来看下这个两个文件的inode节点
[root@localhost ~]# ll -i /tmp/a.soft /root/a
33575024 -rw-r--r--. 1 root root 5 6月 19 16:01 /root/a
17066258 lrwxrwxrwx. 1 root root 7 6月 19 16:41 /tmp/a.soft -> /root/a
我们发现是不一样的,我们可以把软链接理解成是指向原文件的引用 存的仅仅是地址,这样,假如原文件删除了,那软链接就没啥用了。但是这里 我们无论是修改两个文件的任意一个,另外一个始终能看到最终结果;
[root@localhost ~]# echo 2222 >> /root/a
[root@localhost ~]# cat /root/a
1111
2222
[root@localhost ~]# cat /tmp/a.soft
1111
2222
[root@localhost ~]#
我们修改了原文件a 然后我们打开软链接 能看到结果
[root@localhost ~]# echo 3333 >> /tmp/a.soft
[root@localhost ~]# cat /tmp/a.soft
1111
2222
3333
[root@localhost ~]# cat /root/a
1111
2222
3333
[root@localhost ~]#
我们修改软链接,用a.soft 和a打开 都能看到最终结果;
假如我们删除原文件
[root@localhost ~]# rm -rf /root/a
[root@localhost ~]# cat /tmp/a.soft
cat: /tmp/a.soft: 没有那个文件或目录
[root@localhost ~]#
我们打开软链接 报错。
Centos 软链接命令(十)的更多相关文章
- centos常用命令
应用程序->附件->终端 一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name" grep " ...
- CentOS 常用命令大全
下面,就给大家介绍这些CentOS常用命令. 一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep &qu ...
- CentOS常用命令大全
一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name" grep "model name" /pro ...
- CentOS常用命令备忘
1. 查看进程 ps -a 杀掉进程 kill PID 2. 添加计划任务crontab -e 例如:30 21 * * * service httpd restart 每天21:30重启apache ...
- centos 查找命令的可用包/命令属于哪个软件包
centos 查找命令的可用包 yum provides */commond 例如: yum provides */lsb_release
- Linux(CentOS 7)命令行模式安装VMware Tools 详解
本篇文章主要介绍了如何在Linux(CentOS 7)命令行模式安装VMware Tools,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 本例中为在Linux(以CentOS 7为例)安装VM ...
- Linux Centos关机命令
centos关机命令: 1.halt 立马关机 2.shutdown -h 10 1分钟后自动关机 3.poweroff 立刻关机,并且电源也会断掉 4.shutdown -h now 立刻关机(ro ...
- Centos之命令搜索命令whereis与which
Centos之命令搜索命令whereis与which whereis 命令名 #搜索命令所在路径及帮助文档所在位置 选项: -b :只查找可执行文件位置 -m:只查找帮助文件 [root@localh ...
- Centos 常用命令[持续积累中...]
CentOS常用到的查看系统命令 uname -a cat /etc/issue /sbin/ifconfig # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操 ...
随机推荐
- Tokyo Tyrant(TTServer)系列(六)-数据丢失谁的错
,false,1,100);$mem->addServer ("127.9.9.1",1978,false,1,100);$start=microtime(true);for ...
- 两DD-WRT组建WDS设置
今天把买了非常久的两台CISCO(已刷DD-WRT)路由器组成WDS,參考了三篇文章 DD-WRT v24-sp2的WDS中继设置 http://www.cnblogs.com/zjoch/arc ...
- 点滴积累【JS】---JS小功能(JS实现多功能缓冲运动框架)
效果: 思路: 首先,多功能框架实现的功能是:css中所有的属性都可以添加进去(也可以把方法作为参数传递过去!),然后进行缓冲运动,比如:物体的高度.长度.颜色.字体大小.透明度等,都可以直接传入参数 ...
- atitit.系统托盘图标的设计java swing c# .net c++ js
atitit.系统托盘图标的实现java swing c# .net c++ js 1. 系统托盘图标的结构 1 2. Java swing的实现 1 3. .net的实现 1 4. C++的实现 1 ...
- tensorflow 之模型的保存与加载(一)
怎样让通过训练的神经网络模型得以复用? 本文先介绍简单的模型保存与加载的方法,后续文章再慢慢深入解读. #!/usr/bin/env python3 #-*- coding:utf-8 -*- ### ...
- mysql之mysqldump、mysqlimport
一.引言 前一段在做一个csv的导入工具,最麻烦的部分就是对csv文件的解析,最后,老大提醒说是不是考虑的过于麻烦了,由于当时考虑到mysql是允许指定导出的csv文件的格式的,所以考虑到想要兼容这种 ...
- 有了 tldr,妈妈再也不用担心我记不住命令了
引言 有一次我在培训时说「程序员要善于使用 Terminal 以提高开发效率」,一位程序员反驳道:「这是 21 世纪,我们为什么要用落后的命令行,而不是先进的 GUI?」 是的,在一些人眼里,这个黑黑 ...
- JAVA图像缩放处理
http://www.blogjava.net/kinkding/archive/2009/05/23/277552.html ———————————————————————————————————— ...
- java 教程
1.视频教程 http://blog.csdn.net/zhangdaiscott/article/details/18220411 2.书籍教程: 3.学习课程
- Gradle学习系列之一——Gradle快速入门(转)
参考:https://www.cnblogs.com/davenkin/p/gradle-learning-1.html 记录,不做具体转载