Linux根文件系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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->表示删除目录,递归删除,不论目录为不为空,都可删除):

        技术分享

    

    

    

        

        

    

    

本文出自 “菜鸟的技术文档” 博客,请务必保留此出处http://zhubo.blog.51cto.com/11395641/1843390

以上是关于Linux根文件系统的主要内容,如果未能解决你的问题,请参考以下文章

什么时候要重新制作Linux的根文件系统?谢谢

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

Linux根文件系统学习总结

Linux根文件系统

[架构之路-30]:目标系统 - 系统软件 - Linux OS根文件系统rootfs的概念组成制作以及用busybox制作根文件系统

嵌入式Linux系统中根文件系统构建方式