首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目录结构与文件系统

目录结构与文件系统
EN

Unix & Linux用户
提问于 2015-05-18 12:18:31
回答 4查看 12.8K关注 0票数 10

目录结构和文件系统有什么区别?

Unix/Linux目录和文件系统如下所示:

下面两个目录显然我们知道目录。

代码语言:javascript
复制
  /home/abc/xyzdir1 --is a directory
  /home/abc/xyzdir2 -- is a directory

以下三个示例说明了文件系统。

代码语言:javascript
复制
/proc -- is a file system
/ -- is a file system
/bin -- is a file system

如何从上面的代码片段中识别哪个是文件系统和一个目录?

EN

回答 4

Unix & Linux用户

回答已采纳

发布于 2015-05-18 12:45:18

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

代码语言:javascript
复制
% 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/

Inode编号2传统上是整个磁盘文件系统的“根”inode (这是短语的其他用法)。//boot/home都有inode编号2,而完全由内核显示且没有磁盘上存在的/proc具有inode 1,这些inode编号表示使用该名称挂载了整个磁盘文件系统或虚拟文件系统。

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

代码语言:javascript
复制
 % ls -lid /home/bediger/src
3670039 drwxr-xr-x 29 bediger bediger 4096 May 17 19:57 /home/bediger/src/

Inode编号3670039就是inode在/home (在我的机器上)挂载的磁盘上文件系统中分配的所有内容。

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

票数 8
EN

Unix & Linux用户

发布于 2015-05-18 18:56:54

在我看来,UNIX意义上的文件系统是实现目录树(目录结构)的一种方式,或者更准确地说,是实现UNIX文件系统API的一种方式。根文件系统是由一个特定的实现支持的,每当您输入挂载点目录时,都会输入一个由不同的内容支持的子树。

接口总是相同的,但在一种情况下,后端有一个特定的磁盘分区,在另一种情况下,会有一个程序甚至从未写入存储设备。proc文件系统将由公开内核内部的软件支持;tmpfs将由写入RAM的软件备份,其他文件系统可能会写入网络或其他地方。

在非UNIXy意义上,文件系统是组织数据存储的一种方式。ext4btrfsfatntfs是这个意义上的文件系统,但也是UNIXy意义上的文件系统--它们实现了文件系统API。proc不会在这个范围内分类为一个文件系统,因为它没有组织数据存储。

TL;DR:

  • 目录结构/树=前端
  • 文件系统=后端
票数 4
EN

Unix & Linux用户

发布于 2017-02-22 02:23:35

文件系统是一种逻辑组织和存储大量数据的方法,使系统易于管理。文件系统由文件、与其他文件的关系以及每个文件的属性(文件类型、文件名、文件大小、文件所有者、文件时间戳)组成。

目录:例如,Unix文件系统主要由文件和目录组成。目录是可能包含其他文件的特殊文件。最上面的目录是/ (斜杠),目录的正下方是系统目录.undefined

Linux的/

/bin包含系统上所有用户使用的二进制可执行文件。

/boot包含在系统启动过程中使用的文件。

/dev包含表示系统上设备的文件,如硬盘驱动器、光盘驱动器和网络接口。

/etc包含系统和已安装软件的配置文件。

常规用户主目录的/home位置

/lib包含系统上的程序使用的库文件。

/mnt目录用于临时挂载文件系统,用于DVD、USB驱动器.

/opt包含不属于核心系统的可选软件。

/proc是"process“的缩写,内核伪(即虚拟)文件系统包含关于正在运行的进程和系统本身的信息,例如'/proc/cpuinfo‘、'/proc/meminfo’。

超级用户根的/root主目录

/sbin包含系统管理员使用的二进制可执行文件。

/tmp临时文件保存在这里

/usr包含用户和系统管理员使用的各种文件和目录,如文档、库文件和其他资源。

/var包含随时间变化的变量文件,例如日志文件和假脱机目录。

/srv目录通常用于存储系统提供的数据,如网页、电子邮件和文件传输数据。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/204068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档