Linux快速入门-Linux文件系统管理

Linux文件系统管理

  • [1. Linux文件系统概述](#1. Linux文件系统概述)
    • [1.1 文件系统概念](#1.1 文件系统概念)
    • [1.2 用户权限差异](#1.2 用户权限差异)
    • [1.3 文件命名规范](#1.3 文件命名规范)
  • [2. Linux文件系统分类及特点](#2. Linux文件系统分类及特点)
    • [2.1 ext2(第二扩展文件系统)](#2.1 ext2(第二扩展文件系统))
    • [2.2 ext3(第三扩展文件系统)](#2.2 ext3(第三扩展文件系统))
    • [2.3 ext4(第四扩展文件系统)](#2.3 ext4(第四扩展文件系统))
    • [2.4 RAMFS(内存文件系统)](#2.4 RAMFS(内存文件系统))
    • [2.5 NFS(网络文件系统)](#2.5 NFS(网络文件系统))
    • [2.6 其他文件系统](#2.6 其他文件系统)
  • [3. Linux文件系统结构](#3. Linux文件系统结构)
  • [4. Linux文件及目录访问权限设置](#4. Linux文件及目录访问权限设置)
    • [4.1 文件类型与一般权限](#4.1 文件类型与一般权限)
    • [4.2 **特殊权限**](#4.2 特殊权限)
    • [4.3 改变访问权限命令** `chmod`](#4.3 改变访问权限命令** chmod)
    • [4.4 改变文件/目录拥有者命令*`chown`](#4.4 改变文件/目录拥有者命令*chown)
  • [5. 文件管理器改变文件/目录权限](#5. 文件管理器改变文件/目录权限)

1. Linux文件系统概述

1.1 文件系统概念

文件系统是操作系统管理存储设备(如硬盘、SSD等)上数据和文件的方式。它定义了如何存储、组织和访问数据。Linux的文件系统采用单一的树形结构,从根目录(/)开始,所有文件和目录都通过这个树形结构来访问。根目录(/)下面包含各种系统目录和用户文件。

Linux文件系统的设计与其他操作系统不同,它并不区分物理设备,而是将所有内容通过树形目录组织。例如,硬盘分区、挂载的外部设备、甚至网络共享的目录,都通过挂载点与根目录统一管理。Linux通过文件系统路径来访问数据,无论数据存储在何处。

1.2 用户权限差异

Linux中根据用户的身份和访问权限划分为以下几类:

  • 超级管理员(root):root用户具有系统的所有权限,能访问系统中的所有文件,并进行任何操作。root用户是最强大的账户。
  • 普通用户 :普通用户只能访问和操作自己有权限的文件,无法修改系统关键文件。普通用户有一个主目录(通常为/home/用户名),并可以在其中创建文件和目录。
  • 同组用户:指与文件所有者属于同一组的用户,通常拥有部分访问权限。
  • 其他用户:指与文件所有者和同组用户都没有关系的其他系统用户。

1.3 文件命名规范

Linux对文件名有一定的命名规范:

  • 文件名长度:Linux文件名最长可以是255个字符。
  • 允许字符 :可以使用字母、数字、下划线(_)、点(.)等字符,但不能包含空格、特殊字符(如*?|等),并且不能以点(.)开头,除非该文件是隐藏文件。
  • 文件类型识别:Linux并不依赖文件扩展名来识别文件类型,而是根据文件头内容(即文件的魔数)来判断类型。例如,二进制文件通常以特定字节开头(如ELF格式),而文本文件则不包含这些字节。

2. Linux文件系统分类及特点

Linux支持多种文件系统类型,每种文件系统具有其特定的功能和适用场景。以下是一些常见的Linux文件系统:

2.1 ext2(第二扩展文件系统)

  • 特点:ext2是最早广泛使用的Linux文件系统,具有较好的性能,但不支持日志功能。文件系统崩溃时可能会导致数据丢失。
  • 应用:适用于不需要高可靠性的环境,或者对文件系统稳定性要求不高的场合。

2.2 ext3(第三扩展文件系统)

  • 特点:ext3是在ext2的基础上加入了日志功能(journaling),使得在系统崩溃时能够恢复数据,增加了数据的安全性。
  • 应用:ext3在很多生产环境中得到了广泛应用,尤其是在需要较高数据安全性和可靠性的系统中。

2.3 ext4(第四扩展文件系统)

  • 特点:ext4是ext3的升级版,除了支持日志功能,还引入了更高效的文件分配算法、大文件支持(支持16TB的单个文件)以及更快的文件系统检查速度。
  • 应用:ext4是当前Linux系统中最常用的文件系统,适用于大多数桌面和服务器应用。

2.4 RAMFS(内存文件系统)

  • 特点:RAMFS是一种将文件存储在内存中的文件系统。由于数据存储在RAM中,因此速度非常快,但重启后会丢失所有数据。
  • 应用:适用于需要极高读写速度且不关心数据持久性的场合,如临时文件存储。

2.5 NFS(网络文件系统)

  • 特点:NFS允许不同计算机间共享文件系统。通过NFS,用户可以将远程计算机上的目录挂载到本地系统,使得远程文件像本地文件一样操作。
  • 应用:用于构建分布式文件系统,适用于需要跨多台机器共享文件的场合。

2.6 其他文件系统

除了上述文件系统,Linux还支持其他一些文件系统,如XFS(适用于大文件和高性能应用)、Btrfs(支持快照、数据校验等高级功能),以及专门为特定用途设计的文件系统。


3. Linux文件系统结构

Linux文件系统的结构呈树形,根目录/是所有文件和目录的起点。以下是一些常见的系统目录及其功能:

  • /etc:存放系统的配置文件,如系统服务、用户账号信息等。
  • /bin :包含系统启动时所需的基本命令(如lscp等),这些命令是系统的核心命令。
  • /sbin :包含系统管理员需要用到的命令,如shutdownreboot等。
  • /home :每个用户的主目录。普通用户的文件都存放在自己的主目录中,例如/home/username
  • /var:存放经常变化的数据文件,如日志文件、邮件、缓存等。
  • /tmp:存放临时文件,通常在系统重启时清空。

这种结构使得文件和目录管理更加清晰和有序,方便系统维护和数据访问。


4. Linux文件及目录访问权限设置

4.1 文件类型与一般权限

每个文件在Linux中都有类型和权限。文件类型通过第一字符表示:

  • -:普通文件
  • d:目录
  • l:符号链接

文件的权限通过后三位字符表示。每三位字符代表一个权限组,分别为:

  • 第一组:文件所有者权限
  • 第二组:同组用户权限
  • 第三组:其他用户权限

每组三个字符表示权限,r表示读权限,w表示写权限,x表示执行权限。权限可以使用数字表示:

  • r(读)= 4
  • w(写)= 2
  • x(执行)= 1

例如,rw-r--r--表示:

  • 所有者:读和写权限
  • 同组用户:只读权限
  • 其他用户:只读权限

4.2 特殊权限

  • SUID(SetUID):当设置SUID时,执行该程序的用户将临时获得程序所有者的权限。
  • SGID(SetGID):当设置SGID时,执行该程序的用户将临时获得程序所属组的权限。
  • Sticky位:当设置Sticky位时,只有文件的所有者可以删除该文件。

这些特殊权限可以通过chmod命令设置,用于更细粒度的权限管理。

4.3 改变访问权限命令** chmod

chmod命令用于修改文件或目录的权限。使用符号模式和数字模式都可以设定权限:

bash 复制代码
chmod u+x file.sh   # 给所有者添加执行权限
chmod 755 file.sh   # 使用数字模式设置权限

4.4 改变文件/目录拥有者命令*chown

chown命令用于修改文件的所有者和用户组:

bash 复制代码
chown root:root file.txt   # 更改文件的所有者和组

5. 文件管理器改变文件/目录权限

在Linux桌面环境中,如Ubuntu,用户可以通过图形界面来改变文件或目录的权限。操作方式通常是:

  1. 右键点击文件或目录,选择"属性"。
  2. 在"权限"标签下,用户可以查看和修改所有者、组以及权限设置。

这种图形化操作为不熟悉命令行的用户提供了便捷的权限管理方式。


相关推荐
平行云PVT12 小时前
数字孪生信创云渲染技术解析:从混合信创到全国产化架构
linux·unity·云原生·ue5·图形渲染·webgl·gpu算力
无敌昊哥战神12 小时前
【LeetCode 257】二叉树的所有路径(回溯法/深度优先遍历)- Python/C/C++详细题解
c语言·c++·python·leetcode·深度优先
xdscode13 小时前
Linux云服务器安装openclaw,并对接飞书通道
linux·服务器·飞书·openclaw
lswzw13 小时前
win11家庭版 安装 openclaw
服务器
Percep_gan13 小时前
Linux中安装Redis,很详细
linux·运维·redis
七七powerful13 小时前
运维养龙虾--AI 驱动的架构图革命:draw.io MCP 让运维画图效率提升 10 倍,使用codebuddy实战
运维·人工智能·draw.io
枕书13 小时前
实战记录:如何使用 Docker 一键部署长亭 PandaWiki 智能知识库
运维·docker·容器
LegendNoTitle13 小时前
计算机三级等级考试 网络技术 选择题考点详细梳理
服务器·前端·经验分享·笔记·php
2401_8772742413 小时前
从匿名管道到 Master-Slave 进程池:Linux 进程间通信深度实践
linux·服务器·c++
m0_4886333213 小时前
C语言中枚举类型变量的定义、赋值及使用方法全解析
c语言·枚举类型·实例分析·变量定义·赋值使用