2. 系统分区
2.1 分区类型
(1)主分区:最多只能有4个
(2)扩展分区
①最多只能有1个,主分区加扩展分区最多有4个。
②不能写入数据,只能包含逻辑分区
(3)逻辑分区
2.2 格式化(高级格式化)
高级格式化,又称为逻辑格式化,它是根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。
2.3 硬件设备文件名
(1)硬件设备文件名
硬件 |
设备文件名 |
IDE硬盘 |
/dev/hd[a-d] |
SCSI/SATA/USB硬盘 |
/dev/sd[a-p],SATA是目前主流的硬盘类型 |
光驱 |
/dev/cdrom或/dev/sr0 |
软盘 |
/dev/fd[0-1] |
打印机(25针) |
/dev/lp[0-2] |
打印机(USB) |
/dev/usb/lp[0-15] |
鼠标 |
/dev/mouse |
(2)分区设备文件名
①/dev/hda1:表示第1个硬盘(IDE)的第1个分区
②/dev/sda1:表示第1个硬盘(SCSI或SATA)的第1个分区
(3)分区的表示
①第1块硬盘的设备文件名为/dev/sda,第2块硬盘为/dev/sdb
②不管分为多少个主分区,逻辑分区都是从5开始编号。其对应的设备文件名,如第/dev/sda1、/dev/sda2、……、/dev/sda6等。
(4)必须分区
①/ (根分区):Linux文件系统结构中“/”是所有目录的根目录,我们把挂载到根目录的分区称为“根分区”
②swap分区(也称为交换分区,可理解为虚拟内存,一般为内存2倍,不超过2GB):Linux文件系统结构中的有个/swap的目录,用于存放虚拟内存的交换文件,我们把挂载到这个目录的分区称为swap分区。
(5)推荐分区
①/boot(启动分区,200MB)
3. 文件系统的结构
3.1 linux目录结构树
3.2 Linux的目录详细信息
(1)/根目录
目录 |
用途说明 |
/ |
第一层结构的根,整个文件系统层次的根目录 |
/usr |
存放Unix系统开发的程序(unix software resouce)。默认的,软件都会存在该目录下。有关usr定义的另一种说法,存放用户的数据,取名为user。 |
/usr/local |
存放用户自己安装的程序,相当于c:/program files。一般编译的时候默认路径,yum或rpm包安装默认路径就不在这里了。 |
/bin |
基础系统所需要的命令位于此目录,是最小系统所需要的命令,如ls、cp、mkdir等。 |
/sbin |
大多是涉及系统管理的命令的存放,是超级根限用户root的可执行命令存放地,普通用户无权限执行。 |
/boot |
包含Linux内核及系统引导程序所需要的文件,比如kernel、vmlinux initrd.img文件都位于这个目录。一般情况下,GRUB或LILO系统引导管理器也位于这个目录 |
/dev |
设备文件存储目录,如声卡、磁盘、光盘等。Linux中所有的设备都是文件或目录。比如hda1、hda2代表系统主硬盘不同分区,dev/cdrom表示光盘 |
/etc |
存放系统程序或者一般工具的配置文件。/etc/init.d这个目录是用来存放系统或服务器以System V模式启动的脚本。可能是“可编辑的文本配置”(Editable Text Configuration)的英文缩写 |
/home |
普通用户的家目录(默认存放目录)。Linux是多用户环境,所以一个用户都有一个只有自己可以访问的目录。它们以/home/username的方式存在。这个目录也保存一些应用于这个用户的配置(如IRC、X等) |
/root |
Linux超级权限用户root的家目录 |
/lib |
库文件存放目录这里包含了系统程序所需要的所有共享库文件。类似于Windows的共享库dll文件 |
/lost+found |
当系统意外崩溃或机器意外关机而产生的一些文件磁片放在这里,当系统启动时fsck工具会检查这里并修复己经损坏的文件系统。 |
/media |
即插即用型存储设备的挂载点自动在这个目录下创建,如USB盘被挂载后,会在这个目录下产生一个目录。 |
/mnt |
这个目录一般用于存放挂载存储设备的挂载目录。这是一个普通的加载目录,在这里你可以加载你的文件系统或设备,如光驱可以挂载到/mnt/cdrom。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里。 |
/proc |
进程(正在运行中的程序)信息及内核信息(如cpu、硬盘分区、内存信息存放在这里。这个目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。该目录下的文件只能看不能改(包括root) |
/tmp |
临时文件目录,有时用户运行程序的时候,会产生临时文件。有些系统在启动或关机时会清空此目录。 |
/var |
这个目录的内容是经常变动的。/var/log系统日志文件存放;/var/spool是打印机、邮件、代理服务器的假脱机目录。 |
/opt |
在某些系统,用于存放第3方厂商开发的程序,所以取名为option,意为“选装”,目前用途不大。 |
(2)/etc/目录
目录或文件 |
用途说明 |
/etc/rc/etc/rc.d /etc/rc*.d |
启动或改变运行级时运行的scripts或scipts目录 |
/etc/hosts |
本地域名解析文件 |
/etc/sysconfig/netword |
IP、掩码、网关、主机名配置 |
/etc/resolv.conf |
DNS服务器配置 |
/etc/fstab |
开机自动挂载系统,所有分区开机都会自动挂载 |
/etc/inittab |
设定系统启动时init进程将把系统设置成什么样的runlevel及加载相关的启动文件配置 |
/etc/exports |
设置NFS系统用的配置文件路径 |
/etc/init.d |
这个目录用来存放系统启动脚本 |
/etc/profile /etc/csh.login /etc/csh.cshrc |
全局系统环境配置变量 |
/etc/issue |
认证前的输出信息,默认输出版本内核信息 |
/etc/motd |
设置认证后的输出信息 |
/etc/passwd |
用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息 |
/etc/group |
类似/etc/passwd,但说明的不是用户而是组 |
/etc/shadow |
在安装了影子口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd文件中的加密口令移动到/etc/shadow中,而后者只对root可读。这使破译口令更加困难 |
/etc/sudoers |
可以sudo命令的配置文件 |
/etc/syslog.conf |
系统日志参数配置 |
/etc/login.defs |
设置用户帐号限制的文件 |
/etc/securitty |
确认安全终端,即哪个终端允许root登录。一般只列出虚拟控制台,这样不可能(至少很难)通过modem或网络闯入系统并得到超级用户特权。 |
/etc/printcap |
类似/etc/term.cap,但是针对打印机.语法不同。 |
/etc/shells |
列出可信任的shell.chsh命令允许用户在本文件指定范围内改变登录shell。提供一台机器Ftp服务的服务进程ftpd检查用户shell是否在/etc/shells文件中,如果不是将不允许该用户登录。 |
/etc/xinetd.d |
如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录。 |
/etc/opt/ |
/opt/的配置文件 |
/etc/X11/ |
X_Window系统(版本11)的配置文件 |
/etc/sgml/ |
SGML的配置文件 |
/etc/xml/ |
XML的配置文件 |
/etc/skel |
默认创建用户时,把该目录拷贝到家目录下 |
(3)/usr/目录:默认软件都会存在于该目录下。
目录或文件 |
用途说明 |
/usr/X11R6 |
存放X-Windows的目录 |
/usr/games |
存放Xteam Linux自带的小游戏 |
/usr/doc |
Linux技术文档 |
/usr/include |
用来存放Linux下开发和编译应用程序所需要的头文件 |
/usr/lib |
存放一些常用的动态链接共享库和静态档案库 |
/usr/man |
帮助文档所在的目录 |
/usr/src |
Linux开放的源代码,就存在这个目录 |
/usr/bin |
非必要可执行文件(在单用户模式中不需要),面向所有用户 |
/usr/sbin |
非必要的系统二进制文件,例如:大量网络服务的守护进程 |
/usr/share/ |
体系结构无关(共享)数据 |
/usr/local |
本地数据的第三层次,具体到本台主机。通常而言,有进一步的子目录,例如bin/、lib/这是提供给一般用户的/usr目录,在这里安装一般的应用软件。 |
(4)/var/目录
目录或文件 |
用途说明 |
/var/log/message |
日志信息,按周自动轮询 |
/var/spool/cron/root |
定时器配置文件目录,默认按用户命名 |
/var/log/secure |
记录登陆系统存取信息的文件,不管认证成功还是失败都会记录 |
/var/log/wtmp |
记录登陆者信息的文件,last、who、w命令信息来源于此。 |
/var/spool/clientmqueue/ |
当邮件服务未开启时,所有应发给系统管理员的邮件都将堆放在此 |
/var/spool/mail/ |
邮件目录 |
/var/tmp |
比/tmp允许的大或需要存在较长时间的临时文件 |
/var/lib |
系统正常运行时要改变的文件 |
/var/local |
/usr/local安装的程序的可变数据(即系统管理员安装的程序)。注意,如果必要,即使本地安装的程序也会使用其他/var目录,如/var/lock |
/var/lock |
正在使用某个特定的设备或文件。其他程序注意到这个锁定文件,将不试图使用这个设备或文件 |
/var/log/ |
各种程序的Log文件,特别是login(/var/log/wtmp记录所有到系统的登录和注销)和syslog(/var/log/messages里存储所有核心和系统程序信息)。/var/log里的文件经常不确定地增长,应定期清除 |
/var/run |
保存到下次引导前有效的关于系统的信息文件。/var/run/utmp包含当前登录的用户信息。 |
/var/cache/ |
应用程序缓存数据。 |
(5)/proc/目录
目录或文件 |
用途说明 |
/proc/meminfo |
查看内存信息 |
/proc/loadavg |
top、uptime中显示的三个平均数据就记录在此 |
/proc/uptime |
就是用uptime时显示的信息 |
/proc/cpuinfo |
关于处理器的信息,如类型、厂家、型号和性能等。 |
/proc/cmdline |
加载kernel时所下达的相关参数!查阅此文件,可了解系统是如何启动的! |
/proc/filesystems |
目前系统己经加载的文件系统 |
/proc/interrupts |
目前系统上面的IRQ分配状态 |
/proc/ioports |
目前系统上面各个装置所配置的I/O地址。 |
/proc/kcore |
内存的大小 |
/proc/modules |
目前加载的模块列表(驱动程序) |
/proc/mounts |
系统己经挂载的数据,就是用mount这个命令显示出来的数据 |
/proc/swaps |
使用掉的partition就记录在这里 |
/proc/partitions |
使用fdisk –l会出现目前所有的partition.这些信息在这里也有记录。 |
/proc/pci |
在PCI汇流排上面,每个装置的详细情况!可用lspci来查阅 |
/proc/version |
核心的版本,就是用uname –a显示的内容 |
/proc/bus/* |
一些汇流排的装置,还有U盘的装置也记录在此 |
(6)/dev/目录:设备文件分为块设备文件(b)和字符设备文件(c)
目录或文件 |
用途说明 |
/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/urandom |
随机数设备,产生随机数时而不会阻塞程序(ublock) |
3.3 挂载:将设备(分区)关联到某个目录的过程
(1)挂载点:
指的是分区或设备的入口点,对应的一个目录。
(2)举例说明
①如果分区 /dev/sdb1 被挂载在/usr上,这意味着所有在/usr之下的文件和目录在物理意义上位于/dev/sdb1上。因此文件 /usr/share/doc/FAQ/txt/Linux-FAQ 被储存在 /dev/sdb1上,而文件/etc/X11/gdm/Sessions/Gnome 却不是。
②如果/usr 之下的一个或多个目录还有可能是其它分区的挂载点。例如,某个分区(假设为,/dev/sda3)可以被挂载到/usr/local下,这意味着/usr/local/man/whatis 将位于 /dev/sda3上而不是/dev/sdb1 上。
3.4 Linux统一文件系统的好处
(1)硬件和路径从概念上进行分离
Windows中,盘符既用于表示硬件(硬盘上的分区),又用于表示系统中的路径。而Linux中,硬件就是硬件,路径就是路径,不会混淆在一起,简单直接!
(2)有更强的灵活性
举个使用 /usr的例子。这个目录包含了大多数的系统可执行文件。在Linux文件系统下,你可以选择把它加载为其他分区甚至网络上的其他计算机。系统不会感知其中的不同,因为它表现出的只是本地目录结构下众多的目录中的一个而已。你是否有妄图在Windows下移动可执行文件和数据,而得到的是不得不去修改注册表或干脆蓝屏?你可曾奢望过移动 C: 到其他分区上?