linux系统目录结构

时间:2022-03-09 05:24:37

linux系统目录结构

linux系统目录结构

/boot 

该目录默认下存放的是Linux的启动文件和内核,引导程序文件。

  • initramfs-* 系统启动时的模块供应的主要来源,启动系统所需加载的虚拟磁盘 System.map-* System.map文件是一个索引文件,它记录了kernel中的symbols的位置,symbols包括有变量或函数名称。
  • vmlinuz-* 实际上就是系统的kernel
  • kernel主要负责的是北桥、南桥、CPU及内存,可见它们都是整个主机最重要的硬件核心部分,kernel如果出了问题,系统肯定无法启动起来;
  • config-* 为系统Kernel配置文件

/bin 

该目录中存放Linux的常用命令,面向所有用户。linux bin目录,常用的命令应用程序:ls -l /bin

  •     at 将文件链接到标准输出
  •     chgrp 改变文件所在组
  •     chmod 改变文件访问权限
  •     chown 改变文件所有者和组
  •     cp 复制文件和目录
  •     date 打印或者设置系统日期和时间
  •     dd 转换和复制文件
  •     df 报告文件系统磁盘空间使用情况
  •     dmesg 打印或控制内核消息缓存区
  •     echo 显示一行文本
  •     false 什么也不做,只返回不成功的工具
  •     hostname 显示或者设置系统主机名
  •     kill 向进程发送消息
  •     ln 文件之间创建链接
  •     login 在系统上开启会话
  •     ls 列出目录文件
  •     mkdir 创建目录
  •     mknod 创建块或字符设备文件
  •     more 按页翻看文件
  •     mount 挂载文件系统
  •     mv 移动或重命名文件
  •     ps 查看系统进程状况
  •     pwd 打印当前工作目录路径
  •     rm 删除文件或目录
  •     rmdir 删除空目录
  •     sed 流文本编辑器
  •     sh Bourne 命令shell
  •     stty 改变和打印终端行设置
  •     su 切换用户ID
  •     sync 清理文件系统缓存
  •     true 什么也不做,只返回成功
  •     umount 卸载文件系统
  •     uname 打印系统信息
  •     tar 档案工具
  •     gzip GNU压缩工具
  •     gunzip GNU解压工具
  •     zcat GUN解压工具
  •     netsatart 网络统计工具
  •     ping ICMP网络测试工具

/sbin 

该目录用来存放系统管理员使用的管理程序,必要的二进制文件,sbin目录下的命令,普通用户都执行不了。linux sbin目录,系统光临的常用命令:ls -l /sbin

  • fsck.* 针对某一特定文件系统检查和修复
  • shutdown 关闭系统
  • fsck 文件系统检查和修复
  • fdisk 操作分区表
  • mkfs.* 创建特定的文件系统
  • mkswap 设置交换分区命令
  • init 初始化启动级别
  • ifconfig 配置网络
  • update 周期性清洗文件系统缓存的后台服务
  • mkfs 创建文件系统
  • halt 关机命令
  • /sbin/sysctl -p 立即生效内核配置
  • swapon 启用交换分区
  • runlevel 查看系统启动级别
  • reboot 重启系统
  • swapoff 关闭交换分区
  • route IP路由表

/var 

变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。

  • /var/tmp 系统两次启动之间的临时数据
  • /var/spool   mail, news, 打印队列和其他队列工作的目录
  • /var/run 有关正在运行的进程数据
  • /var/log 各种程序的日志文件和目录
  • /var/lock 锁定文件
  • /var/local 是/usr/local中安装程序的可变数据
  • /var/lib 系统运行时的改变的文件
  • /var/cache 应用程序缓存

/etc 

该目录存放系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。

  • /etc/login.defs 设置用户帐号限制的文件
  • /etc/skel/ 默认创建用户时,把该目录拷贝到家目录下
  • /etc/redhat-release 查看系统版本
  • /etc/exports 设置NFS系统用的配置文件路径
  • /etc/init.d 这个目录来存放系统启动脚本
  • /etc/profile /etc/csh.login /etc/csh.cshrc 全局系统环境配置变量
  • /etc/sudoers sudo命令的配置文件
  • /etc/syslog.conf 系统日志参数配置
  • /etc/sysconfig/network-scripts/ifcfg-eth0 网卡设备eth0配置
  • /etc/sysconfig/network  IP、掩码、网关、主机名配置
  • /etc/securetty   root用户登录tty访问权限控制 
  • /etc/shadow  在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读.这使破译口令更困难.  
  • /etc/printcap  打印机配置.不同打印机语法不同. 
  • /etc/shells   有效的登陆shell的路径名称
  • /etc/resolv.conf DNS服务器配置
  • /etc/mtab   文件系统的动态信息,例如df 命令
  • /etc/hosts  本地域名解析文件
  • /etc/issue 在登录提示符前的输出信息.通常包括系统的一段短说明或欢迎信息.内容由系统管理员确定.
  • /etc/magic  file 的配置文件.包含不同文件格式的说明,file 基于它猜测文件类型.
  • /etc/motd  当天登录后的消息提示文件
  • /etc/inittab 调整系统启动级别的配置文件
  • /etc/group 类似/etc/passwd ,但说明的不是用户而是组
  • /etc/modprobe.conf 内核模块的额外参数设定
  • /etc/fstab 启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表. Linux下,也包括用swapon -a启用的swap区的信息.
  • /etc/passwd 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.
  • /etc/rc 或 /etc/rc.d 或 /etc/rc*.d 启动、或改变运行级时scripts或scripts的目录.

/dev 

该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,访问这些外部设备与访问一个文件或一个目录没有区别。

  • /dev/urandom:随机数设备
  • /dev/pilot => /dev/ttyS[0-9]
  • /dev/random:随机数设备
  • /dev/modem => /dev/ttyS[0-9]
  • /dev/cdrom => /dev/hdc
  • /dev/fb[0-31]:framebuffer
  • /dev/console:控制台
  • /dev/lp[0-3]:并口
  • /dev/ttyS[0-3]:串口
  • /dev/tty[0-63]:虚拟终端
  • /dev/zero:无限零资源
  • /dev/null:无限数据接收设备,相当于黑洞
  • /dev/ram[0-15]:内存
  • /dev/loop[0-7]:本地回环设备
  • /dev/md[0-31]:软raid设备
  • /dev/fd[0-7]:标准软驱
  • /dev/sd[a-z]:SCSI设备
  • /dev/hd[a-t]:IDE设备

/mnt 

临时将别的文件系统挂在该目录下。临时挂载的文件系统。比如cdrom,u盘等,直接插入光驱无法使用,要先挂载后使用

  • #挂载光驱
  • mount -t iso9660 /dev/cdrom /mnt/cdrom
  • #挂载光驱,支持中文
  • mount -t iso9660 -o codepage=936,iocharset=cp936 /dev/cdrom /mnt/cdrom
  • #挂载 Windows 分区,FAT文件系统
  • mount -t vfat /dev/hda3 /mnt/cdrom
  • #挂载 Windows 分区,NTFS文件系统
  • mount -t ntfs -o iocharset=cp936 /dev/hda7 /mnt/had7
  • #挂载 ISO 文件
  • mount -o loop /abc.iso /mnt/cdrom
  • #挂载 软驱
  • mount /dev/fd0 /mnt/floppy
  • #挂载闪盘
  • mount /dev/sda1 /mnt/cdrom
  • #挂载 Windows 操作系统共享的文件夹
  • mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

/root 

如果你是以超级用户的身份登录的,这个就是超级用户的主目录。

/home 

如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。用户的家目录,包含保存的文件、个人设置等,一般为单独的分区

/usr

用户的应用程序和文件几乎都存放在该目录下。

  • /X11R6 存放X window系统
  • /bin 存放增加的用户程序
  • /dict 存放字典
  • /doc 存放追加的文档
  • /etc 存放设置文件
  • /games 存放游戏和教学文件
  • /include 存放C开发工具的头文件
  • /info 存放GNU信息文件
  • /lib 存放库文件
  • /local 存放本地产生的增加的应用程序
  • /man 存放在线帮助文件
  • /sbin 存放增加的管理程序
  • /share 存放结构独立的数据
  • /src 存放程序的源代码

/lib 

该目录用来存放系统动态链接共享库,几乎所有的应用程序都会用到该目录下的共享库。/bin/ and /sbin/中二进制文件必要的库文件。

/opt

第三方软件在安装时默认会找这个目录,所以你没有安装此类软件时它是空的,但如果你一旦把它删除了,以后在安装此类软件时就有可能碰到麻烦。可选应用软件包。

/tmp

用来存放不同程序执行时产生的临时文件,该目录会被系统自动清理干净。

/lost+found

该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在

/proc 

可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里。虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下)。例如:uptime、 network。在Linux中,对应Procfs格式挂载。该目录下文件只能看不能改(包括root)

  • /proc/buddyinfo 每个内存区中的每个order有多少块可用,和内存碎片问题有关
  • /proc/execdomains Linux内核当前支持的execution domains
  • /proc/mdstat 多硬盘,RAID配置信息(md=multiple disks)
  • /proc/ioports 一个设备的输入输出所使用的注册端口范围
  • /proc/kcore 代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb
  • /proc/loadavg 根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关
  • /proc/meminfo RAM使用的相关信息
  • /proc/misc 其他的主要设备(设备号为10)上注册的驱动
  • /proc/modules 所有加载到内核的模块列表
  • /proc/mounts 系统中使用的所有挂载
  • /proc/mtrr 系统使用的Memory Type Range Registers (MTRRs)
  • /proc/partitions 分区中的块分配信息
  • /proc/slabinfo 系统中所有活动的 slab 缓存信息
  • /proc/stat 所有的CPU活动信息
  • /proc/fb 帧缓冲设备列表,包括数量和控制它的驱动
  • /proc/sysrq-trigger 使用echo命令来写这个文件的时候,远程root用户可以执行大多数的系统请求关键命令,就好像在本地终端执行一样。要写入这个文件,需要把/proc/sys/kernel/sysrq不能设置为0。这个文件对root也是不可读的
  • /proc/filesystems 内核当前支持的文件系统类型
  • /proc/kmsg 记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理
  • /proc/locks 内核锁住的文件列表
  • /proc/uptime 系统已经运行了多久
  • /proc/swaps 交换空间的使用情况
  • /proc/version Linux内核版本和gcc版本
  • /proc/bus 目录下存放 系统总线(Bus)信息,例如pci/usb等
  • /proc/driver 目录下存放驱动信息
  • /proc/fs 目录下存放文件系统信息
  • /proc/irq 中断请求设备信息
  • /proc/net 目录下,网卡设备信息
  • /proc/scsi scsi设备信息
  • /proc/dma 已注册使用的ISA DMA频道列表
  • /proc/tty tty设备信息
  • /proc/net/dev 显示网络适配器及统计信息
  • /proc/vmstat 虚拟内存统计信息
  • /proc/vmcore 内核panic时的内存映像
  • /proc/diskstats 取得磁盘信息
  • /proc/schedstat kernel调度器的统计信息
  • /proc/zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用
  • /proc/cmdline 启动时传递给kernel的参数信息
  • /proc/cpuinfo cpu的信息
  • /proc/devices 已经加载的设备并分类

文件系统的类型

LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。

  1. 普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用catlessmoreviemacs来察看内容,用mv来改名。
  2. 目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,可用ls列出目录文件。
  3. 连接文件:是指向同一索引节点的那些目录条目。用ls来查看是,连接文件的标志用l开头,而文件面后以"->"指向所连接的文件。
  4. 特殊文件:LINUX的一些设备如磁盘、终端、打印机等都在文件系统中表示出来,则一类文件就是特殊文件,常放在/dev目录内。例如,软驱A称为/dev/fd0LINUXC:的概念,而是用/dev/had来自第一硬盘。

Linux入门教程   Linux-wiki.cn