首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。
链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。
一、硬链接
硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode。可以用:ln命令来建立硬链接。语法:
ln [options] existingfile newfile
ln[options] existingfile-list directory
|
用法: 第一种:为”existingfile”创建硬链接,文件名为”newfile”。第二种:在”directory”目录中,为 ”existingfile-list”中包含的所有文件创建一个同名的硬链接。常用可选[options] –f 无论”newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。
下面举一些例子:
$ ls –il
13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 1 longcheng longcheng 57 8月 5 16:40 file2
$ ln file2 file2hard
$ ls –il
13058 -rwx - - - - - - 1 longcheng longcheng 48 8月 5 16:38 file1
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2
13059 -rwx - - - - - - 2 longcheng longcheng 57 8月 5 16:40 file2hard
|
注意在创建链接前,file1 显示的链接数目为1,创建链接后(1)file1和file1hard的链接数目都变为2;(2) file1和file1hard在inode号是一样的(3) file1和file1hard显示的文件大小也是一样。可见进行了ln命令的操作结果:file1和file1hard是同一个文件的两个名字,它们具 有同样的索引节点号和文件属性,建立文件file1的硬链接,就是为file1的文件索引节点在当前目录上建立一个新指针。如下图,你可以删除其中任何一 个,如rm file2 ,每次只会删除一个指针,
链接数同时减一,只有将所有指向文件内容的指针,也即链接数减为0时,内核才会把文件内容从磁盘上删除。当前目录逻辑结构:(不好意思图没有显示出来)。
还可以在不同目录,但同一文件系统中建立文件的硬链接。设file1、file2在目录/home/longcheng/dir1中,下面的命令,在/home/longcheng中建立file2的硬链接。
ln file2 /home/longcheng/file2hard
|
下面的程序,是将dir1目录中所有文件,在目录dir2中建立硬链接
$mkdir dir2
$ln /home/longcheng/dir1/* /home/longcheng/dir2
|
如果使用了 ln –f existingfile newfile,如果newfile已经存在,则无论原来newfile是什么文件,只用当前用户对它有写权限,newfile就成为exisitngfile的硬链接文件。
尽管硬链接节省空间,也是Linux系统整合文件系统的传统方式,但是存在一下不足 之处:(1)不可以在不同文件系统的文件间建立链接(2)只有超级用户才可以为目录创建硬链接。虽然很多树上说root用户可以创建,但是笔者在学习过程 中发现即使是root用户也不能创建,我的系统是Redhat,内核2.4、2.6都试过,在其他系统中不知道是不是可以。
分享到:
相关推荐
在Linux操作系统中,文件管理是核心功能之一,而硬链接和软链接是文件系统中非常重要的概念,它们提供了文件共享和访问的灵活方式。本文主要介绍这两种链接的区别和使用。 首先,每个文件在Linux中都有一个唯一的...
Linux 软链接和硬链接的区别 Linux 链接概念是 Linux 操作系统中的一种文件系统机制,允许用户创建多个文件名指向同一个文件或目录。...了解硬链接和软链接的区别对 Linux 操作系统的使用和管理非常重要。
在Linux操作系统中,链接是文件系统的一个重要特性,它允许用户通过不同的路径访问同一个文件。主要分为两种类型:软链接(也称为符号链接)和硬链接。这两种链接方式各有特点,适用场景不同。 **硬链接** 硬链接是...
Linux操作系统中,文件的链接是一种将文件的不同名称关联起来的技术,这种技术分为两种主要类型:硬链接(HardLink)和符号链接(SymbolicLink),也就是我们常说的软链接。通过实际操作演示,可以更直观地理解这两...
Linux 操作系统中有两种类型的链接:硬链接和软链接。了解硬链接和软链接的区别和使用场景对于 Linux 系统管理员和开发者非常重要。 硬链接(Hard Link) 硬链接是一种文件系统中的节点(inode),它是已存在文件...
此外,`cat`、`tac`、`more`、`less`可查看文件内容,`ln`创建软链接或硬链接,`whereis`和`find`帮助查找文件,`grep`在文件中搜索特定字符串。`pwd`显示当前工作目录,`cd`切换目录,`mkdir`和`rmdir`创建和删除...
Linux操作系统基础教程主要涵盖Linux操作系统的基本概念、安装方式、常用命令、系统目录结构、文件链接、磁盘挂载、用户组管理、文件权限与目录权限、shell脚本、文件查找和比较工具,以及网络通信和编译工具。...
Linux中的EXT4、XFS等文件系统的结构、挂载、卸载、文件权限、硬链接和软链接等知识是课程的重点。 5. **设备驱动**:设备驱动程序使操作系统能够控制硬件设备。理解I/O模型(如同步、异步、中断驱动I/O)以及编写...
Linux操作系统是全球最广泛使用的开源操作系统之一,尤其在服务器领域占据主导地位。学习Linux操作系统对于理解计算机底层工作原理和提升系统管理能力至关重要。以下是一些关于Linux操作系统的重要知识点: 1. **...
与硬连接相对应,Lnux系统中还存在另一种连接,称为符号连接,也叫软连接。软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的...
在Linux操作系统中,文件链接是一种重要的文件管理机制,它允许通过不同的路径访问同一个文件。主要分为两种类型:硬链接(Hard Link)和符号链接(Symbolic Link),它们各自具有独特的特性和用途。 首先,硬链接...
### 软链接与硬链接 #### 一、引言 在Linux系统中,链接机制是一种非常实用且高效的功能,它允许用户通过不同的方式访问同一个文件。根据链接方式的不同,可以将链接分为硬链接(Hard Link)和软链接(符号链接,...
同时,也会涉及文件权限、硬链接和软链接等内容。 **6. 存储管理** “linux 06存储管理.ppt”将探讨内存管理,包括物理内存分配、交换、页表机制,以及虚拟内存的使用。此外,还会讲解磁盘I/O和文件缓存的工作原理...
文件I/O操作、文件权限、硬链接与软链接、挂载与卸载等是其主要特性。 5. **设备驱动**:Linux支持广泛的硬件设备,设备驱动程序作为操作系统与硬件之间的接口,实现数据传输和设备控制。理解字符设备、块设备和...
《Linux操作系统分析与实践》是北京大学相关课程的教学资料,涵盖了操作系统的核心概念以及在Linux环境下的具体实现。本课程深入浅出地介绍了Linux操作系统的基本架构,包括概述、计算机硬件基础、进程管理、内存...
### Linux中的软链接与硬链接详解 #### 一、引言 在Linux系统中,链接是一种非常实用且常见的文件管理方式。它可以帮助用户更高效地组织文件系统,并提高存储空间的利用率。链接有两种类型:硬链接(Hard Link)和...
《深度探索Linux操作系统:系统构建和原理...此外,《深度探索Linux操作系统:系统构建和原理解析》还对编译链接技术(尤其是动态加载和链接技术)和图形系统进行了原理性的探讨,这部分内容非常珍贵。 全书一共8章。
Linux使用的是EXT系列文件系统,课件会介绍文件系统的层次结构、文件权限、硬链接和软链接的区别,以及如何进行文件的备份和恢复。掌握文件系统原理对于理解和处理数据存储问题大有裨益。 设备驱动程序是连接硬件和...
### Linux操作系统实战(Ubuntu)知识点总结 #### 第一章:操作系统基础概念 - **操作系统定义**:操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件。 - **早期...
在Linux操作系统中,链接文件是文件系统的一个重要特性,它为用户提供了一种便捷的方式来访问同一份数据的不同路径。本教程适用于Linux初学者,旨在详细解释软链接和硬链接的概念、特点以及如何创建这两种链接。 ...