Linux的文件系统

如题所述

第1个回答  2022-06-03

Linux的文件类型分为普通文件、d目录文件、b块设备文件、c字符设备文件(串口设备)、s套接字文件(特殊文件scoket)、l链接文件。
例如下图,d开头的是目录文件,-开头的是普通文件,l开头的是链接文件

以touch,cp,tar,echo,cat等工具命令创建的文件都是普通文件,普通文件又分为以下三种:
1)纯文本文件:文件内容可以直接读取到数据(ASCL text)
2)二进制文件:linux中可执行文件(命令)
3)数据格式文件(一种特殊的文件 data)

ls -ld可以显示所有的目录文件

linux系统中的链接文件与WIN系统的快捷方式基本差不多,linux中链接文件又分为硬链接与软链接。
硬链接: 是指通过索引节点来进行链接,在系统中多个文件各指向同一个索引节点,是可以的正常允许的,这种情况下的文件被称之为硬链接。实际生产环境中用户可以通过硬链接的方式来防止误删重要数据。
ln 源文件名 链接文件名 创建硬链接文件

软链接: 也称符号链接(快捷方式),实际上它是一个文本文件,它存储着指向源文件链接的位置信息。
ln -s 源文件名 链接文件名 创建软链接文件

另外要注意目录是不可以创建硬链接文件的,但可创建软链接文件,如下图:

关于文件的软链接和硬链接,总结起来有以下四种情况:
1)删除源文件时,硬链接文件正常使用,软链接文件就失效了。
2)删除硬链接时,对源文件与软链接无影响。
3)删除软链接时,对源文件与硬链接无任何影响。
4)删除源文件、硬链接文件后,整个文件就会被删除。

对于目录的软链接和硬链接,总结如下:
1)目录是不可创建硬链接文件,可以创建软链接文件。
2)目录的软链接是生产环境中非常实用的。
3)所有目录都有一个硬链接“.”,目录硬链接是不可跨越文件系统的。

Linux文件的扩展名主要是为了方便区分不同的文件,和windows的强类型扩展名不一样。
1、.tar .tar.gz .tgz .zip 这类表示压缩文件
2、.sh 表示shell脚本文件
3、.html .php .jsp 网页文件
4、.conf 系统服务的配置文件
5、.rpm 表示RPM安装包文件

每一个文件都有自己的属性信息,它的属性信息包括:索引节点、文件类型、权限信息、所有者、所属组、最近修改时间、大小、文件名或目录名、硬链接数量。
我们以下图的cron.daily这个文件为例,d表示文件类型是目录文件,rwxr-xr-x这个表示权限,第一个rwx表示的文件所有者用户的权限,第二个r-x表示的是所属组的权限,第三个r-x表示的是其他用户的权限。2表示硬链接数量,第一个root表示文件所有者是root,第二个root表示所属组,42表示文件大小,May 27 2021表示最后的修改时间,corn.daily是文件名称。

其中的索引节点编号需要通过ls -i才能看到,在最左边显示的那一串数字,如下图所示:

第2个回答  2024-04-08
在Linux中,文件系统是一种用于控制数据在存储设备上如何存储和检索的方法。它组织和管理磁盘上的文件和目录,并定义了文件的存储结构。文件系统负责跟踪文件的位置、大小、权限、创建和修改时间等信息。Linux支持多种文件系统类型,每种类型都有其独特的特性和用途。
文件系统的作用
组织数据:文件系统提供了一个层次化的目录结构,使得用户和程序能够方便地存取和管理文件。
数据保护:通过文件权限和所有权机制,文件系统可以保护数据不被未授权访问。
磁盘空间管理:文件系统负责分配和回收磁盘空间,确保磁盘空间的有效利用。
数据持久性:文件系统确保即使在系统重启后,文件数据也能保持不变。
数据备份与恢复:文件系统提供了备份和恢复数据的机制,有助于数据的安全性和完整性。
常用的Linux文件系统
1、ext2/ext3/ext4:
ext2(Second Extended Filesystem)是早期Linux系统上使用的主要文件系统。
ext3引入了日志功能,提高了数据的可靠性和稳定性。
ext4是目前最常用的Linux文件系统,它提供了更好的性能、更大的存储能力和更好的可靠性。
2、XFS:
XFS是一个高性能的文件系统,特别适合处理大量数据和高并发的文件操作。它支持在线扩展、压缩和加密等功能。
3、Btrfs:
Btrfs(B-tree Filesystem)是一个新型的文件系统,旨在实现高级功能,如快照、动态卷管理和数据完整性检查。
4、FAT32:
FAT32(File Allocation Table 32)是一个与Windows兼容的文件系统,通常用于USB闪存驱动器和其他可移动媒体。
5、NTFS:
NTFS(New Technology File System)是Windows
NT及其后续版本使用的文件系统。Linux可以通过特定的驱动程序来读写NTFS格式的分区。
6、ReiserFS:
ReiserFS是一个专为Linux设计的文件系统,以其高效的存储小文件和快速的目录操作而闻名。
7、JFS:
JFS(Journaled File System)是由IBM开发的文件系统,它提供了日志功能和良好的性能,特别适合大型文件系统。
8、SquashFS:
SquashFS是一个压缩的只读文件系统,常用于Live CD/DVD、嵌入式系统和压缩的软件包分发。
9、tmpfs:
tmpfs是一个基于内存的文件系统,用于存储临时文件。它将文件存储在RAM中,提供极快的访问速度,但在系统重启后不会保留数据。
相似回答