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

Linux文件系统管理

  • 1. Linux文件系统概述
    • 1.1 文件系统概念
    • 1.2 用户权限差异
    • 1.3 文件命名规范
  • 2. Linux文件系统分类及特点
    • 2.1 ext2(第二扩展文件系统)
    • 2.2 ext3(第三扩展文件系统)
    • 2.3 ext4(第四扩展文件系统)
    • 2.4 RAMFS(内存文件系统)
    • 2.5 NFS(网络文件系统)
    • 2.6 其他文件系统
  • 3. Linux文件系统结构
  • 4. Linux文件及目录访问权限设置
    • 4.1 文件类型与一般权限
    • 4.2 **特殊权限**
    • 4.3 改变访问权限命令** `chmod`
    • 4.4 改变文件/目录拥有者命令*`chown`
  • 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命令用于修改文件或目录的权限。使用符号模式和数字模式都可以设定权限:

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

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

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

chown root:root file.txt   # 更改文件的所有者和组

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

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

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

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494765.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工厂防静电监控系统设备静电监控仪的关键作用

在现代工业生产中,静电问题日益凸显,尤其是在电子、半导体、精密机械加工等领域,静电可能引发诸如电子元件击穿、产品吸附灰尘杂质、设备故障乃至火灾爆炸等严重后果。为了有效防控静电危害,工厂防静电监控系统应运而生&#xff0…

重温设计模式--状态模式

文章目录 状态模式(State Pattern)概述状态模式UML图作用:状态模式的结构环境(Context)类:抽象状态(State)类:具体状态(Concrete State)类&#x…

Java代码覆盖率super-jacoco

项目流程 项目架构 部署步骤 注意:一定要用Linux服务器部署,不要用Windows 准备Linux服务器环境 安装好JDK1.8 安装好git 安装和配置好Maven3.6,或3.6以下 安装MySQL数据库(尽量不用8版本,就用5.7、5.8版本&#xf…

Day1 苍穹外卖前端 Vue基础、Vue基本使用方式、Vue-router、Vuex、TypeScript

目录 1.VUE 基础回顾 1.1 基于脚手架创建前端工程 1.1.1 环境要求 1.1.2 脚手架创建项目 1.1.3 工程结构 1.1.4 启动前端服务 1.2 vue基本使用方式 1.2.1 vue 组件 1.2.2 文本插值 1.2.3 属性绑定 1.2.4 事件绑定 1.2.5 双向绑定 1.2.6 条件渲染 1.2.7 跨域问题 1.2.8 axios 1.…

重温设计模式--中介者模式

中介者模式介绍 定义:中介者模式是一种行为设计模式,它通过引入一个中介者对象来封装一系列对象之间的交互。中介者使得各个对象之间不需要显式地相互引用,从而降低了它们之间的耦合度,并且可以更方便地对它们的交互进行管理和协调…

Redis篇--常见问题篇7--缓存一致性2(分布式事务框架Seata)

1、概述 在传统的单体应用中,事务管理相对简单,通常使用数据库的本地事务(如MySQL的BEGIN和COMMIT)来保证数据的一致性。然而,在微服务架构中,由于每个服务都有自己的数据库,跨服务的事务管理变…

如何评估一个股票API接口

评估一个股票 API 接口的质量,可以从以下几个方面进行: 数据准确性 行情数据:实时价格、历史价格、成交量、成交额等数据应与证券交易所或权威金融数据提供商的官方数据高度一致,确保没有明显的错误。财务数据:企业的…

某集团GIF动态验证码识别

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 如有侵犯,请联系作者下架 本文识别已同步上线至OCR识别网站: http://yxlocr.nat300.top/ocr/other/16 最近某集团更新了验证码&#x…

数据库系统原理:数据恢复与备份策略

3.1可行性分析 开发者在进行开发系统之前,都需要进行可行性分析,保证该系统能够被成功开发出来。 3.1.1技术可行性 开发该《数据库系统原理》课程平台所采用的技术是vue和MYSQL数据库。计算机专业的学生在学校期间已经比较系统的学习了很多编程方面的知识…

CPU算法分析LiteAIServer裸土检测算法如何应用在农田科学管理中?

农田是农业生产的基础,是保障国家粮食安全和农业可持续发展的关键。随着人口增长和城市化进程的加快,农田保护和治理面临着前所未有的挑战。如今农田土壤依旧面临着巨大挑战: 1、‌土壤侵蚀‌:长期的风蚀、水蚀等自然因素&#x…

Marscode AI辅助编程

直接使用Marscode的云服务来开发,也是很方便的,不用担心配置环境的问题,很适合初步学习,在任何设备都能开发。 番茄钟 请你基于html、tailwind css和javascript,帮我设计一个“番茄时钟”。要求UI简洁美观大方&#x…

Debian 12 安装配置 fail2ban 保护 SSH 访问

背景介绍 双十一的时候薅羊毛租了台腾讯云的虚机, 是真便宜, 只是没想到才跑了一个月, 系统里面就收集到了巨多的 SSH 恶意登录失败记录. 只能说, 互联网真的是太不安全了. 之前有用过 fail2ban 在 CentOS 7 上面做过防护, 不过那已经是好久好久之前的故事了, 好多方法已经不…

idea2024创建JavaWeb项目以及配置Tomcat详解

今天呢,博主的学习进度也是步入了JavaWeb,目前正在逐步杨帆旗航,迎接全新的狂潮海浪。 那么接下来就给大家出一期有关JavaWeb的配置教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正…

Canoe E2E校验自定义Checksum算法

文章目录 一、添加 DBC文件二、导入要仿真的ECU节点三、编写 CAPL脚本1. 创建 .can 文件2. 设置counter递增3. 设置 CRC 算法,以profile01 8-bit SAE J1850 CRC校验为例 四、开始仿真五、运行结果CRC在线校验 当E2E的 CRC算法非常规算法,则需要自己编写代…

PyTorch 神经网络回归(Regression)任务:关系拟合与优化过程

PyTorch 神经网络回归(Regression)任务:关系拟合与优化过程 本教程介绍了如何使用 PyTorch 构建一个简单的神经网络来实现关系拟合,具体演示了从数据准备到模型训练和可视化的完整过程。首先,利用一维线性空间生成带噪…

【uni-app】2025最新uni-app一键登录保姆级教程(包含前后端获取手机号方法)(超强避坑指南)

前言: 最近在配置uni-app一键登录时遇到了不少坑,uni-app的配套文档较为混乱,并且有部分更新的内容也没有及时更改在文档上,导致部分开发者跟着uni-app配套文档踩坑!而目前市面上的文章质量也层次不齐,有的…

干货分享:ISO 20000认证的适用范围、认证资料清单、认证流程等问题详解

编辑:石芸姗 审核:贺兆普 在当今这个数字化时代,信息技术(IT)已成为企业运营与发展的核心驱动力。随着技术的不断进步和业务需求的日益复杂,企业对IT服务的质量、效率及安全性提出了更高要求。 信息技术服…

Element-plus表格使用总结

这里我使用的是Vue工程进行开发学习,安装需要通过包管理器进行下载 npm install element-plus --save 然后在main.js中配置文件即可使用,如果在引入index.css时没有提示,无需担心,直接写index.css即可导入样式。 Table表格 表格…

CNN和Transfomer介绍

文章目录 CNN和Transfomer介绍CNN和Transfomer的区别1. **基本概念**2. **数据处理方式**3. **模型结构差异**4. **应用场景区别** 自注意力机制1. **自注意力机制的概念**2. **自注意力机制的实现步骤**3. **自注意力机制的优势** Transformer结构组成1. **多头注意力层&#…

如何解决 ‘adb‘ 不是内部或外部命令,也不是可运行的程序或批处理文件的问题

在cmd中输入 adb ,显示 ‘adc‘ 不是内部或外部命令,也不是可运行的程序或批处理文件的问题 解决办法:在环境变量中添加adb所在的路径 1、找到 adb.exe 的所在的文件路径,一般在 Android 安装目录下 \sdk\platform-tools\adb.exe…