软链接和硬链接

摘要:
Linux系统中包括两种链接:硬链接和软链接1.硬链接是一个指针,指向文件索引节点,系统并不为他重新分配inode,可以用ln-li命令来建立硬链接。节省空间,也是linux系统整合文件系统的传统方式硬链接有2个限制:不允许给目录创建硬链接,只有在同一文件系统中的文件才能创建链接对硬链接文件进行读写和删除操作的时候,结果和软链接相同。但是如果删除硬链接文件的源文件,硬链接仍然存在,而且保留了原有的内容,系统把他当成一个普通文件。

在linux系统中,内核为每一个新创建的文件分配一个inode号(索引节点),文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存里,从而实现文件的快速访问。

链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的方法。Linux系统中包括两种链接:硬链接和软链接(也叫做符号链接)

1.硬链接

  • 是一个指针,指向文件索引节点,系统并不为他重新分配inode,可以用ln -li命令来建立硬链接。节省空间,也是linux系统整合文件系统的传统方式
  • 硬链接有2个限制:不允许给目录创建硬链接,只有在同一文件系统中的文件才能创建链接
  • 对硬链接文件进行读写和删除操作的时候,结果和软链接相同。但是如果删除硬链接文件的源文件,硬链接仍然存在,而且保留了原有的内容,系统把他当成一个普通文件。修改其中一个,与其链接的文件同时修改

2.软链接

又叫做符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或者目录,可以链接不同文件系统的文件,和windows下的快捷方式相似。链接文件甚至可以链接不存在的文件,这就产生一般称之为断链的问题,链接文件甚至可以循环链接自己

3.硬链接和软链接的区别

硬链接纪录的是目标的inode,由于inode的缘故,只能在本分区中做链接

软链接纪录的是目标的路径,可以跨分区链接,所以是用得多

4.链接文件的使用

ln [-i] [-s] 源文件 链接名

-i 确认是否删除目的地文件

-s 创建软链接(符号链接)

硬链接:

  • ln a b 创建文件a得硬链接文件b
  • ln -l 可以看到两个文件的大小和其他属性都相同 如--rw-r--r-- 2 root root ....,链接数都是2
  • 硬链接文件b的内容和a相同
  • 修改源文件,可以看到硬链接文件也跟着改变了文件内容
  • 删除源文件,硬链接文件还是存在的,其文件属性的文件链接数现在为1

软链接

  • ln -s a b 创建文件a的软链接b
  • ls -l看到 b-->a 软链接的大小很小,因为它只是一个指向a文件的快捷方式,链接数还都是1
  • 查看文件b的内容,它将指向文件a,从而看到内容和文件a相同
  • 修改源文件,可以看到软链接文件的内容也跟着改变
  • 删除源文件,软链接还是存在,但是打开软链接文件时,由于所指向的源文件已被删除,所以不能打开

免责声明:文章转载自《软链接和硬链接》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇cent上新版node的安装vue 记录 mode:history 模式 踩过的坑下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux基础--04-盘满的两种情况、软连接和硬链接

一、盘满的两种情况比如一个文件在硬盘存放方式是,数据块+inode元数据块inode元数据块存储:权限、属主、属组、创建时间、文件名等信息所以盘满的两种情况为:数据块满即空间大小不够用了,和inode满inode号不够用了ls -i /etc/passwd 会显示inode编号 df -i 查看inode信息df -h查看空间占用大小 dd if=/dev...

WINDOWS 的 MKLINK : 硬链接,符号链接 : 文件符号链接, 目录符号链接 : 目录联接

玩转WIN7的MKLINK引言: 换了新电脑,终于再次使用上啦WIN7 ,经过一个周每天重装N次系统,... ... ... ... 在xp系统下,junction命令要用微软开发的小程序 junction.exe实现,从http://live.sysinternals.com/可以下载。 现在Windows Vista之后的系统自带了mklink的功能。...

操作系统-进程(5)进程通信机制

交互式并发进程通过信号量及PV操作可以实现进程的互斥与同步,例如生产者-消费者就是一组相互协作的进程,它们通过信号量来协同工作,并引入有界缓冲区来存取。这种低级通信方式不方便而且局限性很大。 管程适用于高级程序设计编程,它把分散在各进程中的临界区集中统一管理,采用阻塞/唤醒+集中临界区和一次状态测试策略,提供了同步工具的一种新选择。 上述工具可以解决同步和...

《Unix/Linux系统编程》第八章学习笔记

第八章 使用系统调用进行文件操作 8.1系统调用 在操作系统中,进程以两种不同的模式运行,即内核模式和用户模式,简称Kmode和 Umode。在Umode中,进程的权限非常有限。它不能执行任何需要特殊权限的操作。特殊权限的操作必须在Kmode下执行。系统调用(简称syscall)是一种允许进程进入Kmode以执行Umode不允许操作的机制。复刻子进程、修改...

Linux基础知识:文件权限管理以及umask

1 文件/目录的权限 1.1 文件的权限 每个文件都有其所有者(u:user)、所属组(g:group)和其他人(o:other)对它的操作权限,a:all则同时代表这3者。权限包括读(r:read)、写(w:write)、执行(x:execute)。在不同类型的文件上读、写、执行权限的体现有所不同,所以目录权限和普通文件权限要区分开来。 在普通文件上:...

rsync详细配置

1 说在前面的话 rsync官方网站: https://www.samba.org/ftp/rsync/rsync.html rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。 rsync可以实现scp的远程拷贝(rsync不支持远程到远程的拷贝,但scp支持)、...