链接命令: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之链接命令的更多相关文章

  1. (七)Centos之链接命令

    一.链接命令:ln  (link) ln -s [源文件] [目标文件] 功能描述:生成链接文件 选项: -s 创建软链接 二.硬链接 硬链接特征: 1,拥有相同的i节点和存储block块,可以看作是 ...

  2. CentOS最常用命令及快捷键整理

    CentOS最常用命令及快捷键整理  整理了Linux常用命令及快捷键. 常用命令: 文件和目录: # cd /home                        进入 '/home' 目录 # ...

  3. CentOS 使用yum命令安装Java SDK(openjdk)

    CentOS 6.X 和 5.X 自带有OpenJDK runtime environment  (openjdk).它是一个在linux上实现开源的java 平台.CentOS  yum 命令 安装 ...

  4. CentOS基本的命令与快捷建

    由于我的计算机在安装linux系统时,计算机出现了问题,并没有安装ubuntu而是安装的centos.虽然两者属于linux的不同版本,但是在具体的操作上大同小异.在学习linux的各种指令和快捷键的 ...

  5. CentOS常用基础命令大全

    这篇文章主要介绍了CentOS常用基础命令大全,学习centos的朋友需要掌握的知识,需要的朋友可以参考下 1.关机 (系统的关机.重启以及登出 ) 的命令shutdown -h now 关闭系统(1 ...

  6. Linux常用命令学习1---(安装、文件系统、目录操作命令cd ls mv cp rm mkdir、链接命令ln……)

    1.理解Linux的文件系统:分区和挂载点    挂载点和路径名无关 /根目录下的/boot完全可以时独立于 /的独立的挂载点,只要你设置就可以    linux安装时候,必须要有这两个分区 / 和 ...

  7. centos的常用命令

    公司服务器主要是centos,第一篇就从centos的常用命令开始吧. 转载自:http://www.cnblogs.com/zitsing/archive/2012/05/02/2479009.ht ...

  8. Linux系列教程(五)——Linux链接命令和权限管理命令

    前一篇博客我们讲解了Linux文件和目录处理命令,还是老生常淡,对于新手而言,我们不需要完全记住命令的详细语法,记住该命令能完成什么功能,然后需要的时候去查就好了,用的多了我们就自然记住了.这篇博客我 ...

  9. Linux常用命令之链接命令和权限管理命令

    目录 1.链接命令 一.生成链接文件命令:ln 2.权限管理命令3.总结 一.更改文件或目录权限命令:chmod 二.改变文件或目录所有者命令:chown 三.改变文件或目录所属组命令:chgrp 四 ...

随机推荐

  1. pg数据库杀掉连接

    遇到异常连接时,需要将对应连接杀掉,可能是连接占用了过多CPU或是IO,影响了业务,或是时间过长的空闲事务. pg对于杀掉连接提供了专门的命令,一般情况下使用pg_cancel_backend就可以, ...

  2. laravel 实用扩展包

    1.beyondcode / laravel-self-diagnosis 环境检测.检测 php 版本.扩展 是否正常,数据库连接是否正常等 2.nunomaduro/larastan larave ...

  3. UVALive 7505 Hungry Game of Ants (2015Ecfinal)

    题意: 长度是n的线段上点的编号从1~n,每个点有一只蚂蚁蚂蚁的体重等于该点的编号,最初每只蚂蚁可以选择向右走或者向左走两只蚂蚁相遇时体重大的吃掉体重小的并且体重增加为两只的体重和,走到边界时掉头,问 ...

  4. python基础之面向对象01

    什么是面向对象? 所谓面向对象就是将那些具有共同特质的事物组成一个类(Class),在类中为这些特质定义一个个方法(函数). 具体一点,比如说英雄联盟.在英雄联盟中我们可以把所有的英雄划分为一个英雄类 ...

  5. Django paginator and Form

    django  提供的分页器 django 官方链接: https://docs.djangoproject.com/en/1.11/topics/pagination/ django提供了一些类来帮 ...

  6. bzoj千题计划170:bzoj1968: [Ahoi2005]COMMON 约数研究

    http://www.lydsy.com/JudgeOnline/problem.php?id=1968 换个角度 一个数可以成为几个数的约数 #include<cstdio> #incl ...

  7. bzoj千题计划157:bzoj1220:[HNOI2002]跳蚤

    扩展欧几里得:ax+by=gcd(a,b) 一定有解 能跳到左边一格,即ax+by=-1 若a,b的gcd=1,则一定有解 所以问题转化为 求n个不大于m的数,他们与m的gcd=1 的方案数 容斥原理 ...

  8. CF&&CC百套计划3 Codeforces Round #204 (Div. 1) D. Jeff and Removing Periods

    http://codeforces.com/problemset/problem/351/D 题意: n个数的一个序列,m个操作 给出操作区间[l,r], 首先可以删除下标为等差数列且数值相等的一些数 ...

  9. [Luogu 3128] USACO15DEC Max Flow

    [Luogu 3128] USACO15DEC Max Flow 最近跟 LCA 干上了- 树剖好啊,我再也不想写倍增了. 以及似乎成功转成了空格选手 qwq. 对于每两个点 S and T,求一下 ...

  10. Spring boot学习总结

    引言之前也没有深入学习过spring框架,最近SpringBoot流行起来后想补下这方面的知识,于是照着SpringBoot官网上的英文教程开始helloworld入门,踩到几个小坑,记录下学习流程. ...