Centos之链接命令

标签: 软链接 硬链接
8人阅读 评论(0) 收藏 举报
分类:

链接命令: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 ~]# 

我们打开软链接 报错。


查看评论

linux 添加链接与删除链接(ln命令的用法)

linux下添加链接与删除链接(ln命令的用法) 添加链接使用ln命令 用法: #ln --help 用法:ln [选项]... 目标 [链接名] 或:ln [选项]... 目标... ...
  • u010098331
  • u010098331
  • 2016-02-24 14:04:53
  • 11163

Centos命令

  • 2012年03月18日 04:54
  • 73KB
  • 下载

Centos下载文件wget命令详解

wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径   例如: # wget linuxsense.org/xxxx/xxx.tar.gz">...
  • heilian56
  • heilian56
  • 2015-07-01 19:25:10
  • 1667

centos学习笔记(3)--链接命令

vi:打开文件视图----> i:修改文件 ----->esc:退出--->wq:退出保存修改的内容ls  -i  /root/a.cfg /tmp/b.cf...
  • maonian1762
  • maonian1762
  • 2018-04-16 16:09:08
  • 6

centos.docx

  • 2015年05月01日 11:41
  • 29KB
  • 下载

CentOS 6.x系统下安装telnet命令及使用

  • 2018年01月29日 15:24
  • 14KB
  • 下载

hive在centos7上安装

hive分三种部署模式: 1.单用户模式 此模式连接到一个In-Memory 的数据库Derby,一般用于Unit Test。 2.多用户模式 通过网络连接到一个数据库(数据库通常是mysql...
  • csdn_chuxuezhe
  • csdn_chuxuezhe
  • 2017-07-04 22:37:20
  • 358

CentOS MySQL启动和关闭命令

  • 2012年07月19日 15:22
  • 126B
  • 下载

Centos下安装nc命令工具及问题解答

netcat(nc)是一个简单而有用的工具,被誉为网络安全界的“瑞士均道”,不仅可以通过使用TCP或UDP协议的网络连接读写数据,同时还是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型...
  • juexin840
  • juexin840
  • 2017-03-28 13:57:02
  • 6559
    个人资料
    持之以恒
    等级:
    访问量: 6430
    积分: 1750
    排名: 2万+
    文章存档
    最新评论