目录结构与文件系统

Pre*_*raj 11 filesystems directory-structure proc

目录结构文件系统有什么区别?
Unix/Linux目录文件系统如下所示:

下面两个目录显然是我们认识的目录。

  /home/abc/xyzdir1 --is a directory
  /home/abc/xyzdir2 -- is a directory
Run Code Online (Sandbox Code Playgroud)

以下三个示例都在说文件系统。

/proc -- is a file system
/ -- is a file system
/bin -- is a file system
Run Code Online (Sandbox Code Playgroud)

如何从上述代码片段中确定哪个是文件系统目录

Bru*_*ger 8

人们不会太小心地使用文件系统。在您的示例中,我会说/,/bin/proc是文件系统,因为整个分区(如/dev/sdb1)都安装在这些目录上。我的 Arch linux 系统没有/bin作为文件系统,所以这个例子并不完美,但是......

% ls -lid /proc /home /boot /
2 drwxr-xr-x  17 root root 4096 Feb 24 12:12 //
2 drwxr-xr-x   4 root root 4096 May 16 14:29 /boot/
2 drwxr-xr-x   5 root root 4096 Mar 14 18:11 /home/
1 dr-xr-xr-x 116 root root    0 May 16 17:18 /proc/
Run Code Online (Sandbox Code Playgroud)

2 号 inode 传统上是整个磁盘文件系统的“根”inode(这是该短语的另一种用法)。//boot并且/home都具有 inode 编号 2,而/proc完全由内核提供并且不存在磁盘上的 inode 具有 inode 1。这些 inode 编号表示整个磁盘文件系统或虚拟文件系统使用该名称安装。

句子“/home/abc/xyzdir1是一个目录”基本上意味着没有使用该名称挂载磁盘文件系统。如果您ls -lid在目录上执行相同的命令,您会得到如下内容:

 % ls -lid /home/bediger/src
3670039 drwxr-xr-x 29 bediger bediger 4096 May 17 19:57 /home/bediger/src/
Run Code Online (Sandbox Code Playgroud)

inode 编号 3670039 就是从/home.

您还可以通过调用该mount命令来查找文件系统。它列出了所有已安装的文件系统及其安装位置。