学习Linux磁盘管理,最高效的入门方式就是从几个最常用的命令和日常操作开始。下面将这些基础内容逐一拆解,逐步讲解清楚。
一、核心基础命令详解
1、查看磁盘分区信息:fdisk -l
该命令能够列出系统内所有磁盘的分区详情。举例说明:
[root@localhost beinan]# /sbin/fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 7751 39728745 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
从输出中可以清晰识别:/dev/hda1 为 NTFS 格式,/dev/hda2 为 FAT32 格式——后续挂载操作时这些信息至关重要。
2、挂载分区命令:mount
简单来说,挂载就是将磁盘分区“接入”到文件系统的某个目录下。只要内核支持,mount 能够兼容几乎所有文件系统——如 reiserfs、ext2、ext3、ntfs、fat32、jfs 等。挂载的基本语法如下:
mount -t 文件格式 -o 选项参数 磁盘分区 挂载点目录名
新手可能会疑惑:“文件格式”指什么?“挂载点目录名”又该如何理解?打个比方:要将一个分区加载到 Linux 系统中,必须有一个“存放位置”。例如把 /dev/hda1 挂载到 /mnt/winc,那么首先需要确认 /mnt 下是否存在 winc 这个目录——没有就自己创建。挂载点目录名可以任意命名,建议使用英文。具体实例后面会详细说明,先记住基本概念即可。
3、查看磁盘使用情况:df -lh
这个命令非常实用,能够直观显示各分区的总容量、已用空间、可用空间及挂载点。例如:
[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 挂载点
/dev/hda8 11G 5.9G 4.5G 57% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/hda1 5.9G 3.2G 2.7G 55% /mnt/winc
/dev/hda2 16G 8.1G 7.7G 52% /mnt/wind
/dev/hda5 7.9G 5.8G 2.1G 74% /mnt/slack
4、文件和目录的权限设置
权限相关内容较多,这里先记住一条:umask=000 表示所有用户均可读写执行。其他细节通过多执行命令会逐渐掌握。
5、查看内核版本:uname -a
此信息后续安装 NTFS 插件时必不可少:
[root@localhost beinan]# uname -a
Linux localhost.localdomain 2.6.11-1.1369_FC4 #1 Thu Jun 2 22:55:56 EDT 2005 i686 i686 i386 GNU/Linux
输出显示当前内核版本为 2.6.11-1.1369_FC4。
6、获取 root 权限:su
许多操作需要超级用户权限,使用 su 切换:
[beinan@localhost ~]$ su
Password: # 在此处输入root密码,输入时不会显示
[root@localhost beinan]# # 切换成功
二、NTFS 文件系统的挂载操作
1、确认内核版本,下载对应的 NTFS 内核模块
前面通过 fdisk -l 已确认 /dev/hda1 是 NTFS 分区。但在 Fedora Core 4.0 中,系统默认不支持 NTFS,需要安装第三方的内核 NTFS 驱动——这比重新编译内核要简单得多。
先用 uname -a 确认内核版本为 2.6.11-1.1369_FC4、架构为 i686,且没有 smp 字样(smp 表示多处理器内核,若使用此类内核则需要下载对应的 smp 版本)。然后前往 linux-ntfs 项目官网 找到对应 Fedora 4 的 RPM 包。根据上述信息,需要下载的文件为:
kernel-module-ntfs-2.6.11-1.1369_FC4-2.1.22-0.rr.6.0.i686.rpm
下载后进行安装:
[root@localhost beinan]# rpm -ivh kernel-module-ntfs*
2、识别 NTFS 分区并执行挂载
再次用 fdisk -l 确认 /dev/hda1 为 NTFS 分区。接下来:
- 先创建挂载点目录:
[root@localhost beinan]# mkdir /mnt/winc
- 执行挂载操作:
[root@localhost beinan]# mount -t ntfs -o nls=utf8,umask=000 /dev/hda1 /mnt/winc
参数说明:-t ntfs 指定文件系统类型;-o 后接选项,nls=utf8 表示本地语言支持,设为 utf8 才能正常显示中文——Fedora Core 4.0 默认语言编码即为 utf8;umask=000 表示所有用户组可读可写,但由于 NTFS 在 Linux 下写入不安全,实际只能读取、不能写入——如需写入需自行编译内核,但意义不大。
验证挂载是否成功:
[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 挂载点
/dev/hda8 11G 5.9G 4.5G 57% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/hda1 5.9G 3.2G 2.7G 55% /mnt/winc
然后进入目录查看内容:
[root@localhost beinan]# cd /mnt/winc
[root@localhost beinan]# ls
3、设置开机自动挂载 NTFS 分区
编辑 /etc/fstab 文件,加入以下一行:
/dev/hda1 /mnt/winc ntfs umask=000,nls=utf8
4、将分区图标添加到 GNOME 或 KDE 桌面
在 KDE 下,直接在桌面空白处右键即可找到挂载点,通过鼠标点击即可完成。GNOME 下更简单,以用户 beinan 为例:
[beinan@localhost ~]$ ln -s /mnt/winc/ ~beinan/Desktop/winc
三、FAT32 文件系统的分区挂载
通过 fdisk -l 已知 /dev/hda2 为 FAT32 格式。Linux 对 FAT32 支持读写操作,无需额外安装模块。
1、创建挂载点目录:
[root@localhost beinan]# mkdir /mnt/wind
2、执行挂载:
[root@localhost beinan]# mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/wind/
注意此处使用 iocharset 而非 nls,这是 vfat 文件系统对应的编码参数。检查挂载结果:
[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 挂载点
/dev/hda8 11G 5.9G 4.5G 57% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/hda1 5.9G 3.2G 2.7G 55% /mnt/winc
/dev/hda2 16G 8.1G 7.7G 52% /mnt/wind
进入目录检查文件能否正常访问:
[root@localhost beinan]# cd /mnt/wind
[root@localhost beinan]# ls -lh
drwxrwxrwx 3 root root 8.0K 7月 27 11:45 抓图
drwxrwxrwx 2 root root 8.0K 8月 12 10:21 测试文件
drwxrwxrwx 4 root root 8.0K 7月 27 11:45 电脑硬件
drwxrwxrwx 5 root root 8.0K 7月 27 11:45 网际快车
中文显示正常,无乱码问题。
3、设置开机自动挂载 FAT32 分区
在 /etc/fstab 中添加:
/dev/hda2 /mnt/wind vfat umask=000,nls=utf8
4、添加到桌面
同样在 GNOME 下使用软链接:
[beinan@localhost ~]$ ln -s /mnt/wind/ ~beinan/Desktop/wind
四、文本文件乱码处理
有时打开文本文件会发现内容是乱码,最简单的解决方法是使用 gedit 打开文件,然后另存为 UTF-8 编码格式即可。
后记:尽管本文讲解得较为详细,但无法保证所有初学者都能一次性完全掌握。不过按照步骤逐一操作,至少 80% 的初学者应该能够顺利完成。欢迎提出宝贵意见与建议。
