Linux文件系统

文件系统与目录结构

文件系统

1.文件和目录被组织成一个单根倒置数结构

2.文件系统从根目录下开始,用“/”表示

3.根文件系统(rootfs):root filesystem

4.文件名称区分大小写

5.以.开头的文件为隐藏文件

6.路径分隔符:/

7.文件的两类数据: 元数据(metadata)和 数据(data)

8.文件系统分层结构:LSB (Linux Standard Base)

9.FHS(Filesystem Hierarchy System)

文件名规则

1.文件名最长255个字节

2.包括路径在内文件名称最长4096个字节

3.显示为蓝色:目录 绿色:可执行文件;

红色:压缩文件 浅蓝色:链接文件

灰色:其他文件

4.除了/、,其他所有字符都生效,但使用特殊字符的文件名和目录

不推荐使用,有些字符需要用引号来引用它们。

5.标准Linux文件系统(如ext4),文件名区分大小写。例如:Mail,mail

文件系统结构

/boot:引导文件存放目录,内核文件(vmlinuz)和引导加载器(bootleader)都存放于此目录

/bin:供所有用户使用的基础命令;不能关联至独立分区;OS启动即会用到的程序

/sbin:(super bin)管理类的基础命令(供管理员使用);不能关联到独立分区;OS启动时即会用到的程序

/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)

/lib64:专用于X86_64系统上的辅助共享库文件存放位置

/etc:配置文件目录

/home/USERNAME:普通用户家目录

/root:管理员的家目录

media:便携式移动设备挂载点

/mnt:临时文件系统挂载点

/dev:存储设备文件及特殊文件

/tmp:临时文件存放位置

/selinux:存储与安全策略相关的信息

/usr:(universal<普遍的> shared,read-only data)

    bin:保证系统拥有完整功能而提供的应用程序
    
    sbin:
 
    lib:32位使用
    
    lib64:只有64 位系统才能使用
    
    local:第三方应用程序的安装位置(bin,sbin,lib,lib64,etc,share)

/var:(variable data files 变量文件)

  cache:应用程序缓存数据目录
  
  lib:应用程序状态信息数据
  
  lical:专用于为/usr/local下的应用程序UC你还粗可变数据
  
  lock:锁文件
  
  log:日志目录及文件
  
  opt:专用于为/opt目录下的应用程序存储可变数据
  
  run:  运行中的进程相关数据,通常用于存储进程pid文件
  
  spool:应用程序数据池
  
  tmp:保存系统两次重启之间的产生的临时数据
看下在此目录下的邮件发送功能

/proc:用于输出内核与进程信息相关的虚拟文件系统

  cat /proc/menminfo 可查看内存大小
  
  cat /proc/pcuinfo  可查看CPU的信息
  
  cat /proc/partition  可查看分区情况
  
  ls /proc  可以看一下进程信息和内存数据

/sys:存储有关系统上的硬件信息

一般虚拟机上添加一块硬盘之后需要重启之后才能显示,那如果不想重启应该怎么

办呢?我们可以在/sys目录下进行设置

Linux下的文件类型

 -:普通文件
 
 d:目录文件
 
 b:块设备
 
 c:字符设备
 
 l:符号链接文件
 
 p:管道文件pipe
 
 s:套接字文件socket(IP+port<端口号>,用于远程连接)
时间: 2024-11-24 18:56:50

Linux文件系统的相关文章

linux 文件系统笔记

文件格式: windows:PE linux:  ELF 文件系统: rootfs FHS:规定linux应该创建哪些目录 /下的目录结构: /boot: 系统启动相关的文件,如内核,initrd,以及 grub(bootloader) /dev :设备文件(例如:光盘,cdrom) 类型: 块设备:随机访问, 数据块 字符设备:线性访问, 以字节为单位 设备号:主设备号(major),次设备号(minor) /etc:  配置文件(绝大多数为纯文本格式) /home: 用户的家目录,默认为/h

【转】LINUX文件系统剖析

引自:http://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/   在文件系统方面,Linux? 可以算得上操作系统中的 "瑞士军刀".Linux 支持许多种文件系统,从日志型文件系统到集群文件系统和加密文件系统.对于使用标准的和比较奇特的文件系统以及开发文件系统来说,Linux 是极好的平台.本文讨论 Linux 内核中的虚拟文件系统(VFS,有时候称为虚拟文件系统交换器),然后介绍将文件系统连接在一起的主要结构.

linux文件系统索引节点浅析

索引节点,Inode是Index Node的缩写,存储于文件系统上的任何文件都可以用索引节点来表示,所以也可以说索引节点是整个linux文件系统的基础.操作系统在读取硬盘的时候不是一个块一个块的来读取信息,因为这样做的话效率太低,文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者.文件的创建日期.文件的大小等等.这种储存文件元信息的区域就叫做inode,中文译名为"索引节点". 在Linux系统中,文件系统主要分为两部分,

嵌入式 Linux根文件系统移植(一)——Linux文件系统简介

嵌入式 Linux根文件系统移植(一)--Linux文件系统简介 本文对文件系统分析的代码来源于linux 2.6.35.7版本. 一.文件系统的体系结构 文件系统是对存储设备上的数据和元数据进行组织的机制,便于用户和操作系统的交互.Linux支持多种文件系统,文件系统接口实现为分层的体系结构,将用户接口层.文件系统实现和操作存储设备的驱动程序分隔开.Linux文件系统的体系结构如下: 用户空间包含一些应用程序(例如,文件系统的使用者)和 GNU C库(glibc),为文件系统调用(打开.读取.

linux --&gt; 文件系统十问

文件系统十问 参考:http://djt.qq.com/article/view/620 关于Linux文件系统相关的问题: 1.机械磁盘随机读写时速度非常慢,操作系统是采用什么技巧来提高随机读写的性能的? 2.touch一个新的空文件占用磁盘空间吗? 占用的话占用多少? 3.新建一个空目录占用磁盘空间吗?占用多少?和新建一个文件相比,哪个占用的更大? 4.你知道文件名是记录在磁盘的什么地方吗? 5.文件名最长多长?受什么制约? 6.文件名太长了会影响系统性能吗?为什么会产生影响? 7.一个目录

linux文件系统学习总结

linux最优秀的特点在于它是多用户多任务的环境,而且对于linux来讲一切皆文件,提到文件这个概念就免不了提文件相关的权限与属性的概念,那相关文件的属性记录在硬盘的哪个地方呢?这就需要了解linux的文件系统是如何记录文件,如何读取文件. 大家都知道硬盘作为存储介质,如果要使用硬盘存储数据需要对硬盘进行分区,格式化之后才可以存储数据.那为什么要对硬盘进行分区呢?因为我们必须要告诉操作系统:"这块硬盘可以访问的区域是有A柱面到B柱面",只有这样,操作系统才能控制硬盘磁头去A~B范围内的

Vim,find,bash,Linux文件系统的特殊权限2015.8.30作业

一   Vim 1.vim的使用方法 1.1 三种模式化 编辑模式.输入模式.末行模式 1.2 模式转换 编辑模式 --> 输入模式: i:在当前光标所在字符的前面,转为输入模式 a:在当前光标所在字符的后面,转为输入模式 o:在当前光标所在行的下方,新建一行,并转为输入模式 I:在当前光标所在行的行首,转为输入模式 A:在当前光标所在行的行尾,转为输入模式 O:在当前光标所在行的上方,新建一行,并转为输入模式 输入模式 --> 编辑模式:ESC 编辑模式 --> 末行模式:: 末行模式

攻城狮在路上(叁)Linux(二十六)--- linux文件系统的特殊查看与操作

一.boot sector 与 super block的关系: 1.boot sector用于存放引导装载程序,占用1024个字节. 2.super block的大小也为1024字节. 3.若block大小为1k,则boot sector和super block各占一个block. 4.若block大于1K(2K/4K)时,则两者都位于第一个block中. 二.磁盘空间的浪费问题:暂不考虑. 三.利用GUN的parted命令进行分区行为: 因为fdisk不支持高于2TB的分区. 命令格式: pa

操作系统——linux文件系统初实现——为fileSystem添加驱动,让linux可以识别。

0.我的理解,所为驱动,就是用户可以通过自己的应用程序访问你的文件系统.而我恰恰相反. 1.我是谢了字符驱动,让我的fileSystem去做应用程序,同样可以被linux系统识别. 2.其实我对驱动理解也不深,暂且贴代码. 3.驱动程序: /*chardev.c 驱动程序*/ #include <linux/kernel.h> #include <linux/fs.h>/*for file-f_op*/ #include <linux/module.h> #includ