Linux目录结构
/:根目录。位于linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/bin,/usr/bin:基本命令。系统管理员及普通用户使用的重要的linux命令和二进制(可执行)文件
/sbin,/usr/sbin,/usr/local/sbin:系统命令。系统管理员使用的可执行命令。如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能”查看”而不能设置和使用
/boot:该目录中存放系统的内核文件和引导装载程序文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可
/dev:设备(device)文件目录。存放linux系统下的设备文件,访问该目录下文件,相当于访问实际设备,存放连接到计算机上的设备(终端、磁盘驱动器、光驱及网卡等)的对应文件,包括字符设备和块设备等
/etc:系统配置文件存放的目录。该目录存放系统的大部分配置文件和子目录,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11(X Window系统有关)、/etc/sysconfig(与网络有关)、/etc/xinetd.d
/home:系统默认的用户宿主目录。新增用户账号时,用户的宿主目录都存放在此目录下,~表示当前用户的宿主目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据
/lib,/usr/lib,/usr/local/lib:系统使用的函数库的目录。典型的linux系统包含了C、C++和FORTRAN语言的库文件。目录/lib/modules包含了可加载的内核模块,/lib目录存放了所有重要的库文件,其他的库文件则大部分存放在/usr/lib目录下
/lost+fount:在EXT2或EXT3文件系统中,当系统意外崩溃或机器意外关机,产生的一些文件碎片放在这里。在系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方法来修复,或者移动文件到运来的位置上
/mnt,/media:mnt目录主要用来临时挂载文件系统。为某些设备提供默认挂载点,如floppy,cdrom。当挂载了一个设备如光驱时,就可以通过/mnt/cdrom访问光驱上的文件
/opt:给主机额外安装软件所摆放的目录。自行安装的软件,可以安装在该目录下。以前的 Linux系统中,习惯放置在/usr/local目录下
/proc:操作系统运行时,进程及内核信息(比如CPU、硬盘分区、内存信息等)存放在这里。存在于内存之中。比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等
/root:系统管理员root的宿主目录。系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下
/tmp:一般用户或正在执行的程序临时存放文件的目录。任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录。如www服务需要访问的网页数据存放在/srv/www内
/usr:应用程序存放目录。/usr/bin存放应用程序, /usr/share存放共享数据,/usr/lib存放函数库文件,/usr/local 存放软件升级包,/usr/share/doc存放系统说明文件
/usr/share/man:程序说明文件存放目录。使用man ls时会查询/usr/share/man/man1/ls.1.gz的内容,建议单独分区,设置较大的磁盘空间
/var:放置系统执行过程中经常变化的文件。如随时更改的日志文件/var/log。/var/spool/mail邮件存放的目录。建议单独分区,设置较大的磁盘空间
/dev目录
这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备
设备文件分为两种:块设备文件(b)和字符设备文件(c),设备文件一般存放在/dev目录下,对常见设备文件作如下说明:
/dev/hd[a-t]:IDE设备
/dev/sd[a-z]:SCSI设备
/dev/fd[0-7]:标准软驱
/dev/md[0-31]:软raid设备
/dev/loop[0-7]:本地回环设备
/dev/ram[0-15]:内存
/dev/null:无限数据接收设备,相当于黑洞
/dev/zero:无限零资源
/dev/tty[0-63]:虚拟终端
/dev/ttyS[0-3]:串口
/dev/lp[0-3]:并口
/dev/console:控制台
/dev/fb[0-31]:framebuffer
/dev/cdrom:光盘挂载
/dev/modem
/dev/pilot
/dev/random:随机数设备
/dev/urandom:随机数设备
/etc目录
/etc/rc,/etc/rc.d:启动、或改变运行级
/etc/passwd:用户数据库
/etc/fstab:包含了你的电脑上的存储设备及其文件系统的信息。用fstab可以自动挂载各种文件系统格式的硬盘、分区、可移动设备和远程设备等
/etc/group:类似/etc/passwd。但说明的不是用户而是用户组
/etc/inittab:init的配置文件。设定系统启动时init进程将把系统设置成什么样的runlevel
/etc/issue:登录提示语。终端模式才可以看到(Ctrl+Alt+F1)
/etc/motd:Message Of The Day。例如:管理员通知用户系统何时进行软件或硬件的升级、何时进行系统维护等。/etc/issue的文件内容显示在login提示符之前,而/etc/motd内容显示在用户成功登录系统之后
/etc/mtab:记载当前系统已经装载的文件系统。mount挂载、umount卸载时都会被更新
/etc/shadow:所有用户的密码。只有root可以修改
/etc/login.defs:login命令的配置文件
/etc/printcap:类似/etc/termcap ,但针对打印机语法不同
/etc/profile , /etc/csh.login , /etc/csh.cshrc:登录或启动时Bourne或C shells执行的文件,这允许系统管理员为所有用户建立全局缺省环境
/etc/securetty:确认安全终端。规定“root”用户可以从哪个TTY设备登录,一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权
/etc/shells:有效登陆shell的列表,在调用chsh改变登陆shell时,会查询这个文件
/etc/sysconfig:网络配置相关目录
/etc/DIR_COLORS:设定颜色
/etc/HOSTNAME:设定用户的节点名
/etc/NETWORKING:只有YES标明网络存在
/etc/host.conf:该文件指定如何解析主机名
/etc/hosts:设定用户自已的IP与名字的对应表
/etc/hosts.allow,/etc/hosts.deny:控制远程访问设置
/etc/hosts.equiv:设置远端机不用密码
/etc/inetd.conf:保存了系统提供internet服务的数据库
/etc/inetd.pid:inetd进程id
/etc/hosts.lpd:设定远端有哪些节点可以使用本机的打印机
/etc/gateways:设定路由器
/etc/protocols:设定系统支持的协议
/etc/named.boot:named启动时需要读取这个初始化文件
/etc/named.pid:named进程id
/etc/networks:设定网络的配置文件
/etc/resolv.conf:用于设置DNS服务器的IP地址及DNS域名
/etc/services:记录网络服务名和它们对应使用的端口号及协议
/etc/exports:设定NFS服务器用
/etc/NNTP_INEWS_DOMAIN:设置新闻服务器的配置文件
/etc/nntpserver:设置用户使用的新闻服务器的地址
/etc/XF86Config:X Window的配置文件
/etc/hostid:系统独有的一个硬件id
/etc/at.deny:设置哪些用户不能使用at命令
/etc/bootptab:给MAKEDEV程序设定各种不同的设备驱动文件的格式
/etc/makedev.cfg:同DEVINFO一样给MAKEDEV使用的设置文件
/etc/diphosts:设置拔号服务器的用户名和口令
/etc/slip.hosts、/etc/slip.login:设定SLIP的配置文件
/etc/fastboot:使用shutdown -f产生的,重启系统要查这个文件
/etc/ftpaccess:FTP服务器的一些配置
/etc/ftpconversions:设定在FTP时使用的过滤器的位置
/etc/ftpusers:设定不能使用FTP服务的用户
/etc/ld.so.cache:查找系统动态链接库的缓存
/etc/ld.so.conf:系统动态链接库的路径
/etc/lilo.conf:lilo的配置文件
/etc/magic:给file命令使用的
/etc/aliases:给sendmail使用的设置别名的文件
/etc/motd:超级用户发布通知的地方
/etc/organization:存放用户的名字和组织
/etc/pnpdevices:列出支持的Plug&Play设备
/etc/snooptad:监控用户的屏幕,监听的终端列表
/etc/sudoers:可以sudo命令的配置文件
/etc/syslog.conf:系统日志记录程序syslogd的配置文件
/etc/utmp:目前在用系统的用户信息
/etc/wtmp:同utmp差不多,只是它累加
/etc/nologin:系统在shutdown时不希望用户登录就产生这个文件
/etc/termcap:设置系统终端信息的
/etc/ttys:设定系统的终端类型
/etc/gettydefs:getty_ps的定义文件
/etc/yp.conf:NIS的配置文件
/etc/mtools.conf:设定mtools程序的参数
/etc/fdprm:设定格式化软盘的参数
/etc/login.access:控制用户登录权限的文件
/proc目录
/proc/cmdline:加载 kernel 时所下达的相关参数,查阅此文件,可了解系统是如何启动
/proc/cpuinfo:本机的 CPU 的相关资讯,包含时脉、类型与运算功能等
/proc/devices:这个文件记录了系统各个主要装置的主要装置代号,与 mknod 有关
/proc/filesystems:目前系统已经加载的文件系统
/proc/interrupts:目前系统上面的 IRQ 分配状态
/proc/ioports:目前系统上面各个装置所配置的 I/O 位址
/proc/kcore:系统的物理内存
/proc/loadavg:系统平均负载
/proc/meminfo:使用 free 列出的内存资讯,在这里也能够查阅到
/proc/modules:目前 Linux 已经加载的模块列表
/proc/mounts:系统已经挂载的数据,就是用 mount 命令
/proc/swaps:交换空间的使用情况
/proc/partitions:可以查看分区信息(fdisk -l)
/proc/pci:系统中的PCI设备列表(lspci)
/proc/uptime:系统已经运行了多久
/proc/version:Linux内核版本和gcc版本(uname -a)
/proc/bus/*:系统总线(Bus)信息,例如pci/usb等
/usr目录
/usr:最庞大的目录,因为所有应用程序几乎都安装在这里, 本地安装的程序和其他东西在/usr/local 下
/usr/etc:存放配置文件
/usr/games:存放游戏和教学文件
/usr/include:开发和编译应用程序所需要的头文件
/usr/share:存放结构独立的数据
/usr/bin:几乎所有用户命令。有些命令在/bin 或/usr/local/bin 中
/usr/sbin:根文件系统不必要的系统管理命令,例如多数服务程序
/usr/share/man , /usr/share/info , /usr/share/doc:手册页、GNU信息文档和各种其他文档文件
/usr/lib:编程的原始库存在/usr/lib里
/usr/local:本地安装的软件和其他文件放在这里,/usr/local/bin存放本地增加的命令,/usr/local/include存放本地增加的头文件
/usr/src:存放程序的源代码,linux内核的源代码存放在/usr/src/kernels
/var目录
/var:包括系统一般运行时要改变的数据。每个系统是特定的,即不通过网络与其他计算机共享
/var/catman:当要求格式化时的man页的cache.man页的源文件一般存在/usr/man/man* 中;有些man页可能有预格式化的版本,存在/usr/man/cat* 中。而其他的man页在第一次看时需要格式化,格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待格式化了(/var/catman 经常被清除,就象清除临时目录一样.)
/var/lib:系统正常运行时要改变的文件
/var/local,/usr/local:安装的程序的可变数据
/var/lock:锁定文件。许多程序遵循在/var/lock中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件
/var/log:各种程序的Log文件
/var/run:保存到下次引导前有效的关于系统的信息文件
/var/spool,/var/mail,/var/news:打印队列和其他队列工作的目录。每个不同的spool在/var/spool 下有自己的子目录,例如,用户的邮箱在/var/spool/mail 中
/var/tmp:备份一个当前编辑程序。比/tmp存在较长时间的临时文件