Linux目录树(directory tree)
分层结构(不同于数据库文件系统),单个文件/目录的最大长度为255个字符,完整路径为4096个字符
特殊的文件系统
文件系统 |
挂载点 |
说明 |
Root |
/ |
Linux系统运行的基点 |
Proc |
/proc |
以文件系统的方式为访问系统内核数据的操作接口(2.4,2.6) |
Sysfs |
/sys |
以文件系统的方式为访问系统内核数据的操作接口(2.6) |
Tmpfs |
/dev,/var/run,/var/lock |
程序访问共享内存资源时使用的文件系统 |
Usbfs |
/proc/bus/usb |
访问usb设备时使用的文件系统 |
Devpts |
/dev/pts |
内核用来与伪终端进行交互的文件系统 |
Swap |
内核使用的特殊文件系统,无挂载点 |
创建虚拟内存 |
/(root,根目录):目录树的起始点,衍生其它目录并与开机,还原,系统修复有关,因此根目录越小越好
/bin |
单用户维护模式下操作命令/执行文件,一般用户即可执行的命令 基本系统所需的命令。功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令。 |
/sbin |
开机过程中所需要的设置系统环境/系统维护文件,需要root权限 |
/dev |
设备和接口以文件形式存放于这个目录,读写文件相当于操作接口/设备 |
/etc |
系统主要的配置文件(不要放置可执行文件binary) |
/lib |
执行文件所需的函数库与内核所需的模块 库文件和内核模块 |
/boot |
开机所用文件,Linux内核(加载)文件/开机菜单/开机配置文件等(vmlinuz/grub) 内核和加载内核所需的文件。一般情况下,GRUB 或 LILO 系统引导管理器也位于这个目录。 |
/home |
用户主文件夹(home directory) |
/media |
可删除的设备软盘/media/floppy,光盘/media/cdrom 即插即用型存储设备的挂载点自动在这个目录下创建,比如 USB盘、CDROM/DVD自动挂载后,也会在这个目录中创建一个目录。 |
/mnt |
暂时挂载 |
/opt |
第三方软件配置 |
/root |
系统管理员主文件夹 |
/srv |
网络服务所需的数据 存放本系统提供的站点服务数据。 |
/tmp |
临时文件夹 |
/lost+found |
这个目录通常在ext2/ext3分区的最顶层,目的在于文件系统发生错误时,将一些丢失的片段放置到这个目录下 |
/proc |
虚拟文件系统(virtual filesystem),在内存中记录内核,进程,设备状态等 |
/sys |
虚拟文件系统,记录内核相关信息,加载的内核模块/检测到的硬件设备等 |
/usr |
Unix操作系统软件资源(UNIX Software Resource)类似于Program file 存放用户使用系统命令和应用程序等信息,比如命令、帮助文件等。 |
/var |
运行时产生的动态文件,包括缓存(cache),登陆文件(log file),程序文件(lock file,run file),数据库文件等 存放经常变动的数据。 |
其它重要目录
/usr/X11R6 存放 X Window 的目录
/usr/bin 存放了许多用户命令
/usr/games
存放游戏和教育类软件
/usr/include 存放Linux下开发和编译应用程序所需要的头文件
/usr/lib
放一些常用的动态链接共享库和静态档案库
/usr/local 供给本地用户的/usr目录,在这里安装本地的应用软件
/usr/sbin
存放root超级用户使用的管理程序
/usr/share 系统共用的东西存放地,如:手册、文档、字体等
/usr/src 是内核源码存放的目录
/usr/X11R6/ |
X Windows系统重要数据放置目录 |
/usr/bin/ |
绝大部分用户可以使用的命令(有别于/bin 是否与开机过程有关) |
/usr/include/ |
C/C++等语音的头文件与包含文件 |
/usr/lib/ |
应用软件函数库,目标文件,不被一般用户惯用的执行文件或脚本 |
/usr/local/ |
系统管理员自行安装下载软件的目录 |
/usr/sbin/ |
非系统正常运行所需要的系统命令 |
/usr/share/ |
共享文件,几乎不分硬件架构均可读取的数据 |
/usr/src/ |
源码目录(内核源码放于/usr/src/linux下) |
/var/cache/ |
程序运行过程中的暂存文件 |
/var/lib/ |
数据文件放置的目录,如MySQL:/var/lib/mysql,rpm:/var/lib/rpm |
/var/lock/ |
设备/文件只能被一个程序所访问(Lock),如刻录机,打印机等 |
/var/log/ |
登陆文件,如:/var/log/messages,/var/log/wtmp(登陆者信息)等 |
/var/mail/ |
个人信箱目录,通常与/var/spool/mail/互为链接文件 |
/var/run/ |
服务启动的pid存放目录 |
/var/spool/ |
队列数据,如新信件/var/spool/mail,发信件/var/spool/mqueque等 |
/etc/X11/ |
X Windows的设置目录 |
/etc/altermatives |
存储具有相同功能程序的二/多选一的链接目录 |
/etc/apm |
高级电源管理的配置目录 |
/etc/init.d |
守护进程启动脚本目录 |
/etc/logrotate.d |
日志滚动脚本的配置目录 |
/etc/lvm |
LVM2配置目录 |
/etc/opt |
/opt应用程序的配置目录 |
/etc/pam.d |
PAM配置目录 |
/etc/pcmcia |
Pcmcia设备配置目录 |
/etc/ppp |
Ppp设备配置目录 |
/etc/rc?.d |
启动,改变运行时的scripts目录 |
/etc/skel |
普通用户初始化环境目录 |
/etc/ssh |
Ssh的配置目录 |
/etc/vim |
Vim的配置目录 |
/etc/w3m |
W3m的配置目录 |
/etc/yum |
Yum的配置目录 |
/etc/yum.repos.d |
Yum源的配置目录 |
/proc/n |
N为PID,每个进程在/proc下有一个名为其进程号的目录 |
/proc/cpuinfo |
处理器信息,如:类型,制造商,型号,性能 |
/proc/devices |
当前运行的核心配置的设备驱动列表 |
/proc/dma |
当前使用的DMA通道 |
/proc/filesystems |
核心配置的文件系统 |
/proc/interrupts |
使用的中断 |
/proc/ioports |
使用的I/O端口 |
/proc/kcore |
系统物理内存映像,与物理内存大小完全一样,但不实际占用内存 |
/proc/kmsg |
核心输出的消息,也被送到syslog |
/proc/ksyms |
核心符号表 |
/proc/loadavg |
系统负载均衡:3个指示器指出当前的工作量 |
/proc/meminfo |
存储器使用信息,包括物理内存和虚拟内存 |
/proc/modules |
当前加载的核心模块 |
/proc/net |
网络协议状态 |
/proc/self |
查看/proc目录的程序的符号链接, |
/proc/stat |
系统状态 |
/proc/uptime |
系统启动的时间长度 |
/proc/version |
内核版本信息 |
绝对目录&相对路径
绝对路径以根目录(/)开始,如:/home等,相对路径,如:cd var/log cd ../../home等
Linux文件
Linux系统并不刻意区分文件的类型,但可以按照管理添加后缀,文件名最长为255个字符,完整路径长度为4096个字符,文件名避免特殊字符 *?<>;&![]|(){}
文件种类(ls -l第一个字符)
- 普通文件(regular file):纯文本文件(ASCII cat可查看)/二进制文件(binary可执行文件)/数据格式文件(data如日志文件等特殊文件cat时会乱码)/源代码/shell脚本等:
d 目录文件(directory):目录是一种特殊类型的文件,存储其下的文件名和节点,由linux管理维护,用户可以访问但无法直接修改目录文件的内容
l 链接(link)文件:是那个不同的文件名引用同一个数据或程序,(指向同一个block节点)也称为硬连接(适用于同一文件系统),任何一个文件更新都会反映到其它文件中.符号链接文件能够跨越不同的物理文件系统建立连接文件,符号连接文件本身也是一种单独的数据文件,其内容是指向文件或目录的路径名
设备文件(device)/特殊文件(special type):
b 块(block)设备文件:采用与数据块组织结构和处理方式的设备(磁盘)相关联,以固定长度的数据块传输数据,也能够随机访问其中的任何数据块的存储设备,如磁盘与内存之间通常以数据块的方式传输数据,借助文件系统,可以在磁盘的任何位置读写热议的字节的数据
c 字符(character)设备文件:任何非数据块组织的设备均为字符设备,字符设备无法随机访问(不能对键盘随机截取),其最底层的I/O接口一次只能处理一个字符,鼠标,键盘,控制台终端,打印机等串口设备都是字符特殊文件
s 套接字(sockets) :用于网络上数据的连接,以及进行数据通信
p 管道(FIFO,pipe):First-in-first-out先进先出,主要目的是解决多个程序同时访问一个文件所造成的错误问题,Linux系统存在两种管道:普通管道/管道文件,普通管道是一个可用文件描述符标识和存取的数据缓冲区,当程序执行结束后自动消失,管道文件作为一个特殊文件存在于系统文件系统中,故管道文件也被称谓命名的管道(named pipe)