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

软链接:相当于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. lost+found目录有啥用?

    Linux系统中根目录下或者新挂载的磁盘目录下有一个叫lost+found,它的作用是什么? 如果你运行fsck命令(文件系统检查和修复命令),它也许会找到一些数据碎片,这些文件碎片在硬盘中并没有引用 ...

  2. mybatis-spring集成:配置多数据库源中遇到的问题

    转自:http://www.cfanz.cn/index.php?c=article&a=read&id=71583 mybatis配置多数据源本身很简单,和基本配置差别不大 但是如果 ...

  3. Win10 安装 digits

    安装caffe配置python接口 接下来就按照官方教程来安装了... 1. If the installation process complains compiler not found, you ...

  4. 12-01 Java Scanner类,Scanner类中的nextLine()产生的换行符问题

    分析理解:Scanner sc = new Scanner(System.in); package cn.itcast_01; /* * Scanner:用于接收键盘录入数据. * * 前面的时候: ...

  5. Postgresql 字符串操作函数

    样例测试: update property set memorial_no = btrim(memorial_no, ' ') where memorial_no like ' %' 或:update ...

  6. 使用Dump转储文件排查线上环境服务未知问题

    利用Dump转储文件获取正式环境程序堆栈状态 服务异常找不到原因时,我们通常通过重新启动服务来尝试解决问题,但是在决定重启之前,请不要立刻重启Windows服务或站点 重启服务会让当前案发现场的内存证 ...

  7. fastjson的JSONArray转化为泛型列表

    背景:一个复杂结构体内部可能有array的数据,例如:{name:"test",cities:[{name:"shanghai",area:1,code:200 ...

  8. SQL Server 2016 需要单独安装 SSMS

    默认安装完 MSSQL 后,不自带 SSMS 的管理工具了,需要的话可以单独安装,貌似更专业了一些. https://msdn.microsoft.com/library/mt238290.aspx ...

  9. 阿里云安装配置Ghost

    阿里云手动重装系统N次了,折腾不止.  系统环境 CentOS 6.3 X64 , 两块硬盘 系统 +数据盘 #重新挂载硬盘 [root@AY14040623435015772eZ ~]# fdisk ...

  10. CentOS命令行连接带密码的wifi

    安装工具包 yum install -y wpa_supplicant 确定我们要连接的wifi的名称和密码,名称为ESSID.这里假设wifi名称为TPLINK,假设密码为password,下面请注 ...