Linux基础目录名称命名法则及功用规定
文件系统
文件和目录被组织成一个单根倒置树结构
文件系统从根目录下开始,用'/'表示
根文件系统(rootfs) :root filesystem
文件名称 区分大小写
以'.' 开头的文件为隐藏文件
文件路径以 '/' 分割
文件有两类数据:
元数据(metadata):存放文件名,大小属性等
数据(data):存放文件的内容
文件名规则:
* 文件名最长255 个字节
* 包括路径在内文件名称最长4095 个字节
* 蓝色--> 目录 绿色--> 可执行文件 红色--> 压缩文件 浅蓝色--> 链接文件 灰色--> 其他文件
* 除了斜杠和NUL, 所有字符都有效. 但使用特殊字符的目录名和件不推荐使用,有些字符需要用引号来引用它们。
* 标准Linux 文件系统(如ext4 ),文件名称大小写敏感。
例如:MAIL, Mail, mail, mAiL
linux目录命名法则
linux文件系统是采用FHS 文件系统层级结构标准
Filesystem Hierarchy Standard 具体内容:
/bin:所有用户可用的基本命令程序文件;
/sbin:供系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;
/dev:存储特殊文件(虚拟文件)或设备文件;
设备有两种类型:
字符设备(线性设备:有时序: 键盘)
块设备(随机设备:内存);
/etc:系统程序的配置文件,只能为静态;不能为二进制程序
/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,
/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:另一个层级目录;
X11R6: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 for /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设备提供一种统一模型的的接口;
更多内容可参考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/
Linux 上的应用程序的组成部分
- 二进制程序:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin
- 库文件:/lib, /lib64, /usr/lib, /usr/lib64,/usr/local/lib, /usr/local/lib64
- 配置文件:/etc, /etc/DIRECTORY, /usr/local/etc
- 帮助文件:/usr/share/man, /usr/share/doc,/usr/local/share/man, /usr/local/share/doc
Linux下的文件类型
- :普通文件
d: 目录文件
b: 块设备
c: 字符设备
l: 符号链接文件
p: 管道文件pipe
s: 套接字文件socket