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

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

命令格式:

ln option 源文件 目标文件

-s: 创建软链接

1,创建硬链接:

  1. ghostwu@dev:~/linux/cp$ ls
  2. ghostwu.txt
  3. ghostwu@dev:~/linux/cp$ ls -l
  4. total
  5. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt
  6. ghostwu@dev:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink
  7. ghostwu@dev:~/linux/cp$ ls -l
  8. total
  9. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  10. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt

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

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

都可以查看内容

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

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

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

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

  1. ghostwu@dev:~/linux/cp$ ls -ilh
  2. total .0K
  3. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt
  4. ghostwu@dev:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink
  5. ghostwu@dev:~/linux/cp$ ls -ilh
  6. total .0K
  7. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  8. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt

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

  1. ghostwu@dev:~/linux/cp$ ls -ilh
  2. total .0K
  3. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  4. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt
  5. ghostwu@dev:~/linux/cp$ rm ghostwu.txt
  6. ghostwu@dev:~/linux/cp$ ls -ilh
  7. total .0K
  8. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  9. ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink
  10. hello,my name is ghostwu

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

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

创建软链接

  1. ghostwu@dev:~/linux/cp$ ls -ilh
  2. total .0K
  3. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  4. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt
  5. ghostwu@dev:~/linux/cp$ ln -s ghostwu.txt ghostwu_softlink
  6. ghostwu@dev:~/linux/cp$ ls -ilh
  7. total .0K
  8. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  9. lrwxrwxrwx ghostwu ghostwu 5 : ghostwu_softlink -> ghostwu.txt
  10. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt

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

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

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

  1. ghostwu@dev:~/linux/cp$ rm ghostwu_softlink
  2. ghostwu@dev:~/linux/cp$ ls -ilh
  3. total .0K
  4. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  5. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt
  6. ghostwu@dev:~/linux/cp$ cat ghostwu.txt
  7. hello,my name is ghostwu
  8. ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink
  9. hello,my name is ghostwu

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

  1. ghostwu@dev:~/linux/cp$ ls -ilh
  2. total .0K
  3. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  4. lrwxrwxrwx ghostwu ghostwu 5 : ghostwu_softlink -> ghostwu.txt
  5. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt
  6. ghostwu@dev:~/linux/cp$ rm ghostwu.txt
  7. ghostwu@dev:~/linux/cp$ ls -ilh
  8. total .0K
  9. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  10. lrwxrwxrwx ghostwu ghostwu 5 : ghostwu_softlink -> ghostwu.txt
  11. ghostwu@dev:~/linux/cp$ cat ghostwu_softlink
  12. cat: ghostwu_softlink: No such file or directory
  13. ghostwu@dev:~/linux/cp$ cat ghostwu_hardlink
  14. hello,my name is ghostwu

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

  1. ghostwu@dev:~/linux/cp$ ls -ilh
  2. total .0K
  3. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  4. lrwxrwxrwx ghostwu ghostwu 5 : ghostwu_softlink -> ghostwu.txt
  5. ghostwu@dev:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt
  6. ghostwu@dev:~/linux/cp$ ls -ilh
  7. total .0K
  8. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  9. lrwxrwxrwx ghostwu ghostwu 5 : ghostwu_softlink -> ghostwu.txt
  10. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu.txt
  11. ghostwu@dev:~/linux/cp$ cat ghostwu_softlink
  12. hello,my name is ghostwu

不能为目录创建硬链接

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

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

  1. ghostwu@dev:~/linux/cp$ ln -s /home/ghostwu/ ghostwu_home
  2. ghostwu@dev:~/linux/cp$ ls -ilh
  3. total .0K
  4. -rw-rw-r-- ghostwu ghostwu 5 : ghostwu_hardlink
  5. lrwxrwxrwx ghostwu ghostwu 5 : ghostwu_home -> /home/ghostwu/
  6. lrwxrwxrwx ghostwu ghostwu 5 : ghostwu_softlink -> ghostwu.txt
  7. -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. 前端基础-html 列表标签,表格标签,表单标签

    一.列表标签 1.ul(无序列表)标签 ul(unordered list)无序列表,ul下的子元素只能是li(list item),如下示例: <ul> <li>第一项< ...

  2. 【小程序开放激励视频】--wepy小程序添加激励视频

    小程序开放激励视频是对小程序开发者一个福音,小程序开发者可以完成一些变现,以增加收入! 本文章针对已经有开发经验或者正在进行小程序开发的同学~ 官方文档:激励视频广告 定义页面变量,用于创建视频实例 ...

  3. jquery中ajax的几种方式

    三种简写: $.get(URL,data,function(data,status,xhr),dataType) $(selector).post(URL,data,function(data,sta ...

  4. markdown的学习记录

    一.markdown用处: 写博客,写微信公众号等等 二.准备工作: 工具使用:由于代码经常使用idea,所以继续使用idea编写markdown,但需要安装插件:MarkDown Navigator ...

  5. jQuery Mobile Api

        jQuery Mobile提供了使用Javascript与框架(html5)通信以及进行内容管理的API.下面介绍具体事件. 文档事件     mobileinit事件会在jQuery Mob ...

  6. [Leetcode]315.计算右侧小于当前元素的个数 (6种方法)

    链接 给定一个整数数组 nums,按要求返回一个新数组 counts.数组 counts 有该性质: counts[i] 的值是  nums[i] 右侧小于 nums[i] 的元素的数量. 示例: 输 ...

  7. vue-cli项目配置文件分析

    最近在vue-cli生成的webpack模板项目的基础上开发了一些项目,开发过程中遇到很多坑,并且需要改动build和config里面一些相关的配置,查阅,学习,总结,分享. 一.配置文件结构 本文主 ...

  8. [转]Use HandleBars in Express

    http://fraserxu.me/posts/Using-Handlebarsjs-with-Expressjs/ 在Express项目中使用Handlebars模板引擎 31 Aug 2014 ...

  9. 本地主机不安装oracle客户端--访问远程oracle数据库

    在不安装oracle客户端情况下用sqlplus连接数据库: 1.去官网下载 http://www.oracle.com/technetwork/topics/winx64soft-089540.ht ...

  10. HuLu机器学习问题与解答系列(1-8)

    声明:本系列文章转载自微信公众号HULU,本人只是搬运工,仅供学习,如有不妥,后续告知删除. 嗨,欢迎回来,希望你能保持定期回顾的好习惯噢!下面是Hulu机器学习问题与解答系列的前8篇内容,点击主题名 ...