`

Linux下的softlink和hardlink

 
阅读更多

Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link)

创建命令:
ln -s softlink destfile/directory   #建立软连接 
ln hardlink destfile                    #建立硬连接

inode
在Linux系统中,内核为每一个新创建的文件分配一个Inode,每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永 远指向本文件的具体存储位置。文件属性保存在inode里,在访问文件时,inode被复制到内存在,从而实现文件的快速访问。系统是通过inode来定 位每一个文件。

硬链接(hard link)
硬链接实际上是一个指针,指向源文件的inode,系统并不为它重新分配inode。硬连接不会建产新的inode,硬连接不管有多少个,都指向的是同一 个inode节点,只是新建一个hard link会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实就是引用 计数的概念)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。

软链接(soft link)
软链接最直观的解释:相当于Windows系统的快捷方式,是一个独立文件(拥有独立的inode,与源文件inode无关),该文件的内容是源文件的路 径指针,通过该链接可以访问到源文件。所以删除软链接文件对源文件无影响,但是删除源文件,软链接文件就会找不到要指向的文件(可以类比Windows上 快捷方式,你点击快捷方式可以访问某个文件,但是删除快捷方式,对源文件无任何影响)。

区别
1. 软链接和源文件操作权限不一样;硬链接与源文件操作权限完全一致。
2. 软链接可以跨文件系统(分区);由于inode的限制以及文件系统的可卸载性,硬连接不容许跨文件系统。
3. 软连接可以对一个不存在的文件名进行连接;硬链接不可以。
4. 软连接可以对目录进行连接;硬链接不可以。

分享到:
评论

相关推荐

    linux下oracle10安装准备和设置

    ### Linux 下 Oracle 10g 安装准备与设置 #### 一、概述 本文将详细介绍如何在 Ubuntu 操作系统上进行 Oracle 10g 的安装准备工作,包括系统选择、安装必要的软件包、用户组及用户的创建、系统配置文件的调整以及...

    Linux 终端命令基础.pdf

    - 软链接(soft link)或符号链接(symbolic link):软链接则像一个快捷方式,它指向另一个文件的位置。删除原始文件后,软链接会失效。 打包和压缩是处理文件的常见操作,Linux中使用 `tar` 命令进行文件打包,...

    LINUX与UNIX.Shell编程指南

    符号链接有两种类型:软链接(Soft Link,也称符号链接)和硬链接(Hard Link)。软链接不共享数据,而硬链接则共享数据。 #### 二、文件类型与权限 在Linux和UNIX系统中,文件类型决定了如何处理文件以及可以对其...

    linux教程——很使用的那种

    linux分为:redhat linux系列和debian系列。 X Window是一种协议。 unix图形环境是CDE:common desktop environment通用桌面环境。 linux系统结构:硬件、内核层、shell层、应用层、用户。 在安装linux的时候,会...

    linux 硬链接和软链接深入理解.docx

    硬链接(Hard Link) 硬链接是一种文件系统中的节点(inode),它是已存在文件的另一个名字。硬链接文件指向的是 inode,修改其中一个,连接的文件同时被修改。对硬链接文件进行读写和删除操作时,效果和软链接相同...

    RH033Linux基础笔记九-文件系统和TAR的打包压缩介绍.pdf

    硬链接(Hard Link)是一种文件链接方式,它是指多个文件名指向同一个物理地址。硬链接文件完全等同于原文件,原文件名和连接文件名都指向相同的物理地址。硬链接不能跨文件系统,也不能建立目录的硬链接。文件在...

    11-Linux操作系统面试题.docx

    硬链接(Hard Link)和软链接(Soft Link)都是 Linux 文件系统中的链接类型。硬链接是一种真正的文件副本,而软链接是一种符号链接。 二十四、RAID 是什么? RAID(Redundant Array of Independent Disks)是一种...

    linux 连接与索引节点

    根据实现方式的不同,链接可以分为硬链接(hard link)和软链接(soft link,或符号链接)。 - **硬链接**:硬链接使得一个文件可以具有多个文件名,这些文件名实际上是指向同一个索引节点的指针。这意味着修改任何...

    运维常用linux命令\shell技巧

    例如:`ln file1 file1_hardlink`(硬链接)和`ln -s file1 file1_softlink`(软链接)。 - **查看文件内容**: - `cat`用于显示文件内容。 - `less`和`more`用于分页查看大文件内容,其中`more`只能向下翻页,而`...

    Linux 硬链接与软链接

     Linux 中有两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接也称为符号链接(Symbolic Link)。  硬链接  硬链接其实已存在文件的另一个名字,链接与原来的文件并没有什么区别

    linux考试题分析.docx

    - `touch testfile`创建文件,`ln -s testfile softlink`创建软链接,`ln testfile hardlink`创建硬链接。 - `ls -li`查看inode编号、文件类型、权限、连接计数和大小等属性。 - `find`命令用于查找文件,如`...

    中文版Linux 链接工具

    ln file.txt hard_link_to_file ``` 创建软链接的语法类似,但需要加上`-s`选项: ```bash ln -s [选项] 目标文件 链接名 ``` 如需创建一个指向`file.txt`的软链接,命令将是: ```bash ln -s file.txt soft_link_to...

    linux文件系统基础知识(笔记总结版).pdf

    Linux文件系统是操作系统的核心组成部分,它负责管理和组织磁盘上的数据,使得用户和应用程序能够高效地存储和访问信息。在Linux中,文件系统不仅仅是存放文本和程序的地方,它还包含了元信息、索引节点以及多种文件...

    linux考试题分析.pdf

    创建文件`touch testfile`,创建软链接`ln -s testfile softlink`,硬链接`ln testfile hardlink`。查看属性用`ls -li`。创建file1和file2并移动,使用`mv file1 file2 /tmp`。 5. 查找命令与文件:查找命令位置用`...

    linux基础命令使用集锦,不是太全,还有文档

    ln -s anaconda-ks.cfg anaconda-ks.cfg.softlink ``` - **说明**:`ls -l ~`列出root用户家目录下的所有文件;`ln`创建硬链接;`ln -s`创建软链接。 2. **使用dd命令创建一个50M大小的文件,创建一个30M大小的...

    linux复习,秋招,春招,面试

    ln -s /path/to/original_file /path/to/soft_link ``` #### 三、硬链接与软链接的区别 - **数据指向**:硬链接指向同一inode的不同文件名;软链接则是指向另一个文件路径名的文件。 - **删除行为**:删除硬链接...

    区分Linux硬链接与软链接

    主要分为两种类型:硬链接(hard link)和软链接(soft link),也称作符号链接(symbolic link)。这两种链接方式各有特点,适用于不同的场景。 硬链接,顾名思义,是一种“硬性”的连接方式。它通过文件系统的...

    linux-RHEL7-2.docx

    Linux操作系统下的存储结构主要包括:文件系统、inode、block 和 superblock。理解这些概念对于管理存储资源至关重要。 - **文件系统(File System)**:是组织数据的方式,如ext4、XFS等。 - **inode(inode)**:用于...

Global site tag (gtag.js) - Google Analytics