聊一聊linux目录结构与根文件系统
-
首- 先,我们来了解一下LINUX系统中的一些基本概念,姑且放在这一话题中。
1,Linux系统命令规则
- 文件名严格区分字符大小写
- 文件可以使用除了”/”之外的任意字符
- 文件名长度不可超过255个字符
- 以 . (点)开头的文件为隐藏文件
- . (点)代表当前目录
- . . (两个点)代表当前目录的父目录
2,程序编译方式
-
动态编译
编译时,只调用所需要的库文件,并不将所需库文件复制到程序中,节约了内存资源。
-
静态编译
编译时,将用到的库文件复制一份包含到程序中。缺点是程序体积较大。
3,终端
终端是一个硬件设备,其关联一个用户接口。
4,操作系统的组成
操作系统大致上由:内核文件、应用程序和库文件组成。
其中,应用程序又包括:
- 二进制文件
- 配置文件
- 库文件
- 帮助文件
5,程序包管理器
一个应用程序中包含的文件数量众多,为了便于管理:安装和卸载,往往将程序的组成文件(很多很乱)打包成一个或有限的几个文件,而程序包管理器,顾名思义,专门负责管理这些打包后的程序包。
下面介绍一些Linux发行版的程序包管理器:
Debian:dpkg apt-get(前端管理工具)
RedHat: rpm yum(前端管理工具),最新版本的为dnf
SuSE:rpm zypper(前端管理工具)
ArchLinux: Port6, 下面,我们来讨论一下,Linux的目录结构与根文件系统!
Linux的目录结构称为Filesystem Hierarchy Standard,即文件系统的层级结构标准,简称为FHS。
那么,FHS是是如何规定的呢?如下图所示;
/bin : 所有用户可用的基本命令程序文件
/sbin : 供系统管理使用的工具程序
/boot : 引导加载器所必须用到的个静态文件:kernel,initramfs(initrd),grub等;
/dev : 存储特殊文件和设备文件;设备分为:字符设备(线性设备)和块设备(随机设备)。
/etc : 系统程序的配置文件,只能为静态; /home : 普通的家目录的几种位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,即/home/USERNAME
/root : 管理员的家目录;
/lib : 为系统启动或根文件系统上的用用程序(/bin,/sbin)提供共享库,以及为内核提供内核版块。
- libc.so.* : 动态链接的C库
- ld* : 运行时链接器/加载器
- modules : 用于存储内核模块的目录
/lib64 : 64为系统特有的存放64位共享库的路径。
/media : 便携式设备挂载点,cdrom,floppy等。
/mnt : 其它文件系统的临时挂载点。
/opt : 附加应用程序的安装位置;可选路径。
/srv : 当前主机为服务提供的数据。
/tmp : 为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所有用户执行写入操作;有特殊权限;
/usr : usr Hierarchy,全局共享的只读数据路径;
- bin,sbin
- lib,lib64
- include:C程序头文件
- share : 命令手册页和自带文档特有的文件的存储位置
- local : 另一个层级目录
- XllR6 : X-window程序的安装位置
- src : 程序源码文件的存储位置
/usr/local : Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;
/var : /var Hierarchy,存储长发生变化的数据的目录;
- cache : Application cache data
- lib : Variable state information
- local : Variable data for /usr/local
- lock : Lock files
- log : Log files and directories
- opt : Variable data fot /opt
- run : Data relevant to running processes
- spool : Application spool data
- tmp : Temporary files preserved between system reboots
/proc : 基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;他们多为内核参数,例如net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys/,因此其完整路径为/proc/sys/net/ipv4/ip_forward;
/sys : sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的接口;
7 ,路径
绝对路径
从根目录/到目标位置的路径-
相对路径
从当前所在目录到目标位置的路径假设文件test.c的绝对路径为/home/student/test.c,若当前目录为/home,则其相对路径为 ./student/test.c~代表主目录. 代表当前目录.. 代表父目录五,8, 系统工作任务类型
大致可以分为一下几类:
- 目录管理
- 文件管理
- 设备管理
- 运行程序
- 进程管理
- 软件管理
- 网络管理