第二部分——了解LinuxOS的根目录(/)下各个目录的作用
/bin,系统由很多放置执行文件的目录,但/bin比较特殊,其放置的是在单人维护模式下还能够被操作的指令,在/bin下的指令可以被root和一般账号使用,主要有:cat、chmod、chown、date、mv、mkdir、cp、bash等常用命令
/boot,主要放置开机会使用到的文件,包括Linux核心文件及开机选单与开机所需要的配置文件等。Linux kernel常用的目录名是vmlinuz,如果使用的是grub这个开机管理程序,则还会存在/boot/grub目录
/dev,在Linux系统上,任何装置与接口设备都是以文件形态存在于/dev目录中的,只要通过存取这个目录底下的某个文件,就等于存取某个装置,比较重要的文件有/dev/null、/dev/zero、/dev/tty、/dev/lp*、/dev、hd*、/dev/sd*等
/etc,Linux系统主要的配置文件几乎放置在/etc,例如使用者的账号密码文件、各种服务的启动目录等等。一般来说这个目录下的个文件属性是可以让一般使用者查阅的,但只有root有权利修改,比较重要的文件有:/etc/inittab、/etc/init.d(所有服务的预设启动script都是放在这的,例如要启动或者关闭iptables,/etc/init.d/iptables start、/etc/init.d/iptables stop)、/etc/modprobe.conf、/etc/X11(于X Window有关的各种配置文件都在这里,尤其是xorg.conf这个X Server的配置文件)、/etc/fstab、/etc/sysconfig等等
/home,这是系统默认的用户家目录,在你新增一个一般用户帐户时,默认的用户家目录都会规范到这里,注意有两个代号:~(目前用户的家目录)和~jannai(代表jannai的家目录)
/lib,系统的函式库非常多,而/lib存放开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库。尤其注意/lib/modules这个目录,因为该目录会放置核心相关的模块(驱动程序)
/media,放置的是可移除的装置,包括软盘、光盘、DVD等,上面这些装置都会暂时挂载于此,常见的有:/media/floppy、/media/cdrom
/mnt,类似/media/,但是有了/media/之后,/mnt就用来暂时挂载用了
/opt,给第三方协力软件放置的目录,什么是第三方协力软件?比如KDE桌面管理系统是一个独立的计划,可以被安装到Linux下,因此可以把KDE安装到该目录。不过,还是习惯放置在/usr/local下
/root,系统管理员root的家目录,之所以放在这里,是因为如果进入单人维护模式,而仅挂载根目录时,改目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分割槽中
/sbin,Linux有许多指令用来设定系统环境,这些指令只有root才能设定,其他只能查询。放在/sbin下的为开机过程所需要的,包括了开机、修复、还原系统所需要的指令。至于某些服务器软件程序,一般放置在/usr/sbin中,至于本机自己安装的软件所产生的系统执行文件放在/usr/local/sbin。常见的指令包括:fdisk、fsck、ifconfig、init、mkfs
/srv,可以视为service的缩写,是一些网络服务启动后,这些服务所需要取用的数据的目录。常见的服务有www、ftp等
/lost-found,是使用标准的ext2/ext3文件系统格式才会产生的一个目录。目的在于当文件系统发生错误时,将一些遗失的片段放置到该目录。该目录通常会在分割槽的最顶层存在,例如你加装一颗硬盘于/disk中,那么在这个系统就会自动产生一个目录:/disk/lost+found
/proc,本身是一个虚拟文件系统virtual filesystem,它放置的数据都是在内存当中,例如系统核心、行程信息、周边装置的状态以及网络状态等。因为这个目录下的数据都在内存中,所以本身不占任何硬盘空间。比较重要的文件例如:/proc/couinfo、/proc/dma、/proc/interrupts、/proc/ioports、/proc/net/*等
/sys,与/proc/类似,也是一个虚拟的文件系统。主要记录与核心相关的信息。包括当前已经家族的核心模块和核心检测到的硬件装置信息。
除了以上的根目录的内容外,另外还需注意,因为根目录与开机有关,开机过程中仅有根目录会被挂载,其他分割槽则是在开机完成之后才会持续的进行挂载。
也因为如此,根目录下与开机过程相关的目录,不能与根目录放到不同的分割槽去。
比如:
/etc配置文件
/bin重要执行目录
/dev装置文件
/lib执行目录/bin所需的函式库,与核心所需的模块
/sbin重要的系统执行文件
这五个目录千万不可以与根目录分开在不同的分割槽。
大概的了解了linux的根目录结构,接下来我们将更深层次去了解每一个目录