从零开始学习Linux 基础(二)—磁盘、分区与文件系统

前面说了linux的由来以及发展,本文说明磁盘设备在Linux中的命名规则和Linux默认的目录结构。

1、磁盘分区

设备管理 在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。  例如,第一个 IDE 设备,Linux 就定义为 hda;第二个 IDE 设备就定义为 hdb;下面以此类推。而 SCSI 设备就应该是 sda、sdb、sdc 等。

分区数量

要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE 或 SCSI)设备,Linux 分配了一个 1 到 16 的序列号码,这就代表了这块硬盘上面的分区号码。

例如,第一个 IDE 硬盘的第一个分区,在 Linux 下面映射的就是 hda1,第二个分区就称作是 hda2。对于 SCSI 硬盘则是 sda1、sdb1 等。

各分区的作用 在 Linux 中规定,每一个硬盘设备最多能有 4 个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。

对于早期的 DOS 和 Windows(Windows 2000 以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。

主分区的作用就是计算机用来进行启动 操作系统 的,因此每一个 操作系统 的启动,或者称作是引导程序,都应该存放在主分区上。这就是主分区和扩展分区及逻辑分区的最大区别。

我们在指定安装引导 Linux 的 bootloader 的时候,都要指定在主分区上,就是最好的例证。

Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。

以第一个 IDE 硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5 到 hda16 等 12 个号码。

因此,Linux 下面每一个硬盘总共最多有 16 个分区。

对于逻辑分区,Linux 规定它们必须建立在扩展分区上(在 DOS 和 Windows 系统上也是如此规定),而不是主分区上。

因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为 操作系统 的引导。除去上面这些各种分区的差别,我们就可以简单地把它们一视同仁了。

分区指标

对于每一个 Linux 分区来讲,分区的大小和分区的类型是最主要的指标。其中分区的类型规定了这个分区上面的文件系统的格式。

目前Linux支持的文件系统类型:
Ext4 :Ext3 的改进版,提供更佳的性能和可靠性,更多的功能
ext2:早期linux中常用的文件系统
ext3:ext2的升级版,带日志功能
RAMFS:内存文件系统,速度很快
NFS:网络文件系统,由SUN发明,主要用于远程文件共享
MS-DOS:MS-DOS文件系统
VFAT:Windows95/98操作系统采用的文件系统
FAT:WindowsXP操作系统采用的文件系统
NTFS:WindowsNT/XP操作系统采用的文件系统
HPFS:OS/2操作系统采用的文件系统
PROC:虚拟的进程文件系统
ISO9660:大部分光盘所采用的文件系统
ufsSun:OS所采用的文件系统
NCPFS:Novell服务器所采用的文件系统
SMBFS:Samba的共享文件系统
XFS:由SGI开发的先进的日志文件系统,支持超大容量文件
JFS:IBM的AIX使用的日志文件系统
ReiserFS:基于平衡树结构的文件系统
udf:可擦写的数据光盘文件系统

2、目录结构

Linux使用树形目录结构来组织和管理文件,所有的文件采取分级、分层的方式组织在一起,从而形成一个树型的层次结构。在整个树型结构中,只有一个根 目录位于根分区,其它的目录、文件以及外部设备(包括硬盘、软驱、光驱、调制解调器等)文件都是以根目录为起点,挂接在根目录下面的,即整个Linux的 文件系统,都是以根目录为起点的,其他所有分区都被挂载到目录树的某个目录中,通过访问挂载点目录,即可实现对这些分区的访问。

Linux系统默认包括以下目录:

/  

根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。

/bin   

bin 就是二进制(binary)英文缩写。在一般的系统当中,你都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录,比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命 令就是放在这里。

/boot   

Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。

/cdrom   

这个目录在你刚刚安装系统的时候是空的。你可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom

/dev   

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

/etc   

etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。

/home   

如果我们建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。

/lib   

lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,你的系统就不能工作了。

/lost+found   

在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片 放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式 来修复,或移到文件到原来的位置上。

/mnt   

这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。可以参看/etc/fstab的定义。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。主要看/etc/fstab中怎 么定义了;比如光驱可以挂载到/mnt/cdrom。

/media   

有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。

/opt   

这里主要存放那些可选的程序。你想尝试最新的firefox测试版吗?那就装到 /opt目录下吧,这样,当你尝试完,想删掉firefox的时候,你就可 以直接删除它,而不影响系统其他任何设置。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。

/proc   

目录中的内容是系统自动产生的,其内容是当前系统运行的进程的一个虚拟镜像以及记录当前内存内容的kernel文件。可以在该目录中看到一些由当前运行的进程号组成的子目录。

可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。操作系统运行 时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系 统,它的定义可以参见 /etc/fstab。

用cat命令显示输出该目录下的一些特殊文件内容,可查看到系统的一些特殊信息,如:

cat /proc/cupinfo  详细显示当前系统CPU的硬件信息
cat /proc/interrupts  显示当前系统各设备所使用的中断信息.
cat /proc/meminfo 显示内存信息
cat /proc/version 显示linux的版本号.

/root   

Linux超级权限用户root的家目录。

/sbin   

这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超 级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的;我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。   /selinux 好像是对SElinux的一些配置文件目录,SElinux可以让你的linux更加安全。

/srv

服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中   

/sys  

Linux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 proc 有些类似,但除了与 proc 相同的具有查看和设定内核参数功能之外,还有为 Linux 统一设备模型作为管理之用。

/tmp   

临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

/usr   

这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个 目录下。在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如像游戏啊,一些打印工具拉等等。

/usr/bin 存放有一些实用程序。
/usr/etc  存放有许多各种各样的配置文件。
/usr/include  该目录及其子目录是存放C编译程序的所有包含文件。对编译Linux源程序至关重要。
/usr/lib  包含有程序编译后的连接时需要使用的各种库。
/usr/src  用于存放Linux源程序。
/usr/local/src 通常用来存放Linux的软件安培育包源代码.
/user/local 用户软件包通常安装在该 目录中。

/var   

这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var 下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。

3、文件类型

在介绍属性时,提到了最前面的标志(d或 -)可以表示目录或文件,那就是不同的文件种类。Linux的文件种类主要有下面这几种:   

普通文件(regular file):就是一般我们存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:

纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为 纯文本文件,是因为内容为我们可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。

二进制文件(binary):我们在GNU发展史中提过,系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。

数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式 的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。

目录(directory):就是目录,第一个属性为 [d],例如 [drwxrwxrwx]。

连接文件(link):类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。

设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种:   块(block)设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。

字符(character)设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。

套接字(sockets):这类文件通常用在网络数据连接。我们可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型。

管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值