Linux的链接文件
  使用ln命令来创建链接文件(link)

Linux链接分两种:硬链接(Hard Link),符号链接(Symbolic Link)

  默认情况下,ln命令产生硬链接。

[root@geo lianxi]# ln  -s  xiaotong   tongtong    #符号链接才能为目录建立链接
                                     源文件     目标文件(链接文件)

[root@geo lianxi]# cd tongtong/

[root@geo tongtong]# pwd

/lianxi/tongtong

[root@geo tongtong]# pwd -P   显示tongtong目录所在的真正的路径

/lianxi/xiaotong

1、硬链接(Hard Link)               
命令格式:
  ln 源文件… 链接文件

硬连接指通过索引节点来进行连接:一个inode号对应多个文件名(一个文件有多个不同的文件名)

作用:

  允许一个文件拥有多个有效路径名,建立硬连接,以防止“误删”的功能。

#####文件真正删除的条件是与之相关的所有硬连接文件均被删除。

硬连接的2个限制:

①指向原始文件对应的数据存储位置,不能为目录建立硬链接文件
②硬链接与原始文件必须位于同一分区(文件系统)中
2、软链接(Symbolic Link)符号链接:                
命令格式:
  ln -s  源文件… 链接文件
            -s, --symbolic    make symbolic links instead of hard links
一个文件链接到另外一个文件 (类似于Windows的快捷方式)soft
指向原始文件所在的路径(软链接源文件用绝对路径,但用相对路径较好)

原理:

  软连接文件实际上是一个特殊的文本文件,其中包含的有另一文件的位置信息。

允许符号链接(经常简写为symlinks)指向位于其他分区、甚至是其他网络硬盘上的某个文件。

[root@studying lianxi]# touch test              #创建一个测试文件test
[root@studying lianxi]# ln test H_test         #创建test 的一个硬连接文件H_test 
[root@studying lianxi]# ln -s test S_test     #创建test 的一个符号连接文件S_test
[root@studying lianxi]# ls -li           # -i参数显示文件的inode节点信息

total 0
262146 -rw-r--r-- 2 root root 0 Feb 21 23:31 test
262146 -rw-r--r-- 2 root root 0 Feb 21 23:31 H_test
262196 lrwxrwxrwx 1 root root 4 Feb 21 23:31 S_test -> test

分析:硬连接文件H_test 与原文件test的inode节点相同,均为262146,然而符号连接文件的inode节点不同。

[root@studying lianxi]# echo "I am test file">>test
[root@studying lianxi]# cat test
I am test file
[root@studying lianxi]# cat H_test 
I am test file
[root@studying lianxi]# cat S_test 
I am test file
[root@studying lianxi]# rm -f test
[root@studying lianxi]# cat H_test 
I am test file
[root@studying lianxi]# cat S_test 
cat: S_test: No such file or directory

分析:当删除原始文件test后,硬连接H_test不受影响,但是符号连接S_test文件无效

总结:

①删除原文件,对硬连接文件没有影响,导致符号连接文件(依赖与源文件)失效;

②删除符号连接文件,对源文件、硬链接文件无影响;

③删除硬连接文件,对源文件、符号连接文件也无影响;

④同时删除原文件和硬连接文件,整个文件会真正的被删除。建立硬链接文件起到一定的备份作用。

#####修改任意文件内容,其他链接文件相应的都会被修改

Linux的链接文件-ln命令的更多相关文章

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

    添加链接使用ln命令用法:#ln --help用法:ln [选项]... 目标 [链接名]或:ln [选项]... 目标... 目录或:ln [选项]... --target-directory=目录 ...

  2. Linux编程 4 (创建文件touch,复制文件cp,tab补全,链接文件ln)

    一.创建文件 使用touch 可以创建空文件,例如opt目录下创建test2.txt文件.这种一般是有些程序必须要先创建文件,才能使用. 二. 复制文件 2.1 使用cp命令来复制文件,需要两个参数- ...

  3. Linux链接文件——管理链接文件的命令

    Linux链接文件——管理链接文件的命令 摘要:本文主要学习了在Linux系统中创建链接文件的命令. ln命令 ln命令用于给文件创建链接,是Link的缩写. 基本语法 ln [选项] 源文件 目标文 ...

  4. Linux链接文件ln

    链接命令:ln 生成链接文件   ln [源文件] [目标目录] : 创建硬链接 -s:创建软链接    硬链接特征:(ln )1.拥有相同的i节点和存储block快,可以看做是同一个文件2.可通过i ...

  5. Linux的链接文件

    Linux的链接文件======================================== Linux的链接文件分为硬链接文件(hard link )和软链接文件( symbolic lin ...

  6. [转]linux查看日志文件内容命令

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...

  7. linux查看日志文件内容命令tail、cat、tac、head、echo

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...

  8. 【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...

  9. linux查看日志文件内容命令tail、cat、tac、head、echo、vi

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...

随机推荐

  1. Android N特性解析

    作者:Redyan, 腾讯移动客户端开发工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:http://wetest.qq.com/lab/view/288.html ...

  2. 连连看的原生JS实现

    那天闲来无事,便想找个小游戏来打发时间,后来便找到了连连看, 玩了一会儿感觉无聊,想到各位高手用JS做的各种小游戏,便想自己也来做一个,于是便有了这几天的成果. 代码是用 原生JS 实现的,只是用来学 ...

  3. 关于RunLoop

    首先我们要先认识一下这个RunLoop; NSRunLoop是Cocoa框架中的类,与之的Core Fundation 中CFRunLoopRef类. 这两者的区别是,前者不是线程安全的,而后者是线程 ...

  4. [TPYBoard-Micropython之会python就能做硬件 7] 学习使用蓝牙模块及舵机

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi            欢迎加入讨论群 64770604 一.实验器材 1.TPYboard V102板  一块 2 ...

  5. 每天一个linux命令(48)--ln命令

    ln是Linux中又一个非常重要的命令,它的功能是为某个文件在另外一个位置建立一个同步的链接,当我们需要在不同的目录,用到相同的文件时,我们不需要在每个需要的目录下都放一个相同的文件,我们只要在某个固 ...

  6. 卷积神经网络(CNN)反向传播算法

    在卷积神经网络(CNN)前向传播算法中,我们对CNN的前向传播算法做了总结,基于CNN前向传播算法的基础,我们下面就对CNN的反向传播算法做一个总结.在阅读本文前,建议先研究DNN的反向传播算法:深度 ...

  7. C#中运算符的应用

    c#中的运算符(只说我自己熟悉和常用的)一.算数运算:加 +减 -乘 *除 / (整型的除法是不算小数点的,也就是说结果是整数,余数舍去了,求余数看下面)求余数 % 加减乘好理解,整型的除法和求余数因 ...

  8. 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-1

    来个目录吧: 第一章 第二章 第三章 暂时就这么多.后面路线更新吧 本系列文章为翻译加上我个人的使用心得理解,希望帮助热爱学习的程序员. 珍重声明:本系列文章会跟原文有点出入,去掉了罗里吧嗦的文字. ...

  9. 雪花降落CADisplayLink

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #1d9421 } p.p2 ...

  10. 使用Intellij Idea自定义MVC框架

    ---恢复内容开始--- 今天我学习了自定义一个简单的MVC框架,这个我们首先要知道什么是MVC框架! MVC框架: MVC全名是Model View Controller,是模型(model)-视图 ...