创建连接实质上就是给系统中已经存在的文件指定另外一个可以访问它的名称,linux系统当中连接的创建有两种形式:硬链接(Hard Link),与符号链接(Symbloic Link)既软链接。

ln命令:

语法:ln [选项] 目标

参数 作用

-s 创建软链接(默认是硬链接)

-f 强制创建文件或者目录的连接

-i 覆盖前先询问

-v 显示创建连接的过程

硬链接:

将目录/app/linktest/file1 文件链接到目录/app/linktest/hardlink 文件,利用ls -l命令可以观察到文件连接数的变化。

[root@CentOS6 linktest]#ls -l
total 4
-rw-r--r--. 1 root root 8 Jul 22 15:35 file1
[root@CentOS6 ~]#ln /app/linktest/file1 /app/linktest/hardlink
[root@CentOS6 linktest]#ls -l
total 8
-rw-r--r--. 2 root root 8 Jul 22 15:35 file1
-rw-r--r--. 2 root root 8 Jul 22 15:35 hardlink

理解:

  1. 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
  2. 硬链接的本质就是给源文件添加一个关联数据,硬链接的建立并不意味着一个新文件的建立,所以建立硬链接并不占用系统的节点编号。

    [root@CentOS6 linktest]#ls -i

    262146 file1 262146 hardlink
  3. 观察file1和hardlink文件可以看出来,两个文件的节点编号是相同,也就是说这两个文件实质上指向同一个文件数据,当修改其中一个文件的信息数据的同时互为硬链接的多个文件会发生相应的改变。
  4. 硬链接不能对目录建立,不能跨分区建立。

软链接:

在目录/app/linktest2目录下创建一个软链接文件softlink,使他指向目录/app/linktest下的file1文件。

[root@CentOS6 linktest2]#ln -s /app/linktest/file1  /app/linktest2/softlink
[root@CentOS6 linktest2]#ls -l
total 0
lrwxrwxrwx. 1 root root 19 Jul 22 16:34 softlink -> /app/linktest/file1

理解:

  1. 通过实验观察软链接文件的节点编号与源文件不同,软链接文件有自己的节点编号,所以软链接建立的同时意味着一个新文件的创建。
  2. 软链接这个文件的内容就是源文件的路径名。作用与windows系统中的快捷方式 相似。
  3. 软链接有自己的节点标号所以与硬链接不能作用于目录文件不同,软链接可以作用于目录文件,可以跨分区建立,也可以在不同的文件系统中建立。
  4. 软链接的内容是源文件的路径信息,所以如果删除源文件那么链接文件也会失去意义。然而删除软链接文件对于源文件是没有影响的。

linux软硬连接学习总结的更多相关文章

  1. Linux 软硬链接区别

    一.“硬链接“和“软链接“ 链接的概念:链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件. 链接的作用:可以将链接简单地理解为 Windows 中常见的快捷方 ...

  2. 初始Linux软硬链接

    转载 https://blog.csdn.net/libaineu2004/article/details/85918682 用实践让你明白"软链接"和"硬链接" ...

  3. Linux软硬连接

     曾经对软硬连接一直搞不明白,关键是怕操作错误. 硬链接不能跨区实现连接,硬链接是对原始文件的镜像,同一个inode,软连接是快捷方式,inode保存的是快捷方式的.原始文件删除,导致软连接文件无效. ...

  4. linux 软硬链接

    1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...

  5. Linux 软硬链接的区别及目录权限对软硬链接的影响

    目录权限的影响 首先,构建实验环境如下图: 有 A.B 两个目录,A 目录下建有 test 文件,且文件中的内容为 "Hello".B 目录下分别创建 test 文件的硬链接 te ...

  6. Linux 软硬链接详解

    软链接 软链接: 类似于windows的快捷方式,—>文本文件,但是包含了真实文件的地址               源文件删除,则软连接也删除               软链接可以放在任何文 ...

  7. linux软硬链接

    ln分为软链接和硬链接 1.软连接 -s   ln -s /mnt/hgfs/SHARE hvshare2 相当于在当前目录下新建一个名为hvshare2的快捷方式指向/mnt/hgfs/SHARE路 ...

  8. Linux - 软硬链接,hard link and symbolic link

  9. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

随机推荐

  1. 团购类网站倒计时的js实现

    一.如火如荼的团购网站 根据易观国际提供的统计数据,截至2010年6月,中国市场团购网站数量已经突破400家.国内团购潮从今年2月份开始出现,在4~6月出现高峰,尤其是今年5月,一些大的网站如爱帮网. ...

  2. fuel 安装openstack

  3. Android开发之入口Activity

    Android开发之入口Activity Adnroid App是怎样确定入口Activity的? 难道就由于class的类名叫MainActivity,布局文件叫activity_main.xml? ...

  4. HTML制作练习

  5. c/c++中static和extern使用

    c/c++中static和extern使用 在C/C++中static和extern都能够用来修饰函数和变量,可是是有差别的. 内部函数和内部变量:仅仅能在文件内使用的函数和变量. 外部函数和外部变量 ...

  6. Codeforces Round #335 (Div. 2) 606B Testing Robots(模拟)

    B. Testing Robots time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...

  7. Vue生命周期方法。

  8. 使用GitLab CI + Capistrano部署CakePHP应用程序

    使用GitLab CI + Capistrano部署CakePHP应用程序 摘要:本文描述了如使用GitLab CI + Capistrano部署CakePHP应用程序. 目录 1. 问题2. 解决方 ...

  9. 格式转换至yuv422转 yuv420

    //pYUV为422,yuv为420 /*ok! * brief:pyuv is yuv422sp srcIn, and yuv is yuv420p desOut  */ int YUV422To4 ...

  10. 基于redis集群实现的分布式锁,可用于秒杀商品的库存数量管理,有測试代码(何志雄)

    转载请标明出处. 在分布式系统中,常常会出现须要竞争同一资源的情况,本代码基于redis3.0.1+jedis2.7.1实现了分布式锁. redis集群的搭建,请见我的另外一篇文章:<>& ...