Bootstrap

Linux面试常考(面经总结)

1.软连接与硬连接的区别

软链接和硬链接的区别主要有:概念、inode、文件属性、创建方式和限制、链接数目

1) 概念

   硬链接就是一个文件的一个或多个文件名。所谓链接无非是把文件名和计算机文件系统使用的节点号链接起来。可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。

   软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。

2) inode

   硬链接源文件和链接共用一个 inode 号,就像一个文件有多个文件名,说明它们是同一个文件,删除一个硬链接文件并不影响其他有相同 inode 号的文件。

   软链接源文件和链接文件拥有不同的 inode 号,表明它们是两个不同的文件。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。

3) 文件属性

   硬链接没有写出来,因为本质上硬链接文件和源文件是完全平等关系。

   软链接明确写出了是链接文件

4)创建方式和限制

   硬链接只能对已存在的文件进行创建,硬链接不支持跨文件系统建立。

   软链接可对不存在的文件或目录创建,软链接支持跨文件系统建立。

5)链接数目

   硬链接文件显示的链接数目跟源文件是一致的。

   软链接文件显示的链接数目不会增加,文件大小是不一样的。

延伸阅读

硬链接和软链接创建都是使用 ln 指令,默认创建的是硬链接,

```bash
ln hello.txt link_hello.txt        # 创建硬链接
ln -s hello.txt link_hello.txt    # 创建软链接

2.Linux常用命令

;