首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏LinkinStar's Blog

    《笨开发学习操作系统5文件系统

    作为一个普通的开发者,我们究竟对文件系统要有怎么样的认识?今天我们就来看看这个大哥 —— 文件系统 文件 在认识文件系统之前,首先来看看我们的文件是什么。 首先我们来分类认识一些具体的文件系统 (如果你已经使用过一段时间 Linux 系统,其实应该会对这些文件系统的名字有点熟悉) 磁盘文件系统 磁盘文件系统是我们经常使用到的文件系统,比如:ext4/xfs 内存文件系统 除了使用磁盘进行文件存储的文件系统之外,常见的就是我们的内存文件系统,最常见的就是我想说的 proc 文件系统。 //xiaolincoding.com/os/6_file_system/file_system.html#%E8%BF%9E%E7%BB%AD%E7%A9%BA%E9%97%B4%E5%AD%98%E6% 94%BE%E6%96%B9%E5%BC%8F https://segmentfault.com/a/1190000008481493 https://docs.huihoo.com/doxygen/linux

    49210编辑于 2022-09-01
  • 来自专栏入门小站

    5种快速查找容器文件系统文件的方法

    如果你经常使用容器,那么你很有可能希望在某个时刻查看正在运行的容器的文件系统。 接下来,我们将对 Linux 内核如何管理容器文件系统有一个基本的了解,我们将利用这一了解以不同但仍然简单的方式检查文件系统。 我们希望直接从主机访问容器的文件系统。容器的文件应该在主机的文件系统中,但是在哪里呢? MergedDir:文件系统所有层的组合视图。 WorkDir:用于管理文件系统的内部工作目录。 图片 Stirling 通过挂载主机文件系统在其他容器上部署 eBPF 探针,然后在主机上找到目标容器文件系统。 总结 下次当你需要检查容器中的文件时,希望你能尝试一下这些技巧。

    1.3K20编辑于 2022-06-03
  • 来自专栏文件系统知识

    s5p4418挂载nfs文件系统

    后面客户端挂载时需要指定此目录 sudo mkdir -p /nfs 3.修改nfs配置文件 安装nfs-kernel-server后会自动生成/etc/exports配置文件 sudo vim /etc 31 22:12 . drwxr-xr-x 25 root root 4.0K 5月 27 22:16 .. -rw-r--r-- 1 root root 6 5月 31 22:05 client.txt -rw-r--r-- 1 root root 0 5月 31 22 :11 no_root_squash -rw-r--r-- 1 nobody nogroup 0 5月 31 22:12 root_squash exportfs主要用于管理当前NFS服务器的文件系统 用户来访问的,文件的权限就是nfsnobody用户具有的权限。

    29910编辑于 2025-02-19
  • 来自专栏悟空被FFmpeg玩

    Linux中文件系统注册及mount过程分析5

    setup_super(sb, es, sb->s_flags & MS_RDONLY);3072 这些介绍了从读超级快,获得磁盘的块的属性,然后进行了sops注册,然后进入ext4_iget进行了文件操作 ,目录操作,链接操作等函数的注册,比如读文件 然后回到do_new_mount,将挂载点添加到列表里就可以了,这个列表在/proc中可以展现出来 [root@T-bagwell ~]# cat /proc relatime 0 0/proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0devpts /dev/pts devpts rw,relatime,gid=5, relatime 0 0/dev/sdb1 /media/android ext4 rw,relatime,barrier=1,data=ordered 0 0[root@T-bagwell ~]# 到这里文件系统的注册和磁盘的挂载完成

    2.4K10发布于 2019-03-05
  • 来自专栏大内老A

    文件系统:物理文件系统

    物理文件系统由定义在NuGet包“Microsoft.Extensions.FileProviders.Physical”中的PhysicalFileProvider来构建。 这是一个公共类型,如果我们具有监控物理文件系统变化的需要,可以直接使用这个类型。 六、小结 我们借助下图所示的UML来对由PhysicalFileProvider构建物理文件系统的整体设计做一个简单的总结。 [ASP.NET Core 3框架揭秘] 文件系统[1]:抽象的“文件系统” [ASP.NET Core 3框架揭秘] 文件系统[2]:总体设计 [ASP.NET Core 3框架揭秘] 文件系统[3] :物理文件系统 [ASP.NET Core 3框架揭秘] 文件系统[4]:程序集内嵌文件系统

    2K50发布于 2019-11-24
  • 来自专栏大内老A

    文件系统:抽象的“文件系统

    IFileProvider对象构建了一个抽象的文件系统,我们不仅可以利用它提供的统一API来读取各种类型的文件,还能及时监控目标文件的变化。 由于IFileProvider是一个接口,所以由它构建的是一个抽象化的文件系统,这里所谓的目录和文件都是一个抽象的概念。 为了让读者朋友们对这个文件系统有一个大体认识,我们先来演示几个简单的实例。 文件系统管理的所有文件以目录的形式进行组织,一个IFileProvider对象可以视为针对一个根目录的映射。 该方法具有一个类型为Action<int, string>的参数负责将文件系统的节点(目录或者文件)名称呈现出来。 我们以每隔5秒的间隔对文件data.txt作一次修改,而文件的内容为当前时间。所以当我们的程序启动之后,每隔5秒钟当前时间就会以如下图的方式呈现在控制台上。 ?

    1.9K40发布于 2019-11-20
  • 来自专栏初见Linux

    5.文件管理

    一、文件的目录管理 目录管理的目标:按名存取、提高对文件的存取速度(合理安排目录) 、文件共享、允许文件重名 1.文件控制块(FCB)和索引节点 (1)FCB 为了实现“按名存取”,系统必须为每个文件设置用于描述和控制文件的数据结构 目录文件:为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件。 基本信息 文件名:字符串,通常在不同系统中允许不同的最大长度。 2.单级、两级目录结构(被已被淘汰) (1)构造方法: 把系统中的所有文件都建立在一张目录表中,整个目录组织是个线性表。结构比较简单,能实现目录管理的基本功能--按名存取。 (4)优点:结构比较简单、易实现 (5)缺点:查找速度慢:文件目录表很大、不允许重名:不同文件不能同名!同一文件不能以不同名字出现或使用、不便与实现文件共享、只适用于单用户操作系统。 (4)优点: 解决了文件的重名问题和文件共享问题,查找时间降低 (5)缺点: 增加了系统开销 3.树型目录(多级目录) (1)结构及优缺点 每一个结点(目录)出来的分支可以是数据文件,也可以

    1.1K10发布于 2020-08-04
  • 来自专栏人人都是极客

    文件系统专栏 | 之文件系统挂载

    ext4文件系统挂载 大家可以使用以下命令挂载一个u盘到 /mnt目录下: mount -t ext4  /dev/sda1 /mnt 其中mount这个应用程序就是使用了mount函数进行系统调用,其系统调用为 fstype)   return -EINVAL;  type = get_fs_type(fstype);//根据文件系统名字查找文件系统类型  if (! (多见于FUSE),设置子文件系统类型名  if (! do_add_mount(real_mount(mnt), path, mnt_flags);  if (err)   mntput(mnt);  return err; } do_new_mount挂载函数首先根据文件系统名字查找文件系统类型 ;2.新文件系统的挂载实例的根inode是一个符号链接,这两种情况返回错误。

    4K10编辑于 2022-08-31
  • 来自专栏大内老A

    文件系统:程序集内嵌文件系统

    由于内嵌于程序集的资源文件采用扁平化存储形式,所以在通过 EmbeddedFileProvider构建的文件系统中并没有目录层级的概念。我们可以认为所有的资源文件都保存在程序集的“根目录”下。 由于资源文件系统并不具有层次化的目录结构,它所谓的物理路径毫无意义,所以PhysicalPath属性直接返回Null。 对于内嵌资源文件系统来说,根本就不存在所谓的文件更新的问题,所以它的Watch方法会返回一个HasChanged属性总是False的IChangeToken对象。 [ASP.NET Core 3框架揭秘] 文件系统[1]:抽象的“文件系统” [ASP.NET Core 3框架揭秘] 文件系统[2]:总体设计 [ASP.NET Core 3框架揭秘] 文件系统[3] :物理文件系统 [ASP.NET Core 3框架揭秘] 文件系统[4]:程序集内嵌文件系统

    2K30发布于 2019-11-26
  • 来自专栏人人都是极客

    文件系统专栏 | 之文件系统架构

    文件系统的第一块是超级块,描述文件系统的总体信息,挂载文件系统的时候在内存中创建超级块的副本。 (2)挂载描述符。虚拟文件系统在内存中把目录组织为一棵树。 每次挂载文件系统,虚拟文件系统就会创建一个挂载描述符:mount 结构体,并且读取文件系统的超级块,在内存中创建超级块的一个副本。 (3)文件系统类型。 每个文件对应一个索引节点,每个索引节点有一个唯一的编号。当内核访问存储设备上的一个文件时,会在内存中创建索引节点的一个副本:结构体 inode。 (5)目录项。 (4)字符设备文件。 (5)块设备文件。 (6)命名管道(FIFO)。 (7)套接字(socket)。 内核支持两种链接: (1)软链接,也称为符号链接,这种文件的数据是另一个文件的路径。 umode_t);  int (*set_acl)(struct inode *, struct posix_acl *, int);//设置访问控制参数 } ____cacheline_aligned; 5.

    3.4K31编辑于 2022-08-26
  • 来自专栏linux运维

    文件系统损坏:文件系统损坏,无法正常访问文件

    检查文件系统检查文件系统: 使用 fsck 命令检查和修复文件系统。假设根分区是 /dev/sda1:sudo fsck -f /dev/sda1-f 选项强制检查文件系统,即使它看起来是干净的。 检查日志文件查看系统日志文件,获取更多错误信息:dmesg | less cat /var/log/syslog | less6. 恢复数据备份重要数据: 如果文件系统损坏严重,建议先备份重要数据。 重新安装文件系统备份数据: 确保所有重要数据已经备份。重新格式化分区: 如果文件系统损坏严重,可以考虑重新格式化分区:sudo mkfs.ext4 /dev/sda1 恢复数据: 从备份中恢复数据。 预防措施定期检查文件系统: 使用 cron 定期检查文件系统:crontab -e添加一行:0 2 * * * /sbin/fsck -f /dev/sda1使用 RAID: 如果条件允许,使用 RAID

    1.3K00编辑于 2025-02-04
  • 来自专栏全栈程序员必看

    生成h5文件_h5实现文件下载

    生成训练h5文件 import h5py import os import cv2 import math import numpy as np import random import root_path = "/home/tyd/caffe_case/HDF5/image" with open("/home/tyd/caffe_case/HDF5/hdf5.txt","r") as f: lines h5/train{0}.h5'.format(i) else: filename='/home/tyd/caffe_case/HDF5/h5/test{0}.h5'.format h5/trainlist.txt','a') as f: f.write(os.path.join(os.getcwd(),'train{0}.h5'.format(i)+'\n ') else: with open('/home/tyd/caffe_case/HDF5/h5/testlist.txt','a') as f: f.write

    1.1K30编辑于 2022-09-30
  • 来自专栏python知识

    文件系统

    文件和路径 命名规则 扩展名 隐藏文件 工作目录和主目录 绝对路径和相对路径 目录结构 /bin - 基本命令的二进制文件 /boot - 引导加载程序的静态文件 /dev - 设备文件 /etc - 配置文件 /home - 用户主目录的父目录 /lib - 共享库文件 /lib64 - 共享64位库文件 /lost+found - 存放未链接文件 /media - 自动识别设备的挂载目录 /mnt - 临时挂载文件系统的挂载点 /opt - 可选插件软件包安装位置 /proc - 内核和进程信息 /root - root账户主目录 /run - 存放系统运行时需要的东西 /sbin - 超级用户的二进制文件 /sys - 设备的伪文件系统 /tmp - 临时文件夹 /usr - 用户应用目录 /var - 变量数据目录 访问权限 chmod。 磁盘管理 列出文件系统的磁盘使用状况 - df。 磁盘分区表操作 - fdisk。 格式化文件系统 - mkfs。 文件系统检查 - fsck。 挂载/卸载 - mount / umount。

    1.1K30发布于 2021-05-20
  • 来自专栏codechild

    文件系统

    文件系统的了解阶段 当文件没有打开的时候,那么文件存储在磁盘之中。 扇区就是磁盘的基本单位 虽然磁盘的基本单位是扇区(512字节),但是比较小,而且有可能不同的生产商给出的扇区的大小可能本不一样,所以操作系统文件系统)和磁盘进行I/O操作的基本单位的块 块是对磁盘存储和访问的抽象 块通常由下面几个部分构成: Block Group:ext2文件系统根据分区的大小划分为数个快组BlockGroup。 ,且每一个BlockGroup都有着相同的结构 Block Group分为: 超级块:存放文件系统本身的结构信息。 ——为该文件分配inode和数据区,进行inode和数据区的映射关系,在该文件的目录的数据区中写入该文件的名字。 删除文件系统做了什么?

    96720编辑于 2023-05-30
  • 来自专栏技术分享

    文件系统

    11111101101110111 如果 i = 0表明数据块i 是空闲的, 反之是分配的 使用简单但是可能会是一个big vector: 例如: 160GB disk →(有40MB的空闲块) 40M blocks → 5MB worth of bits(需要5MB来表示160GB磁盘的空闲情况) 然而,如果空闲空间在磁盘中均匀分布,那么再找到”0”之前需要扫描 磁盘上数据块总数 (n)/ 空闲块的数目(r) 这个管理空闲空间的数据块空间 - 冗余磁盘阵列: 各种磁盘管理技术;RAID levels: 不同RAID分类, 如RAID-0,RAID-1,RAID-5 实现: 在操作系统内核: 存储,卷管理; RAID硬件控制器(IO) 向两个磁盘写入,从任何一个读取) 三、RAID-4 数据块级磁带配有专用奇偶校验磁盘: 允许从任意一个故障磁盘中恢复 条带化和奇偶校验按byte-by-byte或者bit-by-bit: RAID-0,4,5: block-wise ;RAID-3: bit-wise 四、RAID-5 每个条带快有一个奇偶校验块,允许有一个磁盘错误 五、RAID-6 两个冗余块,有一种特殊的编码方式,允许两个磁盘错误 磁盘调度

    99310编辑于 2024-05-31
  • 来自专栏linux

    文件系统

    1.文件系统概览 文件系统本质就是磁盘和用户进程之间的中介 1.1.文件系统的作用 数据存储和组织:文件系统将存储设备划分成文件和目录,使得用户进程更易使用,实际还是存储到存储设备的磁盘块 数据命名和定位 : 允许用户对文件进行命名,可通过不同文件系统的inode进行文件定位 数据持久化:会将数据持久化到磁盘 数据共享和包含:文件系统提供了文件权限机制,可以控制不同用户对文件的权限类型不同,比如rwx-wxr >inode编号的映射 文件系统实例: 载体:可以是硬盘分区/完整硬盘,也可以是一个逻辑卷等,然后被格式化为具体的文件类型,比如ext4 结构: 超级块:记录整个文件系统实例的元数据(大小,数量,空闲块数量等 ) inode表:记录文件和目录的元数据 数据块:实际存储文件内容的地方 2.常用文件系统 ext4文件系统 inode表 :inode--->虚拟目录的文件信息映射 文件信息:文件名、属组、属主、权限 客户端发起挂载,将服务器导出的目录挂载到本地的一个空目录上,目录被称为挂载点 通信协议 RPC 主要作用 实现文件级别的共享,类似于共享网盘 3.文件系统使用 3.1 创建分区 (在存储设备上创建可容纳文件系统的分区

    29910编辑于 2025-11-06
  • 来自专栏用户9090604的专栏

    ext文件系统文件写入与日志文件系统简介

    写入文件的流程 确定目录的权限与使用者的权限 在inode bitmap 查找未使用的inode号码, 并写入新文件的权限与属性 在block bitmap 中查找未使用的block号码, 将数据写入block 中, 更新inode的block指向数据 同步2/3步中使用的inode与block信息到inode bitmap, 并更新superblock中的内容 数据不一致状态 当在写入文件的流程中出现以外情况 , 由于其非原子性, 可能导致超级块/区块对照表/inode对照表/block具体使用等信息与实际有误 对此, ext2文件系统使用的应对方法是, 在开机时全文件系统扫描, 确认一致性, 非常浪费时间, 因此日志式文件系统诞生 日志式文件系统文件系统中专门划分出一个区块, 进行记录写入/修改 当系统要写入一个文件时, 会先在日志记录区块中记录某个文件准备要写入的信息 实际写入,更新中介数据 在日志记录区块中完成该文件的记录

    1.9K20发布于 2021-10-27
  • 来自专栏全栈程序员必看

    文件句柄数_系统文件句柄

    内核参数fs.file-max指定了系统范围内所有进程可打开的文件句柄的数量限制。 合理值计算方法:取决于内存,每1M内存可增加100个。默认情况下,不要将超过10%的内存用于文件。 将文件句柄数设置太大的危害是,当大量的文件句柄都为sockets时,会占用大量的内存,这些内存都是不可交换的。要记得的是网络套接字连接符也是文件。 对于百万级连接数的进程来说,要设置单个进程可打开的文件句柄数为百万个。 内核参数fs.file-nr可以查看系统中当前打开的文件句柄的数量。 它里面包括3个数字: 第一个表示已经分配了的文件描述符数量,第二个表示空闲的文件句柄数量(待重新分配的), 第三个表示能够打开文件句柄的最大值(与fs.file-max一致)。

    2.7K70编辑于 2022-11-02
  • 来自专栏技术墨客

    Spring Batch(5)——文件读写

    但是文件的读写过程中有很多通用一致的功能Spring Batch为这些相同的功能提供了一致性实现类。 扁平结构文件 扁平结构文件(也称为矩阵结构文件,后文简称为文件)是最常见的一种文件类型。 框架为文件的读取提供了FieldSet用于将文件结构中的信息映射到一个对象。 输出文件处理 文件读取的逻辑非常简单:文件存在打开文件并写入数据,当文件不存在抛出异常。但是写入文件明显不能这么简单粗暴。 新建一个JobInstance时最直观的操作是:存在同名文件就抛出异常,不存在则创建文件并写入数据。 、写入文件的整个过程。

    2.3K52发布于 2019-07-10
  • 来自专栏学习

    文件IO】文件系统操作

    基本操作概述 创建文件 删除文件 创建目录 重命名文件 判定文件存在… Java 中,提供了一个 File 类,进行文件系统操作,这个对象会使用“路径”进行初始化,从而表示一个具体的文件(这个文件可以存在 文件属性 属性: 文件路径的分隔符 修饰符及类型 属性 说明 static String pathSeparator 依赖于系统的路径分隔符,String 类型的表⽰ static char pathSeparator 依赖于系统的路径分隔符,char 类型的表⽰ 2. 遍历目录 若要完成递归操作就需要一个函数来辅助完成 首先判断是不是目录 用数组,列出当前目录中所包含的内容 import java.io.File; public class Demo5 /abc/def/hhh"); boolean ok = f.mkdirs(); System.out.println(ok); } } 5.

    33210编辑于 2024-10-15
领券