1. 命令功能

ln 可以看做是link的简写,功能是创建链接文件,链接文件包括硬链接(hard link)和软链接(符号链接,symbolic link)

2. 语法格式

ln  [option]  source  target

ln  选项  源文件或目录  目标文件或目录

参数

参数说明

无选项

创建硬链接

-s

创建软链接(符号链接)

目录没有硬链接,只有软链接。

3. 硬软链接文件知识

1. 硬链接

硬链接文件创建方式:ln 源文件  目标文件

每个文件都有一个inode(索引)节点,这个inode就是指向文件在磁盘中具体存放的位置编号。创建硬链接,就是在创建一个文件名,这个文件名指向同一个inode索引,相当于给文件的另一个入口。例如到一个房子开始只有一个门能进入,现在又开了另一个门当做出口。这样做的好处,例如备份文件,删除源文件,只是把源文件名删除了,还可以通过硬链接文件访问这个文件,放置误删除。

硬链接的特性:

  1. 具有相同inode节点的多个文件互为硬链接。
  2. 删除源文件或硬链接文件其中之一,文件实体没有被删除。
  3. 只有删除源文件及全部硬链接文件后,文件实体才会被删除。
  4. 可以给文件设置硬链接,来防止重要文件被误删。
  5. 硬链接可以用rm命令删除。
  6. ls –lih 查看第三列,即硬链接数。
  7. 对于静态文件(文件没有被调用),当对应的硬链接数为0时,文件就会被删除

实例:创建硬链接

[root@localhost DIR]# ln 123 abc

[root@localhost DIR]# ls -l

total 0

-rw-r--r--. 2 root root 0 Mar 13 23:21 123

-rw-r--r--. 2 root root 0 Mar 13 23:21 abc    #abc是123的硬链接文件

[root@localhost DIR]# ls –lih

total 0

786446 -rw-r--r--. 2 root root 0 Mar 13 23:21 123  #inode号相同;2 表示有硬链接数:3

786446 -rw-r--r--. 2 root root 0 Mar 13 23:21 abc

[root@localhost DIR]# ln 123 def

[root@localhost DIR]# ls -lih

total 0

786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 123  # 硬链接数有3

786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 abc

786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 def

[root@localhost DIR]# ls -lih 123

786446 -rw-r--r--. 3 root root 0 Mar 13 23:21 123

2. 软链接

软链接(符号链接),类似windows中的快捷方式。

软链接创建方式:ln –s 源文件 目标文件

[root@localhost home]# ls -l test.txt

-rw-r--r--. 1 root root 27 Mar 14 22:45 test.txt

[root@localhost home]# ln -s test.txt test.txt_link   #创建软链接

[root@localhost home]# ls -l test.txt test.txt_link

-rw-r--r--. 1 root root 27 Mar 14 22:45 test.txt

lrwxrwxrwx. 1 root root  8 Mar 14 22:45 test.txt_link -> test.txt  #l:软链接标识符

软链接文件和源文件的inode号不一样,链接数也不一样

[root@localhost home]# ls -lih test.txt test.txt_link

786434 -rw-r--r--. 1 root root 27 Mar 14 22:45 test.txt

786448 lrwxrwxrwx. 1 root root  8 Mar 14 22:45 test.txt_link -> test.txt

ln 硬链接与软链接的更多相关文章

  1. Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版1

    Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版 < Linux创建文件及修改文件时间戳(touch命令)Linux复制文件和目录(cp命令) > <Linux就该这 ...

  2. Linux系统硬链接和软链接介绍

    1.链接的概念 在Linux系统中链接分为硬链接和软连接两种,一种为硬链接,另一种为软连接或符号链接(symbolic Link).ln命令就是创建链接文件的,在默认不带参数的情况下,执行ln命令创建 ...

  3. 实例讲解Linux系统中硬链接与软链接的创建

    导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说 ...

  4. 转:理解 Linux 的硬链接与软链接

    Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程 创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键 ...

  5. Linux文件系统中硬链接和软链接的区别 (转)

    建立硬链接命令:ln src-link dest-link建立软链接:ln -s src-link dest-link   1. 硬链接是别名,软链接是快捷方式   2. 硬链接和源链接指向同一个i节 ...

  6. 理解 Linux 的硬链接与软链接

    Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键盘 ...

  7. 理解 Linux 的硬链接与软链接【转】

    转自:https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html 从 inode 了解 Linux 文件 ...

  8. 【Linux】Linux系统硬链接和软链接

    在linux系统中有种文件是链接文件,可以为解决文件的共享使用.链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link). 查看lin ...

  9. Linux下硬链接与软链接

    linux下的链接文件,尤其是软链接使用非常的频繁: 链分为硬链接(hard link)与软链接(symbolic link) 两种:关键在于inode: 硬链接: 当系统需要读取一个文件时,就会去读 ...

随机推荐

  1. Qt中图元对象的多重集成

    在继承自定义QGraphicsItem图元对象时,有时需要用到信号/槽机制,由于QGraphicsItem非QObject的子类 所以需要多重继承QObject,有一点需要特别注意:就是继承的顺序,一 ...

  2. POJ 1384 Piggy-Bank (完全背包)

    Piggy-Bank 题目链接: http://acm.hust.edu.cn/vjudge/contest/130510#problem/F Description Before ACM can d ...

  3. 对象数组(JSON) 根据某个共同字段 分组

    1.在前端页面用js处理 转载https://www.cnblogs.com/rysinal/p/5834446.html 为了第二种方法对比,特意把id 转化为pid var arr = [ {&q ...

  4. 二十九、pycharm中报错“too many blank lines (3) ”等类似错误

    报错如下图: 解决方法一: 鼠标移至报错处,按住Alt+enter键,选择ignore errors like this 方法二:找到设置File - Settings…… - Editor - In ...

  5. javascript处理json字符串

    字符串转JSON格式 var obj = JSON.parse(json字符串); 判断字段值是否存在,返回true或false obj.hasOwnProperty("error" ...

  6. linux 互斥量

    互斥量(mutex)从本质上来说是一把锁,在访问共享资源前对互斥量进行加锁,在访问完后释放互斥量上的锁. 对互斥量进行加锁以后,任何其他试图再次对互斥量加锁的线程都将会被阻塞直到当前线程释放该互斥锁. ...

  7. 测开之路八十六:python操作sqlite

    创建sqlite数据库,并创建表和数据 python自带sqlite3库可以创建数据库文件 导入库:import sqlite3 创建游标,指定数据库名字:con = sqlite3.connect( ...

  8. 类StringBuffer

    1字符串声明和创建 public StringBuffer() 无参构造函数 public StringBuffer(int capacity) 指定容量的字符串缓冲区对象 public String ...

  9. WordPress致命错误 紧急处理代码

    将下面代码添加到当前主题函数模板 functions.php 中: dadd_filter( 'wp_fatal_error_handler_enabled', '__return_false' );

  10. 【FICO系列】SAP 关于SAP中的记账码的解释

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 关于SAP中的记账码的解 ...