Linux根文件系统
Posted hcr1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux根文件系统相关的知识,希望对你有一定的参考价值。
root :文件系统是文件系统的顶级目录。它必须包含在挂载其它文件系统前需要用来启动 Linux 系统的全部文件。它必须包含需要用来启动剩余文件系统的全部可执行文件和库。文件系统启动以后,所有其他文件系统作为 root 文件系统的子目录挂载到标准的、预定义好的挂载点上。
/bin:该目录存放所有用户可以使用的基本的命令,这些系统在挂接其他文件系统之前就可以使用。所以/bin目录和根文件系统在同一个分区中。常用命令有:
cat、chgrp、chmod、cp、ls、sh、kill、mount、umount、mkdir、mknod等命令。
/sbin:该目录存放系统命令,只有管理员能够使用的命令。系统命令可以存放在/usr/sbin和/usr/local/sbin目录下。存放的是基本的系统命令。用于启动系统、修复系统等。/sbin目录必须和根文件系统在同一个分区中。
常用命令有:shutdown、reboot、fdisk、fsck等。(fsck用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。)
/dev:存放设备文件,以文件的方式访问各种外设,通过读写某个设备文件操作某个具体硬件。
比如通过:/dev/ttySAC0文件可以操作串口0 通过/dev/mtdblock1可以访问MTD设备等。
设备文件有两种:字符设备和块设备 ls /dev/..... b块设备文件 c字符设备 设备文件可以使用mknod命令创建
主设备号用来表示这是哪类设备 次设备号用来表示这类设备的哪一个
mknod /dev/ttySAC0 c 4 64
/dev创建的三种方法:
1.手动创建
2.devfs(已经过时) 以前内核里有CONFIG_DEVFS_FS
缺点:不确定的设备映射 没有足够的主/次设备号(两个8位数字) 命名不够灵活(修改名字需要重新修改编译内核) devfs消耗大量内存
3.udev
根据系统中硬件设备的状态动态的更新设备文件,包括设备文件的创建和删除。
4./etc:配置文件
export::用来配置NFS文件系统
fstab:用来指明当执行mount -a时,需要挂接的文件系统
mtab:用来显示已经加载的文件系统,通常是/proc/mounts链接文件
fpusers:启动ftp服务时,用来配置用户的访问权限。
inittab:init进程的配置文件
passwd:密码文件
group:用户的组文件
5./lib目录:
动态库 libc.so
modules:可加载模块
6./home:用户目录
7./usr:目录的内容可以存放在另一个分区中,里面存放的是共享、只读的程序和数据。
8./var:存放可变的数据 如log文件 临时文件
9./proc:是一个空目录,常作为proc文件系统的挂接点,proc文件系统是个虚拟的文件系统,它没有实际的存储设备,里面的目录是由内核临时生成的,用来表示系统的运行状态,也可以操作其中的文件系统。
#mount -t proc none /proc
10/mnt:用来临时挂接某个文件系统的挂接点
11./tmp:用于存放临时文件,通常是空目录。
#mount -t tmpfs none /tmp
Linux 文件属性介绍:
普通文件
目录文件
字符设备文件
块设备文件
FIFO
套接字
连接文件:软连接 硬连接
ls -l
288 -rw-r--r-- 2 root root 6 Sep 27 22:10 readme.txt
inode 种类和权限 硬连接个数 文件拥有者 所属群组 文件和目录的大小 最后访问或修改时间 文件名和目录名
(文件大小、权限等) 有10位
第一位:-表示普通文件 d表示目录 c表示设备 b表示块设备 p表示FIFO l表示软连接 s表示套接口
后九位:是三种权限
以上是关于Linux根文件系统的主要内容,如果未能解决你的问题,请参考以下文章
[架构之路-30]:目标系统 - 系统软件 - Linux OS根文件系统rootfs的概念组成制作以及用busybox制作根文件系统