当前位置: 首页 > news >正文

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. 在“权限”标签下,用户可以查看和修改所有者、组以及权限设置。

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


相关文章:

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

Linux文件系统管理 1. Linux文件系统概述1.1 文件系统概念1.2 用户权限差异1.3 文件命名规范 2. Linux文件系统分类及特点2.1 ext2(第二扩展文件系统)2.2 ext3(第三扩展文件系统)2.3 ext4(第四扩展文件系统&#xff09…...

漏洞检测工具:Swagger UI敏感信息泄露

Swagger UI敏感信息泄露 漏洞定义 Swagger UI是一个交互式的、可视化的RESTful API文档工具,它允许开发人员快速浏览、测试API接口。Swagger UI通过读取由Swagger(也称为OpenAPI)规范定义的API描述文件(如swagger.json或swagger…...

VSCode如何修改默认扩展路径和用户文件夹目录到D盘

在使用Visual Studio Code(VSCode)时,随着安装的扩展和用户数据的增多,C盘的空间可能会逐渐紧张。为了优化存储管理,将VSCode的默认扩展路径和用户文件夹目录迁移到D盘是一个有效的解决方案。以下是详细的操作步骤&…...

【超详细实操内容】django的身份验证系统之限制用户访问的三种方式

目录 1、使用request.user.is_authenticated属性 2、装饰器login_required 3、LoginRequiredMixin类 通常情况下,网站都会对用户限制访问,例如,未登录的用户不可访问用户中心页面。Django框架中使用request.user.isauthenticated属性、装饰器loginrequired和LoginRequire…...

AI芯片常见概念

文章目录 AI芯片常见概念前言常见概念AI芯片分类按照芯片的技术架构分GPU半定制化的 FPGA全定制化 ASIC神经拟态芯片 按应用场景分训练卡推理卡 按部署位置分国产AI卡资料汇总 AI芯片算力和能效比AI芯片算力AI芯片能效比 封装相关Chiplet技术3DIC三星多芯片集成联盟&#xff08…...

Linux 中 epoll 的详解

Linux 中 epoll 的详解 epoll 是 Linux 内核提供的一种高效的 I/O 多路复用机制,用于监控大量文件描述符的 I/O 事件。相较于传统的 select 和 poll,epoll 在高并发和大规模网络编程场景下表现出色,特别适合需要处理成千上万个文件描述符的应…...

增加nginx配置文件(conf.d), 管理多个项目

1.切换到nginx目录下, 新建conf.d文件夹 mkdir conf.d 2.赋予conf.d权限 chmod 777 conf.d 3.进入conf.d, 编辑conf文件 vim zc_travel.conf server { listen 13101; server_name localhost;location / {root /home/baoxin/app/web/insight-radar-rcfx-pre/html_dev;index …...

PostgreSQL编译安装教程

下载安装 1.在家目录创建一个文件夹放下载安装包 mkdir softwarecd software 2.下载文件压缩包 wget https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz 3.解压 tar -xzvf postgresql-16.0.tar.gz 4.编译 在software/postgresql-16.0下 cd software…...

【提审】Android包提审报权限问题

问题:华为应用市场审核不通过 平台审核检测详情: 日志: 自检工具:frida-server【Unity&Android】安卓app自测应用隐私相关获取和申请权限_apk 隐私合规 自测-CSDN博客 参考资料:Unity启动时获取了android_id等设…...

xdoj 数字个数统计

1-2 数字个数统计 2 时间限制&#xff1a; 1S 题目描述&#xff1a; 一个正整数 n&#xff08;1<n<1000)&#xff0c;在区间[n,n2 ]&#xff08;含端点&#xff09;内统计奇数个数、 偶数个数、能被 4 整除且不能被 3 整除的数字个数&#xff0c;并求出各统计数字两两…...

空天地遥感数据识别与计算--数据分析如何助力农林牧渔、城市发展、地质灾害监测等行业革新

在科技飞速发展的时代&#xff0c;遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究&#xff0c;空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而&#xff0c;对于许多专业人士而言&#xff0c;如何高效地处…...

Git:查看分支、创建分支、合并分支

一、查看分支 查看的git命令如下&#xff1a; git branch # 列出本地已经存在的分支&#xff0c;并且当前分支会用*标记 git branch -r # 查看远程版本库的分支列表 git branch -a # 查看所有分支列表&#xff08;包括本地和远程&#xff0c;remotes/开头的表示远程分支&…...

联合目标检测与图像分类提升数据不平衡场景下的准确率

联合目标检测与图像分类提升数据不平衡场景下的准确率 在一些数据不平衡的场景下&#xff0c;使用单一的目标检测模型很难达到99%的准确率。为了优化这一问题&#xff0c;适当将其拆解为目标检测模型和图像分类模型的组合&#xff0c;可以更有效地控制最终效果&#xff0c;尤其…...

Git的简介

文章目录 一.Git是什么二.核心概念三.工作流程四.Git的优势 下载Git 推荐官网下载 官网地址 一.Git是什么 Git是一个分布式版本控制系统&#xff0c;用于跟踪文件的变化并协调多人对同一项目的开发工作。它就像是一个时光机器&#xff0c;能够记录文件在不同时间点的状态&…...

麒麟操作系统服务架构保姆级教程(四)NGINX中间件

如果你想拥有你从未拥有过的东西&#xff0c;那么你必须去做你从未做过的事情 想要在网页上访问到代码那么就需要用到应用服务类中间件&#xff0c;国外的有Nginx&#xff0c;Tomcat等&#xff0c;国内的有金蝶web&#xff0c;东方通的服务中间件&#xff08;Tongweb&#xff0…...

Glide 自定义圆角、铺满FitXY

在 Android 开发中&#xff0c;使用 Glide 来加载图片时&#xff0c;有时需要对图片进行特定的处理&#xff0c;比如设置圆角或者使图片完全填充到一个视图中&#xff08;类似于 ImageView 的 scaleType 中的 FitXY&#xff09;。以下是如何使用 Glide 来实现这些自定义需求的处…...

蓝牙协议——音乐启停控制

手机播放音乐 手机暂停音乐 耳机播放音乐 耳机暂停音乐...

Krita安装krita-ai-diffusion工具搭建comfyui报错没有ComfyUI_IPAdapter_plus解决办法

我们在使用Kirta安装krita-ai-diffusion工具之后搭建comfyui环境需要安装很多扩展文件。 一般正常安装都可以使用了。 但是有一个插件很特别,无论你安装多少遍都会显示缺失,是什么插件这么难搞定呢? 没错,就是我们的ComfyUI_IPAdapter_plus插件。 就像下图一样: 那么怎…...

四相机设计实现全向视觉感知的开源空中机器人无人机

开源空中机器人 基于深度学习的OmniNxt全向视觉算法OAK-4p-New 全景硬件同步相机 机器人的纯视觉避障定位建图一直是个难题&#xff1a; 系统实现复杂 纯视觉稳定性不高 很难选到实用的视觉传感器 为此多数厂家还是采用激光雷达的定位方案。 OAK-4p-New 为了弥合这一差距…...

LightGBM分类算法在医疗数据挖掘中的深度探索与应用创新(上)

一、引言 1.1 医疗数据挖掘的重要性与挑战 在当今数字化医疗时代,医疗数据呈爆炸式增长,这些数据蕴含着丰富的信息,对医疗决策具有极为重要的意义。通过对医疗数据的深入挖掘,可以发现潜在的疾病模式、治疗效果关联以及患者的健康风险因素,从而为精准医疗、个性化治疗方…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...