Linux根文件系统

Linux根文件系统详解

Linux系统的文件系统又被称为根文件系统(roofs),FHS是Linux系统的文件系统标准,各个不同的Linux发行版都得遵从FHS

FHS规定如下:

·/bin目录

bin(binary,二进制文件),该目录里面是一些二进制文件,Linux系统下二进制文件是ELF格式的,而Windows系统下的二进制文件是PE格式的,该目录下全是一些可执行的二进制文件,所有的用户命令都在其中

·/boot目录

该目录下包含着一些和系统启动相关的文件,比如我们的内核文件、initrd以及grub(bootloader)

·/dev目录

该目录下是我们系统的设备文件,设备文件是Linux系统中的一些没有大小,只有元数据特殊文件,显示文件大小的地方被设备文件的设备号所替代,设备号分为主设备号(major)和次设备号(minor),设备分为块设备和字符设备,块设备是用来进行随机访问数据块的,字符设备是用来实现线性访问的,以字符为单位有次序的访问数据

·/etc目录

该目录下存储的是所有的配置文件,配置文件都是一些纯文本文件

·/home目录

该目录为系统上所有普通用户的家目录,每一个普通用户的家目录通常默认为/home/USERNAME,而管理员的家目录则为/root

·/lib目录

该目录下都是一些库文件和内核模块文件,内核模块文件都在该目录下的modules目录里,内核模块文件分为静态库文件和动态库文件:

静态库文件指的是Linux系统中以.a结尾的文件,静态库包含在程序里面(因为程序的执行需要库),方便程序的移植

动态库文件指的是Linux系统中以.so结尾的文件,在Windows系统中是以.dll结尾的文件,动态库文件只用添加一次,可以节省内存,下次可以直接调用该库文件

库:

库指的是一些封装好的可以被直接调用的数据包,但是库文件不能单独执行,因为没有库文件的执行入口,库文件只能被调用

·/media目录

移动设备(如U盘)的挂载点

·/mnt目录

额外的临时的文件系统的挂载点

/media和/mnt目录都是挂载点目录,我们都可以在这两个目录上挂载,没有严格的区分要求

·/misc目录

该目录下是一些杂项无法归类的文件

·/opt目录

该目录是一个可选目录,是第三方软件的安装目录

·/proc目录

该目录是一个伪文件系统,里面是一些内核的映射文件,映射文件不是真实的文件,是假的文件,我们可以在这个目录下查看内核的状态

·/sys目录

该目录也是一个伪文件系统,里面都是一些和硬件设备相关的属性映射文件,该目录在关机的时候是空目录,开机的时候里面才会有内容

·/tmp目录

该目录是一个存放临时文件的目录,如果文件一个月没有被人动过,则文件会被自动清除,任何用户都可以在该目录下创建文件,但是只能删除自己的创建的文件

·/var目录

该目录是一个大小可变的目录,随着我们计算机的运行,目录的容量会越来越大

pid表示进程的id号

·/sbin目录

所有的系统管理命令都在这个目录中,这个目录和/bin目录都与我们的系统启动相关

·/usr目录

usr(universal shared read-only->全局共享只读目录),我们系统中的/bin、/sbin以及/lib(公共库)目录是必须存在的目录,而/usr目录下的bin、sbin以及lib目录都是一些与系统启动相关的目录,而我们/usr/local目录下的bin、sbin以及lib目录都是一些独立的文件系统,这些目录并非必须存在的,它们只是一些第三方的安装路径



·Linux中的文件命名规则

1,文件名的长度不能超过255个字符

2,不能使用"/"当做文件名

3,文件名严格区分大写

·Linux目录管理

->mkdir命令:创建空目录

-p选项,表示创建父目录,递归创建父子目录

-v(verbose)选项,表示显示命令执行过程中的详细信息,即显示目录的创建过程

Linux的重要哲学思想,执行一条命令后,标准输出不显示信息就是最好的信息,表示该命令执行正确

我们在创建目录的过程中还可以使用花括号进行目录名与文件名的展开:

->rmdir命令,删除空目录

-p选项,表示删除父子目录

·Linux文件管理

无论是Linux系统还是Windows系统,文件名和目录名均不能重名

->stat命令

可以用来查看文件的状态

->touch命令

文件管理的命令,可以创建空文件

-c选项,不创建文件

-a选项,改变文件的atime

-m选项,改变文件的mtime

由上图知,无论是改变文件的atime还是mtime,文件的ctime都会改变,因为文件的atime和mtime都属于文件的属性,无论改变了atime还是mtime,ctime都会改变

-t选项,在创建文件的时候可以指定时间

我们创建文件,也可以使用文件编辑器,如nano、vi以及vim:

·ASCII

美国国家标准信息交换代码,计算机中最小的存储单位为字节(Byte->一个字节等于8位二进制),ASCII标准表相当于一个字符处理器,一个字符的大小是一个字节,一个汉字的大小是两个字节

·Unicode

全球标准

·nano文件编辑器

·rm(remove)命令

删除文件或目录的命令,默认在交互模式下进行,即rm命令是rm -i的命令别名

\COMMAND->表示使用命令本身的功能,而不是用命令别名

\rm命令,表示直接删除文件或目录而不用进入交互模式:

ls命令为ls --color命令的命令别名,故ls命令默认显示文件及目录的颜色:

rm -f(force->表示强制删除文件或目录,而不再进入交互模式):

rm -r(recursive->表示删除目录,递归删除,不论目录为不为空,都可删除):

时间: 08-27

Linux根文件系统的相关文章

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

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

用Busybox构建Linux根文件系统(转载)

注:本文转载自http://blog.sina.com.cn/u/2478597014 用Busybox构建Linux根文件系统 (2015-07-05 14:25:02)   虚拟机:Virtual Box4.2.6 和VMware Workstation6.5.2(这两种虚拟机都成功实作过) 开发环境:Linux版本2.6.32,采用Ubuntu10.04 arm-linux-gcc版本:3.4.1 Busybox版本:1.7.0 开发板:飞凌嵌入式S3C2440 开发板linux内核版本:

一步一步学ZedBoard & Zynq(七):制作ZedBoard上linux根文件系统(ramdisk)

一步一步学ZedBoard & Zynq(七):制作ZedBoard上linux根文件系统(ramdisk) 网址:http://xilinx.eetrend.com/blog/3935 Digilent的OOB设计给出了一个ZedBoard上完整的运行的linux系统所需要的所有文件,包括配置FPGA的bit文件. 配置ARM PS系统的First-Stage boot loader(FSBL)和引导linux需要的Second-Stage boot loader(SSBL).Linux内核z

第17章- 构建Linux根文件系统

本章目标 l 了解Linux的文件系统层次标准(FHS) l 了解根文件系统下各目录的作用 l 掌握构建根文件系统的方法:移植Busybox.构造各个目录.文件等 l 掌握制作yaffs.jffs2文件系统映象文件的方法 推广: 想了解更多嵌入式知识请移步到 100ask.taobao.com 17.1  Linux文件系统概述 17.1.1  Linux文件系统的特点 类似于Windows下的C.D.E等各个盘,Linux系统也可以将磁盘.Flash等存储设备划分为若干个分区,在不同分区存放不

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

嵌入式 Linux根文件系统移植(二)--根文件系统简介 根文件系统是内核启动时挂载的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行. 一.嵌入式设备文件系统 在嵌入式Linux应用中,主要的存储设备为 RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tm

Linux根文件系统的详解

                            Linux根文件系统的详解    多数的Linux版本使用的是FHS文件组织结构,FHS是Filesystem Hierarchy Standard(文件系统目录标准)的缩写,其采用树形结构组织文件.实际上FHS仅是规范在根目录(/)下面各个主要目录应该放什么样的文件.然后下面我们就进行对Linux的rootfs进行简单的分析说明.         首先对rootfs进行一下说明,rootfs是Root File System的缩写,表:L

Linux根文件系统裁剪 论文阅读笔记

Linux裁剪方法研究 2006 2 Linux裁剪原理: 2 Linux嵌入式系统根文件系统的选择与制作 2006 3 Linux嵌入式系统根文件系统的选择与制作 2006 3 基于ARM的嵌入式Linux操作系统移植的研究 2006 5 基于ARM的嵌入式文件系统研究与设计 2010 6 基于嵌入式Linux的Ext2根文件系统制作分析 2015 6 嵌入式Linux裁剪研究 2009 7 嵌入式Linux根文件系统的构建与分析 2015 8 嵌入式Linux共享库裁剪技术分析与改进 200

Linux根文件系统详解

ELF:可执行文件的存储格式 可执行的,可链接的文件 文件系统: rootfs :根文件系统 ls / /boot:系统启动相关的文件,如内核.initrd.以及grub(引导加载器bootloader) vmlinux-2.6.18-308.el5 initrd-2.6.18-308.el5.img /dev:设备文件,黄色, 注:所有设备识别为文件 设备文件,只是设备上数据的访问入口 块设备:随机访问,按数据块访问 字符设备:线性访问,顺序访问,按字符为单位访问,键盘,鼠标,显示器 设备号:

Linux 根文件系统的制作

一.建立根文件系统目录与文件 1. 创建目录 #mkdir rootfs #cd rootfs #mkdir bin dev etc lib proc sbin sys usr mnt tmp var #mkdir usr/bin usr/lib usr/sbin lib/modules 2. 创建设备文件 #cd rootfs/dev #mknod -m 666 console c 5 1 #mknod -m 666 null c 1 3 3. 加入配置文件 #tar etc.tar.gz #