3.Linux如何管理分区
Posted kdy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.Linux如何管理分区相关的知识,希望对你有一定的参考价值。
上一次谈完了硬盘与分区的基础知识,下面谈一下Linux如何管理分区。
Linux管理硬件和windows完全不同。任何东西(包括硬件)在Linux看来都是文件设备,有字符和二进制形式的设备。如打印机、键盘都是字符设备,打印机、光驱是块设备。当成文件处理的好处就是编程简单,只需针对文件编程就可以了。
在Linux中,机器中所有设备叫什么名都是固定的。Linux中硬盘的分区叫什么名字,取决于硬盘插在主板哪个接口上。
Linux没有C盘、D盘、F盘等等,只有一个“/”,代表整个存储空间。
接下来我们启动VMware虚拟机,启动在虚拟机中安装的Linux系统(这里我安装的是CentOS6.5,大家可以根据自己的喜好安装相应版本)。
Linux有一个超级管理员root,和若干个用户账号,自己可以在装机的时候设置一个用户账号,也可以在以后的使用中在系统创建。
建议进入系统的时候,我们使用root管理员账号,因为普通用户会由于权限限制有些功能不能使用。
我们启动之后,有可能进入图形界面(如果装了的话)
我们按Ctrl+Alt+F2进入控制台
按Ctrl+Alt+F2回到图形化界面
当然,在图形化界面依然可以调取控制台,具体方法:
将鼠标从虚拟机切出来,按Ctrl+Alt。
我们就按上面的方法调出Linux的控制台,然后在实际操作中,了解一下各个分区。
1.dev
装所有硬件设备的目录。
我们首先进入跟目录,然后打开dev目录:
[root@localhost Desktop]# cd /
[root@localhost /]# cd dev
[root@localhost dev]#
注:如果不知道当前位于哪一个目录,输入pwd即可:
[root@localhost dev]# pwd
/dev
注:如果不知道当前登录的是哪一个用户,输入who am i即可:
[root@localhost dev]# whoami
root
输入“ls”指令,可以查看当前该文件夹下(目前是dev下)所有文件:
[root@localhost dev]# ls
agpgart loop4 ram3 tty12 tty41 uinput
block loop5 ram4 tty13 tty42 urandom
bsg loop6 ram5 tty14 tty43 usbmon0
bus loop7 ram6 tty15 tty44 usbmon1
cdrom1 lp0 ram7 tty16 tty45 usbmon2
cdrw1 lp1 ram8 tty17 tty46 vcs
char lp2 ram9 tty18 tty47 vcs1
console lp3 random tty19 tty48 vcs2
core MAKEDEV raw tty2 tty49 vcs3
cpu mapper root tty20 tty5 vcs4
cpu_dma_latency mcelog rtc tty21 tty50 vcs5
crash mem rtc0 tty22 tty51 vcs6
disk midi scd0 tty23 tty52 vcs7
dmmidi net sda tty24 tty53 vcs8
dvd1 network_latency sda1 tty25 tty54 vcs9
dvdrw1 network_throughput sda2 tty26 tty55 vcsa
fb null sda3 tty27 tty56 vcsa1
fb0 nvram sg0 tty28 tty57 vcsa2
fd oldmem sg1 tty29 tty58 vcsa3
full port shm tty3 tty59 vcsa4
fuse ppp snapshot tty30 tty6 vcsa5
hidraw0 ptmx snd tty31 tty60 vcsa6
hpet pts sr0 tty32 tty61 vcsa7
hugepages ram0 stderr tty33 tty62 vcsa8
hvc0 ram1 stdin tty34 tty63 vcsa9
input ram10 stdout tty35 tty7 vga_arbiter
kmsg ram11 systty tty36 tty8 vmci
log ram12 tty tty37 tty9 vsock
loop0 ram13 tty0 tty38 ttyS0 zero
loop1 ram14 tty1 tty39 ttyS1
loop2 ram15 tty10 tty4 ttyS2
loop3 ram2 tty11 tty40 ttyS3
可以看到,里面有cpu(中央处理器)、cdrom1(光驱)、raw(内存)等硬件设备的名称,所以以后看Linux的硬件信息就到dev下去看,这就验证了“Linux下的所有硬件设备都是以目录或文件的形式存放”的说法。
2.Linux硬盘的命名规则:
/dev/xxyN
其中xx:
分区名的前两个字母表名分区所在设备的类型,通常是hd(IDE磁盘)或sd(SCSI磁盘)。
y:
这个字母标明分区所在的设备。例如,/dev/hda(第一个IDE磁盘)或/dev/sdb(第二个SCSI磁盘)
N:
最后的数字代表分区。前四个分区(主分区或拓展分区),使用数字1排列到4.逻辑分区从5开始。例如,/dev/hda3是在第一个IDE硬盘上的第三个主分区或拓展分区;dev/sdb6是在第二个SCSI硬盘上的第二个逻辑分区。
扫盲自测题
下面哪一个是第二个IDE驱动器上第四个逻辑分区的设备名称?
A.hdb4
B.hdb8
C.sdb4
D.hdb9
答案:B
3.磁盘分区和mount point(挂载点)
什么是挂载?我们先用一个实例来让大家理解的更深刻:
现在我要访问光盘驱动器的内容。我们之前知道Linux的所有硬件设备都在dev文件夹中存储,很多人可以立马想到在dev下直接访问光盘驱动器:
[root@localhost dev]# cd cdrom1
但是最终会返回:
bash: cd: cdrom1: 不是目录
也就是说,在Linux看来,这是一个整个的设备,不是一个目录。
那我们如何访问这个设备?
把我们实际当中自己建立的目录,和这个设备关联到一起,这个时候就可以把其当成一个文件夹来访问了。
我们一般把硬件对应的目录,放在根路径下面的mnt目录下面:
[root@localhost dev]# cd /mnt
[root@localhost mnt]# ls
下面是空的(如果有东西可能是系统装的)
我们在其下建立一个文件夹,叫cdr:
[root@localhost mnt]# mkdir cdr
[root@localhost mnt]# ls
cdr
我们可以把cdr目录看成是一个光驱,就要使用挂载来完成。
我们使用mount指令进行挂载,将/dev/cdrom1与mnt/cdr关联起来:
[root@localhost mnt]# mount /dev/cdrom1 /mnt/cdr
关联成功,
然后我们打开cdr,查看光驱的内容:
[root@localhost mnt]# cd cdr
[root@localhost cdr]# ls
EULA GPL CentOS PRM-GPG-KEY TRANS.TBL
取消挂载的操作:
[root@localhost cdr]# cd ..
[root@localhost mnt]# umount /dev/cdrom1
注意:如果提示:
[root@localhost dev]# mount /dev/cdrom /mnt/cdrom
mount: you must specify the filesystem type
处理方法:
虚拟机-〉setting->cd/dvd-〉device status-.connected前面的勾打上
大家是不是对挂载稍微有点理解了,下面是官方解释:
令许多Linux的新用户感到困惑的一个地方是各个分区是如何被Linux操作系统使用及访问的。它在DOS/Windows中相对来说较为简单。每一个分区有一个“驱动器字母”,你用恰当的驱动器字母来指代相应分区上的文件和目录。
这与Linux处理分区以及磁盘存储问题的方法截然不同。其主要区别在于,Linux中的每一个分区都是构成支持一组文件和目录所必须的贮存区的一部分。它是通过挂载(mounting)来实现的,挂载是将分区关联到某一目录的过程。挂载分区使起始于这个指定目录(通称为挂载点,mount point)的贮存区能够被使用。
4.分区介绍
分区方式:自动分区和手动分区
(1)手动分区:
/:根分区
/usr:应用软件存放位置
/home:用户宿主目录的父目录
/var:临时存放文件
/boot:存放启动文件128M is enough
SWAP:交换分区。此分区单独拿出来,把硬盘当内存用,实际上就是一个虚拟内存区域。大小应该是实际物理内存的两倍,可以不建(但是不建议,系统中有些应用程序会默认使用SWAP分区)。Windows中有PAGEFILE.SYS的文件相当于交换分区。
(2)磁盘分区方案
至少两个分区
/分区
SWAP分区
个人桌面分区
/分区
/boot 分区
/usr 分区
SWAP分区
光盘刻录再加一个/tmp分区
以上是关于3.Linux如何管理分区的主要内容,如果未能解决你的问题,请参考以下文章