文件系统的组织结构分析,咱们能分析什么呢?也就是当咱们列/目录时,所看到的/usr、/etc ... ... /var 等目录是作什么用的,这些目录是否是有些特定的用途。不管哪一个哪一个版本的Linux系统,都有这些目录,这些目录应该是标准的。固然各个Linux发行版本也会存在一些小小的差别,但整体来讲,仍是大致差很少。html
Linux发行版本之间的差异其实不多,差异主要表如今系统管理的特点工具以及软件包管理方式的不一样,除此以外,没有什么大的差异; 好比Fedora软件包管理工具是rpm,而Slackware是pkgtool 或installpkg等;node
言归正传,咱们接着说文件系统组织结构。linux
/ Linux文件系统的入口,也是处于最高一级的目录;数据库
/bin 基础系统所须要的那些命令位于此目录,也是最小系统所须要的命令;好比 ls、cp、mkdir等命令;功能和/usr/bin相似,这个目录中的文件都是可执行的,普通用户均可以使用的命令。作为基础系统所须要的最基础的命令就是放在这里。服务器
/boot Linux的内核及引导系统程序所须要的文件,好比 vmlinuz initrd.img 文件都位于这个目录中。在通常状况下,GRUB或LILO系统引导管理器也位于这个目录;ssh
/dev 设备文件存储目录,好比声卡、磁盘... ...工具
/etc 系统配置文件的所在地,一些服务器的配置文件也在这里;好比用户账号及密码配置文件;字体
/home 普通用户家目录默认存放目录;ui
/lib 库文件存放目录操作系统
/lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程当中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有不少的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。
/media 即插即用型存储设备的挂载点自动在这个目录下建立,好比USB盘系统自动挂载后,会在这个目录下产生一个目录 ;CDROM/DVD自动挂载后,也会在这个目录中建立一个目录,相似cdrom 的目录。这个只有在最新的发行套件上才有,好比Fedora Core 4.0 5.0 等。能够参看/etc/fstab的定义;
/misc 杂项,堆放很差归类的东西
/mnt 这个目录通常是用于存放挂载储存设备的挂载目录的,好比有cdrom 等目录。能够参看/etc/fstab的定义。有时咱们能够把让系统开机自动挂载文件系统,把挂载点放在这里也是能够的。主要看/etc/fstab中怎么定义了;好比光驱能够挂载到/mnt/cdrom 。
/opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,好比在Fedora Core 5.0中,OpenOffice就是安装在这里。有些咱们本身编译的软件包,就能够安装在这个目录中;经过源码包安装的软件,能够经过 ./configure --prefix=/opt/目录 。
/proc 操做系统运行时,进程(正在运行中的程序)信息及内核信息(好比cpu、硬盘分区、内存信息等)存放在这里。/proc目录假装的文件系统proc的挂载目录,proc并非真正的文件系统,它的定义能够参见 /etc/fstab 。
/root Linux超级权限用户root的家目录;
/sbin 大可能是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目录是类似的; 咱们记住就好了,凡是目录sbin中包含的都是root权限才能执行的。
/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录类似。
/usr 这个是系统存放程序的目录,好比命令、帮助文件等。这个目录下有不少的文件和目录。当咱们安装一个Linux发行版官方提供的软件包时,大多安装在这里。若是有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts ,帮助目录 /usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超级权限用户root的可执行命令存放目录,好比 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;还有程序的头文件存放目录/usr/include。
/var 这个目录的内容是常常变更的,看名字就知道,咱们能够理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,好比MySQL的,以及MySQL数据库的的存放地;
咱们再补充一下一些比较重要的目录的用途;
/etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。好比Fedora/RedHat;
/etc/xinit.d 若是服务器是经过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录, 好比Slackware,有些老的版本也没有。在Rehat/Fedora中比较新的版本中存在。
/etc/rc.d 这是Slackware发行版有的一个目录,是BSD方式启动脚本的存放地;好比定义网卡,服务器开启脚本等。
/etc/X11 是X-Windows相关的配置文件存放地;
好比下面的例子:
[root@localhost ~]# /etc/init.d/sshd start 注:启动sshd服务器
[root@localhost ~]# /etc/init.d/sshd stop 注:中止sshd服务器
启动 sshd: [肯定]
这就是典型的sshd 服务器 System V模式启动脚本,经过这运行这个脚本能够启动sshd服务器了。
/usr/bin 这个目录是可执行程序的目录,普通用户就有权限执行; 当咱们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。好比安装gaim软件包时。类似的目录是/usr/local/bin; 有时/usr/bin中的文件是/usr/local/bin的连接文件;
/usr/sbin 这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行;类似目录是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;
/usr/local 这个目录通常是用来存放用户自编译安装软件的存放目录;通常是经过源码包安装的软件,若是没有特别指定安装目录的话,通常是安装在这个目录中。这个目录下面有子目录。本身看看吧。
/usr/lib 和/lib 目录类似,是库文件的存储目录;
/usr/share 系统共用的东西存放地,好比 /usr/share/fonts 是字体目录,是用户都共用的吧。
/usr/share/doc和/usr/share/man帮助文件,也是共用的吧;
/usr/src 是内核源码存放的目录,好比下面有内核源码目录,好比 linux 、linux-2.xxx.xx 目录等。有的系统也会把源码软件包安装在这里。好比Fedora/Redhat,当咱们安装file.src.rpm的时候,这些软件包会安装在/usr/src/redhat相应的目录中。请参考:《file.src.rpm 使用方法的简单介绍》。另外Fedhat 4.0 5.0,他的内核源码包的目录位于/usr/src/kernels目录下的某个目录中(只有安装后才会生成相应目录);
/var/adm 好比软件包安装信息、日志、管理信息等,在Slackware操做系统中是有这个目录的。在Fedora中好象没有;本身看看吧。
/var/log 系统日志存放,分析日志要看这个目录的东西;
/var/spool 打印机、邮件、代理服务器等假脱机目录;
linux下的automounter
使用mount命令挂接某个物理设备后,必须用umount卸载它。
若是这个物理设备是个软盘或者活动硬盘,在没有umount的时候就移走了,系统向其写入的时候会出现问题。
这个问题能够经过Automounter解决。若是automounted的目录在特定的时间段内没有被访问或者使用,将会自动unmount.
Automounter 的后台进程daemon叫作 autofs.他能够自动mount一个目录,也能够通过必定时间后自动umount它。
相应的配置文件是/etc/auto.master 和 /etc/auto.misc
同时要保持/misc 目录为空,linux会在这个目录上配置 automounts。
1)
/etc/auto.master
将文件中如下语句的注释去掉:
#/misc /etc/auto.misc --timeout=60
/misc /etc/auto.misc --timeout=60
/misc 表示linux会在这个目录上配置 automounts。
/etc/auto.misc 在这个文件中进行详细配置。
--timeout=60,60秒。若是automounted的目录在60秒后没有被访问或者使用,将会自动unmount.
2)
/etc/auto.misc
有这么一行默认的设置:
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
表示:
若是你有一个 CD 在 /dev/cdrom 驱动器中,能够经过Automounter自动mount,而且使用ls /misc/cd 直接访问cd中的内容(autofs服务启动后)。
/dev/cdrom 60秒后没有被访问或者使用,将会自动unmount.
步骤以下:
# service autofs restart
放入cd
# ls /misc/cd
/dev/cdrom被自动mount,能够看到cd的内容,而且
# mount 能够列出来被mount的 cdrom
/dev/cdrom on /misc/cd type iso9660(ro,nosuid,nodev)
60秒后再执行:
# mount
发现/dev/cdrom 已经再也不列表中了,也就是被unmount 了
若是再# ls /misc/cd# mount /dev/cdrom on /misc/cd type iso9660(ro,nosuid,nodev)又被自动mount