Ubuntu文件系统类型


文件系统类型

在windows中我们常见的磁盘格式有fat16、fat32ntfs。但是windows的文件管理显得有些赘余,为打开一个文件需要打开n个地方,在一个角落里找。而且windows本身对于其他系统的文件格式就更差了,没有听说在windows里打开ext3或者mac 日志式。windows是一个封闭的系统。

在ubuntu中其文件系统广泛使用ext3的文件格式,从而实现了将整个硬盘的写入动作完整的记录在磁盘的某个区域上。而且在ubuntu中可以实现主动挂载windows的文件系统,并以只读的方式访问磁盘中windows系统上的文件。

我们看以一下linux的高兼容的文件管理,看下图:

Ubuntu文件系统类型 - Leader Genius - 天道酬勤

我们可以看到在ubuntu中磁盘文件系统网络文件系统都可以非常方便的使用,而屏蔽了网络和本地之间的差异。在ubuntu中所有的文件都是基于目录的方式存储的。一切都是目录,一切都是文件。

文件系统结构

/是一切目录的起点,如大树的主干。其它的所有目录都是基于树干的枝条或者枝叶。在ubuntu中硬件设备如光驱、软驱、usb设备都将挂载到这颗繁茂的枝干之下,作为文件来管理。

Ubuntu文件系统类型 - Leader Genius - 天道酬勤

你自己的用户目录建立在/home/用户名之下。每一个用户名都在home下建立一个以用户名命名的个人主文件夹。比较我的账户名为sun,所以在home下我的用户主文件夹为/home/sun./home是所有用户的家

/home/sun/software/linux.chm像这样的路径明确的指出了文件所在的具体位置,这种路径我们叫做绝对路径。而相对于我们在主文件夹文件夹“桌面”既是相对路径,因为我们都清楚它的位置。比如说“上海市南京西路123号”这就相当于绝对路径,“天安门”我们都知道它的位置,所以它就相当于相对路径。

文件基本目录

Ubuntu文件系统类型 - Leader Genius - 天道酬勤

/bin   bin是Binary的缩写。存放系统中最常用的可执行文件(二进制)。

/boot 这里存放的是linux内核和系统启动文件,包括Grub、lilo启动器程序。

/dev dev是Device(设备)的缩写。该目录存放的是Linux的外部设备,如硬盘、分区、键盘、鼠标、usb等。

/etc 这个目录用来存放所有的系统管理所需要的配置文件和子目录,如passwd、hostname等。

/home   用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/lib   存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件。

/lost+found    这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些零散文件。

/media    ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件。

/mnt   作为被挂载的文件系统得挂载点。

/opt   作为可选文件和程序的存放目录,主要被第三方开发者用来简易安装和卸载他们的软件。

/proc   这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这里存放所有标志为文件的进程,比较cpuinfo存放cpu当前工作状态的数据。

/root   该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin    s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。

/ srv 存放系统所提供的服务数据。

/sys 组自豪系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。

/tmp 这个目录是用来存放一些临时文件的,所有用户对此目录都有读写权限。

/usr   存放与系统用户有关的文件和目录。

Ubuntu文件系统类型 - Leader Genius - 天道酬勤

/usr 目录具体来说:

/usr/X11R6    存放X-Windows的目录;

/usr/games     存放着XteamLinux自带的小游戏;

/usr/bin       用户和管理员的标准命令;

/usr/sbin   存放root超级用户使用的管理程序;

/usr/doc   Linux技术文档;

/usr/include     用来存放Linux下开发和编译应用程序所需要的头文件,for c 或者c++;

/usr/lib   应用程序和程序包的连接库;

/usr/local 系统管理员安装的应用程序目录;

/usr/man   帮助文档所在的目录;

/usr/src     Linux开放的源代码;

/var 长度可变的文件,尤其是些记录数据,如日志文件和打印机文件。

Ubuntu文件系统类型 - Leader Genius - 天道酬勤

/var/cache   应用程序缓存目录;

/var/crash   系统错误信息;

/var/games 游戏数据;

/var/log   日志文件;

/var/mail 电子邮件;

/var/tmp   临时文件目录;

ubuntu 路径表示

1 . / 根目录,所有绝对路径的起点。目录的写法为:/**/**/**,比如说我的桌面的写法为:/home/sun/桌面。

2. ubuntu严格区分大小写空格,所以Sun和sun是两个不同的文件。

### Ubuntu 文件系统源码及相关实现细节 在 Linux 系统中,文件系统的实现是由内核负责的。因此,如果要查找 Ubuntu文件系统相关源码,实际上是在查看 Linux 内核的源码,因为 Ubuntu 使用的是标准的 Linux 内核。 #### 1. **Linux 内核中的文件系统** Linux 内核支持多种文件系统(如 ext4、XFS、Btrfs 等),这些文件系统的实现在内核源码树中有专门的目录结构。以下是常见的文件系统及其对应的路径: - `fs/ext4/`:ext4 文件系统的实现[^1]。 - `fs/xfs/`:XFS 文件系统的实现[^2]。 - `fs/btrfs/`:Btrfs 文件系统的实现[^3]。 对于 Ubuntu,默认使用的文件系统通常是 ext4,其核心逻辑位于上述提到的 `fs/ext4/` 路径下。 #### 2. **获取 Linux 内核源码** 可以通过以下方式获取最新的 Linux 内核源码并研究其中的文件系统实现: ##### 方法一:克隆官方 Git 仓库 ```bash git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git cd linux ``` 此方法适用于希望跟踪最新开发动态的研究者或开发者。 ##### 方法二:下载特定版本的压缩包 访问 [kernel.org](https://www.kernel.org/) 并选择适合的稳定版内核进行下载。例如: ```bash wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.gz tar -xzvf linux-6.1.tar.gz cd linux-6.1 ``` Ubuntu 基于某个稳定的 Linux 版本构建自己的内核,通常可以在 Launchpad 上找到具体的分支信息。例如: ```bash git clone https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal ``` 这将克隆用于 Ubuntu Focal (20.04) 的定制化内核源码。 #### 3. **Ubuntu 中的自定义修改** 除了基础的 Linux 内核外,Ubuntu 可能会对某些部分进行额外调整以优化性能或兼容硬件设备。这些改动一般记录在其维护的 Git 仓库中。通过分析该仓库可以了解 Ubuntu文件系统的具体增强或修复。 #### 4. **调试与编译** 为了验证或扩展文件系统功能,可能需要重新编译内核。在此过程中需要注意依赖项配置问题。比如,在较新的 Ubuntu 发行版上可能会遇到缺少必要库的情况,解决方案已在其他文档中提及过。 #### 示例代码片段:检查当前挂载点所用文件类型 下面提供一段简单的脚本来展示如何快速确认各个分区正在运行哪种类别的存储格式。 ```python import os def get_file_systems(): with open('/proc/mounts', 'r') as f: lines = f.readlines() result = [] for line in lines: parts = line.split() device, mount_point, fs_type = parts[:3] result.append((device, mount_point, fs_type)) return result if __name__ == "__main__": file_system_info = get_file_systems() for info in file_system_info: print(f"Device: {info[0]}, Mount Point: {info[1]}, File System Type: {info[2]}") ``` 问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值