Linux目录结构

(转自:网络

linux目录结构

目录概要:

/: 根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中。 /bin && /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。 /sbin && /usr/sbin && /usr/local/sbin: 放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。 /boot: 放置linux系统启动时用到的一些文件,如/boot/vmlinuz(linux的内核文件)、/boot/grub(linux启动时引导)。建议单独分区,分区大小100M即可。 /dev: 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。 /etc: 系统配置文件存放的目录,不建议在此目录下存放可执行文件。重要的配置文件如/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d等,修改配置文件之前记得备份。注:/etc/X11存放与X server有关的设置。 /home: 系统默认的用户目录,新增用户时,用户的根目录都存放在此目录下,~表示当前用户的根目录,~test表示用户test的根目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据。 /lib && /usr/lib && /usr/local/lib: 系统使用的函数库目录,程序在执行过程中,调用额外参数时需要函数库的协助。比较重要的目录为/lib/modules。 /lost+fount: 系统异常产生错误时,会将一些遗失的片段放置于此目录下。通常这个目录会自动生成,如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found。 /mnt: && /media: 光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也可以选择任意位置进行挂载。 /opt: 给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下 /proc: 此目录的数据都在内存中,如系统核心、外部设备、网络状态。由于数据都存放于内存中,所以不占用磁盘空间。比较重要的目录有/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/log/message存放所有的登录文件;/var/spool/mail存放邮件文件;/var/run存放程序或服务启动后对应的PID,建议单独分区。

详细解释:

/dev 目录

****dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要,因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

Linux沿袭Unix的风格,将所有设备认成是一个文件。设备文件分为两种:块设备文件(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/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot => /dev/ttyS[0-9]
/dev/random:随机数设备

/dev目录下的节点是怎么创建的?devf或者udev会自动帮你创建的。kobject是sysfs文件系统的基础,udev通过监测、检测sysfs来获取新创建的设备的。

/etc 目录

/etc/rc && /etc/rc.d && /etc/rc*.d:启动、或改变运行级时运行的scripts或scripts的目录
/etc/passwd:用户数据库,其中的域给出了用户名、真实姓名、根目录、加密的口令和用户的其他信息 
/etc/fstab:启动时mount -a命令(在/etc/rc或等效的启动文件中)自动mount的文件系统列表,Linux下,也包括用swapon -a启用的swap区的信息
/etc/group:类似/etc/passwd,但说明的不是用户而是组
/etc/inittab:init的配置文件
/etc/issue:getty在登录提示符前的输出信息,通常包括系统的一段短说明或欢迎信息。内容由系统管理员确定
/etc/motd:Message Of The Day,成功登录后自动输出,内容由系统管理员确定。经常用于通告信息,如计划关机时间的警告
/etc/mtab:当前安装的文件系统列表,由scripts初始化,并由mount命令自动更新。需要一个当前安装的文件系统的列表时使用,例如df命令
/etc/shadow:在安装了影子口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd文件中的加密口令移动到/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登录。一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权
/etc/shells:列出可信任的shell,chsh命令允许用户在本文件指定范围内改变登录shell
/etc/sysconfig:网络配置相关目录

 /usr 目录

/usr文件系统经常很大,因为所有程序安装在这里。/usr里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local下。这样可能在升级新版系统或新distribution时无须重新安装全部程序。

/usr/etc 存放设置文件
/usr/games 存放游戏和教学文件
/usr/include 存放C开发工具的头文件
/usr/share 存放结构独立的数据
/usr/bin 几乎所有用户命令.有些命令在/bin或/usr/local/bin中
/usr/sbin 根文件系统不必要的系统管理命令,例如多数服务程序
/usr/share/man && /usr/share/info && /usr/share/doc 手册页、GNU信息文档和各种其他文档文件 
/usr/include C编程语言的头文件,为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字
/usr/lib 程序或子系统的不变的数据文件,包括一些site-wide配置文件.名字lib来源于库(library); 编程的原始库存在/usr/lib 里 
/usr/local 本地安装的软件和其他文件放在这里 
/usr/src 存放程序的源代码

文件种类:

正规文件(regular file):就是一般类型的文件,在由 ls –al 所显示出来的属性方面,第一个属性为 [ - ]。另外,依照文件的内容,又大略可以分为两种文件种类: 纯文字文件(ascii):这是 Unix 系统中最多的一种啰,几乎只要我们可以用来做为设定的文件都属于这一种; 二进制文件(binary):通常执行档除了 scripts (文字型批次文件)之外,就是这一种文件格式; 目录(directory):就是目录!第一个属性为 [ d ]; 连结档(link):就是类似 Windows 底下的快捷方式啦!第一个属性为 [ l ]; 设备档(device):与系统周边相关的一些文件,通常都集中在 /dev 这个目录之下!通常又分为两种: 区块(block)设备档:就是一些储存数据,以提供系统存取的接口设备,简单的说就是硬盘啦!例如你的一号硬盘的代码是 /dev/hda1 等等的文件啦!第一个属性为 [ b ]; 字符(character)设备档:亦即是一些串行端口的接口设备,例如键盘、鼠标等等!第一个属性为 [ c ]。

« 返回