个人Blog: hhktony.com
全部博文(553)
分类: LINUX
2012-03-21 19:58:41
概述
关于Linux首先我们要了解的是其分区管理模式,与Windows不同的是Linux是一个树形的目录结构,无论怎么分区,在Linux中只有一个根目录“/”它使所有文件的基本挂载点,就好像实数根一样,包括目录/文件名与索引节点号。
Unix 文件系统主要有ext3/4、reiserFS、swap、xfs等。不同的文件系统对文件的管理方式与效率不同,用户可以根据自己的需要进行选择。在 Unix下,硬盘分区与目录结构没有必然联系。Unix的目录树只有一个根结点,即“/” 。而Windows 的目录树可以有多个根结点,每个分区都可以作为一个根结点存在。
另外 Unix系统的目录树是通过“挂载”(mount)操作与分区结合在一起的,可以通过卸载(unmount)操作把它们进行部分卸载。用户可以任意将目录树中某个目录挂载在某个分区之上,事实上“分区”对于整个文件系统也是作为目录来管理的。这体现了 Unix目录结构设计的灵活与科学。而Windows是以每个驱动器盘符作为一个单独的根节点。
为了深入了解Linux的文件系统,建议用光盘安装,在Windows虚拟机中配置的Linux通常无法进一步的进行系统配置而且可靠性差。
目前Ext3是Linux系统广泛使用的文件格式,是在Ext2基础上,对有效性保护、数据完整性、数据访问速度、向下兼容性做了改进。Ext3的特点是:可以将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要时回溯追踪。
下面先讲一下其路径表示,前面说过Linux是一个树形分层结构组织,且只有一个根节点,与Windows一样其路径表示分为绝对路径和相对路径:
1. 绝对路径。指文件的准确位置且以根目录为起点,例如“/usr/game/gnect”就是一个绝对路径,表示在位于“/usr/game/”下的四子连线游戏。
2. 相对路径。顾名思义相对路径是相对于用户当前位置的一个文件或目录的位置,还如上例,如果用户现在处于“/usr”中,只需要“game/gnect”就可以确定这个文件而不需要将根目录写出。
Linux的基本目录
由于Linux是完全开放的开源软件,各Linux机构都可以按照自己的需求对文件系统进行裁剪,为了规范文件目录名和存放标准(FHS,File Hierarchy Srandard)
目录名 |
描 述 |
||
/ |
Linux文件系统的根目录 |
||
/bin |
存放系统中的最常用的可执行文件(二进制)。基础系统所需要的那些命令位于此目录,也是最小系统所需要的命令;比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令。做为基础系统所需要的最基础的命令就是放在这里。 |
||
/boot |
存放Linux内核和系统启动文件,包括Grub、lilo启动程序。 |
||
/dev |
存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty等。 |
||
/etc |
存放系统所有配置文件,例如passwd存放用户账户信息,hostname存放主机名等。/etc/fstab是开机自动挂载一些分区的,在里面写入一些分区的信息,就能实现开机挂载分区。 |
||
/home |
用户主目录的默认位置。 |
||
/initrd |
存放启动时挂载initrd.img映像文件的目录,以及载入所需设备模块的目录。 |
||
/lib |
存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件。 |
||
/lost+found |
在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复或移到文件到原来的位置上。 |
||
/media |
即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,存放临时读入的文件。 |
||
/mnt |
此目录通常刚用于作为被挂载的文件系统的挂载点。 |
||
/opt |
作为可选文件和程序的存放目录,有些软件包也会被安装在这里,也就是自定义软件包;有些我们自己编译的软件包,就可以安装在这个目录中。 |
||
/proc |
存放所有标志为文件的进程,他们是通过进程号或其他的系统动态信息进行标识(比如cpu、硬盘分区、内存信息等存放在这里)。 |
||
/root |
根用户(超级用户)的主目录。 |
||
/sbin |
大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了凡是目录sbin中包含的都是root权限才能执行的。 |
||
/srv |
存放系统所提供的服务数据。 |
||
/sys |
该目录用于将系统设备组织或层次结构,并向用户提供详细的内核数据信息。 |
||
/tmp |
临时文件目录,有时用户运行程序的时候,会产生临时文件。/var/tmp目录和这个目录相似。 |
||
/usr |
用于存放于系统用户直接有关的文件和目录,如应用程序及支持人啊们的库文件。 |
||
/usr/X11R6 |
X Window 系统。 |
||
/usr/bin |
用户管理员的标准命令。 |
||
/usr/include |
C/C++等开发工具语言环境的标准include文件。 |
||
/usr/lib |
应用程序及程序报的链接库。 |
||
/usr/local |
系统管理员安装的应用程序 |
||
/usr/local/share |
系统管理员安装的共享文件 |
||
/usr/sbin |
用户和管理员的标准命令 |
||
/usr/share |
存放使用手册等共享文件的目录 |
||
/usr/share/dict |
存放词表的目录 |
||
/usr/share/man |
系统使用手册 |
||
/usr/share/misc |
一般数据 |
||
/usr/share/sgml |
SGML数据 |
||
/usr/share/xml |
XML数据 |
||
/var |
通常用于存放长度可变的文件,例如日志文件和打印机文件。 |
||
/var/cache |
应用程序缓存目录 |
||
/var/crash |
系统错误信息 |
||
/var/games |
游戏数据 |
||
/var/lib |
各种状态数据 |
||
/var/lock |
文件锁定记录 |
||
/var/log |
日志记录 |
||
/var/mail |
电子邮件 |
||
/var/opt |
/opt目录的变量数据 |
||
/var/run |
进程的标示数据 |
||
/var/spool |
存放电子邮件,打印任务等的队列目录 |
||
/var/tmp |
临时文件目录 |
||
还要注意的是与Windows不同的是在Ubuntu中是严格区分大小写的例如文件File.txt,FILE.txt,FILE.TXT是不同的三个文件,在文件处理时要注意。
同时还有与Windows不同的是在Windows中后缀名是一个非常重要的标识符,我们 有时会遇到这个问题在用QQ传东西时比如文件FILE.rar在收到时就会变成FILE.rar.重命名。我们班有些女生总是不喜欢默认显示后缀名,等一 传完就就马上双击打开但是总是提示错误,告诉她们把后缀名改为rar她们总是会用天真的眼神望着你说是rar呀!这就是Windows,根据后缀名来判断 是否可以来处理该类文件。而Linux就不一样了系统的文件类型与后缀名是没有直接关系的。