硬链接:相当于文件的多个入口,作用:备份文件,创建快照等

软链接:相当于windows的快捷方式

命令格式:

ln option 源文件 目标文件

-s: 创建软链接

1,创建硬链接:

ghostwu@dev:~/linux/cp$ ls
ghostwu.txt
ghostwu@dev:~/linux/cp$ ls -l
total
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt
ghostwu@dev:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink
ghostwu@dev:~/linux/cp$ ls -l
total
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt

硬链接与源文件的inode节点是相同的,因为指向的是同一个节点:

ghostwu@dev:~/linux/cp$ ls -ihl
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt

都可以查看内容

ghostwu@dev:~/linux/cp$ cat ghostwu.txt
hello,my name is ghostwu
ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink
hello,my name is ghostwu

删除硬链接,不会影响源文件

ghostwu@dev:~/linux/cp$ rm ghostwu_hardlink
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt
ghostwu@dev:~/linux/cp$ cat ghostwu.txt
hello,my name is ghostwu

恢复硬链接,跟删除之前的inode一样的

ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt
ghostwu@dev:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt

删除源文件,不会影响硬链接

ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt
ghostwu@dev:~/linux/cp$ rm ghostwu.txt
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink
hello,my name is ghostwu

可以通过硬链接恢复源文件

ghostwu@dev:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt

创建软链接

ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt
ghostwu@dev:~/linux/cp$ ln -s ghostwu.txt ghostwu_softlink
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
lrwxrwxrwx ghostwu ghostwu 5月 : ghostwu_softlink -> ghostwu.txt
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt

软链接的i节点跟源文件不同,文件类型为l

ghostwu@dev:~/linux/cp$ cat ghostwu_softlink
hello,my name is ghostwu
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
lrwxrwxrwx ghostwu ghostwu 5月 : ghostwu_softlink -> ghostwu.txt
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt

删除软链接,不会影响硬链接和源文件

ghostwu@dev:~/linux/cp$ rm ghostwu_softlink
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt
ghostwu@dev:~/linux/cp$ cat ghostwu.txt
hello,my name is ghostwu
ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink
hello,my name is ghostwu

删除源文件后,软链接不能查看内容,受到影响,硬链接不受影响

ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
lrwxrwxrwx ghostwu ghostwu 5月 : ghostwu_softlink -> ghostwu.txt
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt
ghostwu@dev:~/linux/cp$ rm ghostwu.txt
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
lrwxrwxrwx ghostwu ghostwu 5月 : ghostwu_softlink -> ghostwu.txt
ghostwu@dev:~/linux/cp$ cat ghostwu_softlink
cat: ghostwu_softlink: No such file or directory
ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink
hello,my name is ghostwu

通过硬链接恢复源文件,软链接又可以使用了

ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
lrwxrwxrwx ghostwu ghostwu 5月 : ghostwu_softlink -> ghostwu.txt
ghostwu@dev:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
lrwxrwxrwx ghostwu ghostwu 5月 : ghostwu_softlink -> ghostwu.txt
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt
ghostwu@dev:~/linux/cp$ cat ghostwu_softlink
hello,my name is ghostwu

不能为目录创建硬链接

ghostwu@dev:~/linux/cp$ ln /home/ghostwu/ ghostwu_home
ln: /home/ghostwu/: hard link not allowed for directory

但是可以为目录创建软链接

ghostwu@dev:~/linux/cp$ ln -s /home/ghostwu/ ghostwu_home
ghostwu@dev:~/linux/cp$ ls -ilh
total .0K
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu_hardlink
lrwxrwxrwx ghostwu ghostwu 5月 : ghostwu_home -> /home/ghostwu/
lrwxrwxrwx ghostwu ghostwu 5月 : ghostwu_softlink -> ghostwu.txt
-rw-rw-r-- ghostwu ghostwu 5月 : ghostwu.txt

Linux常用基本命令(软链接与硬链接 )的更多相关文章

  1. 深入解读键值产生原理,linux中的软链接和硬链接(转)

    键值 = 文件标示符 + 项目ID 当用到进程间的通信时, 必须要注意到的是键值是怎么产生的,我们知道任何一个文件时通过文件名来访问的, 而内核在对应的给其一个值,也就是文件标示符. 系统建立IPC通 ...

  2. 2017-7-18-每日博客-关于Linux下的软链接和硬链接.doc

    ln命令 该命令在文件之间创建链接.这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称.对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题. 如果链 ...

  3. Linux学习笔记 软链接和硬链接

    Linux 中,"everything is file".接下来给大家介绍 linux 如何通过链接,达到节省磁盘空间.共享文件等目的.链接文件有两种方式,软链接(soft lin ...

  4. Linux文件的软链接和硬链接

    1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link).还有一种被称为符号链接(Symbolic Link).默认情况下.ln命令产生硬链接. 1.1索引节点 索引节点是 ...

  5. Linux中的软链接与硬链接

    软链接相当于windows的快捷方式,当源文件不存在时,软链接失效. 链接是指向文件名,当指向的文件名字删除的时候,就找不到源文件了.硬链接是指向文件本身,删除一个文件名字,还是可以找到源文件的.ls ...

  6. linux下的软链接与硬链接

    在 Linux 底下的连结档有两种,一种是类似 Windows 的快捷方式功能的文件,可以让你快速的链接到目标文件(或目录);这种链接称为软链接. 另一种则是透过文件系统的 inode 连结来产生新档 ...

  7. linux 创建软链接和硬链接

    Linux 系统中有软链接和硬链接两种特殊的“文件”. 软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录. 硬链接则透过文件系统的inode来产生新档名,而不是产生新档案. ...

  8. 转: linux文件链接(软链接和硬链接)

    链接:一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法. Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic l ...

  9. Linux之软链接与硬链接

    什么是链接? 链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件. 它是用来干什么的? 你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS ...

随机推荐

  1. 栈(链式栈)----C语言

    链式栈:就是一种操作受限的单向链表,对单向链表还不了解的可先看一下之前的一篇关于单向链表的随笔,链表(单向链表的建立.删除.插入.打印),理解了单向链表后再来看链式栈就比较轻松了 链式栈的操作一般含有 ...

  2. 【ElasticSearch】:Mapping相关

    Mapping 类似数据库中的表结构定义,主要作用如下: 定义Index下的字段名(Field Name). 定义字段类型,例如数值型.字符串型.布尔型等. 定义倒排索引相关配置,比如是否索引.记录p ...

  3. Swift 里 Set(一)辅助类型

    _UnsafeBitset  是一个固定大小的 bitmap,用来确定指定位置是否有元素存在. HashTable  具体的 hash 碰撞算法在HashTable里实现,目前使用的是简单的开放地 ...

  4. 【并发】1、关于线程的几种状态&关于yield的理解

    最近在看disruptor源码,在获取ringbuffer的下一个序列的时候,disruptor有几种等待策略,其中有YieldingWaitStrategy类,是使用java的Thread.yiel ...

  5. Django url分发器

    视图: 视图一般都写在app的views.py中.并且视图的第一个参数永远都是request(一个HttpRequest)对象.这个对象存储了请求过来的所有信息,包括携带的参数以及一些头部信息等.在视 ...

  6. Quartz.NET在ASP.NET 中使用

    Quartz.NET 项目地址 http://quartznet.sourceforge.net/ common logging是一个通用日志接口,log4net是一个具体实现 ,也可以使用NLog, ...

  7. Kafka消息存储原理

    kafka消息存储机制 (一)关键术语 复习一下几个基本概念,详见上面的基础知识文章. Broker:消息中间件处理结点,一个Kafka节点就是一个broker,多个broker能够组成一个Kafka ...

  8. 解析Service之你需要了解的一些东东

    何为Service Service,俗名服务.在Android系统中,Service与Activity就像一个妈生的,不仅长得像,而且行为(生命周期)也有一些类似.对于Activity来说大家肯定不会 ...

  9. wordpress给文章添加缩略图

    百度是个好东西,翻了半个小时的文章,终于把这个问题解决了. 一个问题的解决方法很多,但要找到一个自己理解的方法,缺比较难找,不管怎样,多动手,可能弄着弄着就会了. 教程开始: 1.先去后台管理安装Ea ...

  10. 在商城系统中使用设计模式----策略模式之在spring中使用策略模式

    1.前言: 这是策略模式在spring中的使用,对策略模式不了解对同学可以移步在商城中简单对使用策略模式. 2.问题: 在策略模式中,我们创建表示各种策略的对象和一个行为,随着策略对象改变而改变的 c ...