如何使用帮助
- help
- –help,man,info
- 自带文档(README,CHANGELOG,INSTALL),官方文档
- 发行版的文档
Linux Kerenl:Documentation
whatis keyword:在使用手册内容中的查询关键词
man (n) KEYWORD:查看关键词在具体章节中内容
程序编译方式
Linux基本库包含
- 动态链接式编译:
程序将需要调用库的代码复制到编译程序本身,程序运行不依赖库内文件,节约内存资源。体积大,难开发。 - 静态链接式编译:
程序运行需要用到库时,从库调用,如库中没有匹配的库则程序无法运行。体积小,易开发
进程的类型
- 与终端相关:依赖终端启动的进程
- 与终端无关:操作引导启动过程当中自启动
操作系统的组成
从静态观点看,由kernel+application构成
由文件系统组织成层级结构
FHS(Filesystem Hierarchy Standard 文件系统层次化标准)
- /bin
供所有用户使用的基本命令文件目录 - /sbin
供系统管理员使用的命令程序目录 - /boot
引导加载器必须用到的各静态文件目录。包括kernel,initramfs(initrd),grub等 - /dev
特殊文件(如虚拟设备)或设备文件目录
设备分为:
- 字符设备(线性设备)
有时序的,只能以字符方式输入输出的设备,如:键盘- 块设备(随机设备)
以数据块方式输入输出的设备, 如:硬盘
- /etc
主机特有的系统配置文件,只能是静态,不能是程序执行文件,拥有自己独立的层级结构(opt,X11,sgml,xml) - /home
普通用户家目录(optional 可选的目录) - /root
管理员家目录(optional 可选的目录) - /lib
基础共享库和内核模块目录,为 /bin 和 /sbin 目录下的文件提供共享库
libc.so.:动态链接的C库
Id:运行链接器/加载器
modules:存储内核模块的目录
- /lib<qual>
64位即以上系统特有的库文件目录 - /media
挂载便携设备的目录 - /mnt
其它文件系统的临时挂载目录 - /opt
扩展应用程序包目录(optional 可选的目录) - /srv
当前主机提供特有服务的数据目录 - /tmp
临时文件目录,供所有用户执行写入操作,有特殊权限 - /usr
usr hierarchy,全局共享的只读文件目录
子目录:
- /bin
- /sbin
- /lib
- /lib<qual>
- /include(C程序头文件)
- /share(参考手册和自带文档等架构特有的文件目录)
- /local(local hierarchy,系统管理员用于安装本地应用程序或第三方的目录,local目录也拥有自己的独立层级结构 ),/X11R6(X-Window程序安装目录)
- /src:程序源码文件的储存目录
- /var
var hierarchy,存储常发生变化的数据目录
- cache – Application cache data
- lib – Variable state information
- local – Variable data for /usr/local
- lock – lock tiles
- log – log files and directuries
- opt – Variable data for /opt
- run – Data relevant to running processes
- spool – Application spool data
- tmp – Temporary files preserved between system reboots
- /proc
基于内存的虚拟文件系统,将内核和进程信息的虚拟路径抽象为文件信息模式进行保存,多为内核参数,如:net.ipv4.ip-forward通过proc虚拟为net/ipv4/ip-forward,完整路径为/proc/sys/net/ipv4/ip-forward,存储于/proc/sys下 - /sys
sysfs虚拟文件提供一种比proc更为理想的访问内核数据的途径,其主要作用在于为管理Linux设备提供一种统一模型的接口。
参考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs