linux10 Linux目录结构和根文件系统全面讲解
一、回顾
1、如何获取使用帮助
help,--help,man,info
官方文档,自带文档(README,CHANGELOG,INSTALL),官方文档
发行版的文档
Linux Kerenl:官方的Documentation
manual:使用手册
whatis keyword
man # KEYWORD
SECTION:
[],<>,|,{}
控制命令:
Space,b
Enter,k
Ctrl+d,Ctrl + u
q
#G
/keyword
?keyword
2、基础命令:pwd,cd,ls,echo,date,clock, cal,hwclock,cat,tac,file,type,tty,halt,poweroff,shutdown,reboot
二、Linux详解
1、Linux组成
2、Linux文件系统
Linux:Linux操作系统来讲我们通用的系统库由glibc,即GNU的标准C库。市面上我们见过的绝大数应用程序都或多或少的使用了此库中的函数。
a、程序编译方式(编译:把程序的源代码转换成二进制格式的CPU指令)
动态链接式编译
静态链接式编译
b、进程的类型
与终端相关:通过终端启动
与终端无关:操作系统引导启动过程当中自动启动
终端:硬件设备,关联一个用户接口
c、操作系统的组成
静态:kernel,application
文件系统:层级结构
d、FHS: Filesystem Hierarchy Standard文件系统的层级结构标准
/bin:所有用户可用的基本命令程序文件
/sbin:供系统管理使用的工具程序
/boot:引导加载器必须用到的各静态文件:kernel,initramfs(initrd),grub等
/dev:存储特殊文件或设备文件
设备有两种类型:字符设备(线性设备,意味着扫描是有时序的,有先有后),块设备(随机设备,可用随机访问,比如硬盘)。
/etc:系统程序的配置文件,只能为静态
/home:普通用户的家目录的集中位置:一般每个普通用户的家目录默认为此目录下与用户名同名的子目录/home/USERNAME。推荐的一本书:《奇点临近》
/root:管理员的家目录,可选
/lib:为系统启动或根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块。
libc.so.*:动态链接的C库
ld*:运行时链接器/加载器
modules:用于存储内核模块的目录
/lib64:64位系统特有的存放64位共享库的路径。因为兼容32位,因此32位的库对于64位的操作系统来讲依然在/lib下,对于64位的系统,他的内核模块的目录路径modules依然在/lib下而没有在/lib64目录下
/media:便携式设备挂载点,cdrom,floppy,等
/mnt:其它文件系统的临时挂载点
/opt:附加应用程序的安装位置
/srv:当前主机为服务提供的数据
/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录,可供所有用户执行写入操作,有特殊权限。
/usr:usr Hierarchy,全局共享的只读数据路径。一个单独的层级目录
bin,sbin
lib,lib64
include:C程序头文件
share:命令手册页和命令自带文档等架构特有的文件的存储位置
local:另一个层级目录
X11R6:X-Window程序的安装位置
src:程序源码文件的存储位置
/usr/local:Local hierarchy,让系统管理员安装本地应用程序,也通常用于安装第三方程序
/var:/var Hierarchy:存储常发生变化的数据目录
/proc:虚拟文件系统,用于为内核及进程存储其相关信息,他们多为内核参数,例如net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys/,因此其完整路径为/proc/sys/net/ipv4/ip_forward,
/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径。其主要作用在于为管理Linux设备提供了一种统一模型的接口。