磁盘管理02

文件系统配置文件

/etc/filesystems:系统指定的测试挂载文件系统类型

/proc/filesystems:Linux 系统已经加载的文件系统类型

/lib/modules/2.6.18-274.el5/kernel/fs/

文件系统类型的驱动所在目录

/etc/fstab

/etc/mtab

linux 文件类型的颜色

linux文件颜色的含义:蓝色代表目录 绿色代表可执行文件 红色表示压缩文件 浅蓝色表示链接文件 灰

色表示其他文件 红色闪烁表示链接的文件有问题了 黄色表示设备文件蓝色文件----------目录

白色文件----------一般性文件,如文本文件,配置文件,源码文件等

浅蓝色文件----------链接文件,主要是使用 ln 命令建立的文件

绿色文件----------可执行文件,可执行的程序

红色文件-----------压缩文件或者包文件

Linux 下用字符表示的文件类型

-:普通文件

d:目录文件

l:链接文件

b:块设备文件

c:字符设备文件

p:管道文件

文件系统操作命令

df:列出文件系统的整体磁盘使用情况

[root@centos57 ~]# df -h

文件系统 容量 已用 可用 已用% 挂载点

/dev/mapper/VolGroup00-LogVol00

16G 4.2G 11G 28% /

/dev/sda1 99M 13M 81M 14% /boot

tmpfs 1005M 0 1005M 0% /dev/shm

[root@centos57 ~]# df -i

文件系统 Inode (I)已用 (I)可用 (I)已用% 挂载点

/dev/mapper/VolGroup00-LogVol00

4186112 154441 4031671 4% /

/dev/sda1 26104 36 26068 1% /boot

tmpfs 257210 1 257209 1% /dev/shm

.host:/ 0 0 0 - /mnt/hgfs

du:列出目录所占空间

du -sh 显示当前目录大小

du –sh / 显示/目录下的所有目录大小

dumpe2fs:显示当前的磁盘状态

ln:连接文件(快捷方式)

ln –sf 源文件 目标文件

不加任何参数就进行连接,就是 hard link,加上-s 就是 Symbolic link,hard link 不支持目录和跨文件系统。

Fdisk

Fdisk 不支持大于 2T 的磁盘

Fdisk –l 显示系统中的所有分区内容

[root@centos57 ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

总扇区数,可以和下面的最后扇区数比较,看剩余Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 2610 20860402+ 8e Linux LVM

[root@centos57 ~]# fdisk /dev/sda2

Parted:2T以上磁盘分区工具

支持大于 2T 的磁盘,2T 以下的最好还是用 Fdisk 来分区。

[root@centos57 aixi]# parted /dev/hda print

Model: VMware Virtual IDE Hard Drive (ide)

Disk /dev/hda: 2147MB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

Number Start End Size Type File system 标志

1 32.3kB 101MB 101MB 主分区 ext3

2 101MB 357MB 256MB 主分区 linux-swap

# parted /dev/hda rm 2

删除第 2 个分区

# parted /dev/hda mkpart primary ext3 120MB 200MB 创建分区,primary 代表主分区,还可以是

extended 扩展分区,logical 逻辑分区;ext3 代表分区类型,120MB 是开始位置,最好是接上一分区的结束位

置,200M 是结束位置

partprobe :更新分区表/磁盘

用于重读分区表,当出现删除文件后,出现仍然占用空间。可以 partprobe 在不重启的情况下重读分区

# partprobe

这个命令执行完毕之后不会输出任何返回信息,你可以使用 mke2fs 命令在新的分区上创建文件系统。

Mkfs:磁盘格式化

Mkfs –t 文件系统格式 设备文件名(盘符)

[root@centos57 ~]# mkfs -t ext3 /dev/hda1

e2label:设置磁盘卷标

e2label 设备名称 新 label 名称,可以用 dumpe2fs 查看卷标

[root@centos57 ~]# e2label /dev/hda1 aixi

Mount:挂载磁盘

命令格式:

mount [-t vfstype] [-o options] device dir

mount –o remount,rw,auto /

重新挂载

mount –n –o remount,rw /

重新挂载根目录,设置为可读写

其中:

1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:

光盘或光盘镜像:iso9660

DOS fat16 文件系统:msdos

Windows 9x fat32 文件系统:vfat

Windows NT ntfs 文件系统:ntfs

Mount Windows 文件网络共享:smbfs UNIX(LINUX) 文件网络共享:nfs

2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:

loop:用来把一个文件当成硬盘分区挂接上系统

ro:采用只读方式挂接设备

rw:采用读写方式挂接设备

iocharset:指定访问文件系统所用字符集

3.device 要挂接(mount)的设备。

4.dir 设备在系统上的挂接点(mount point)。

挂接光盘镜像文件

1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。

#cp /dev/cdrom /home/sunky/mydisk.iso 或

#dd if=/dev/cdrom of=/home/sunky/mydisk.iso

注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/sunky/mydisk.iso

2、将文件和目录制作成光盘镜像文件,执行下面的命令。

#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir

注:这条命令将/home/sunky/mydir 目录下所有的目录和文件制作成光盘镜像文件

/home/sunky/mydisk.iso,光盘卷标为:mydisk

3、光盘镜像文件的挂接(mount)

#mkdir /mnt/vcdrom

注:建立一个目录用来作挂接点(mount point)

#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom

注:使用/mnt/vcdrom 就可以访问盘镜像文件 mydisk.iso 里的所有文件了。

挂接移动硬盘

对 linux 系统而言,USB 接口的移动硬盘是当作 SCSI 设备对待的。插入移动硬盘之前,应先用 fdisk –l 或

more /proc/partitions 查看系统的硬盘和硬盘分区情况。

[root at pldyrouter /]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

在这里可以清楚地看到系统有一块 SCSI 硬盘/dev/sda 和它的四个磁盘分区/dev/sda1 -- /dev/sda4,

/dev/sda5 是分区/dev/sda4 的逻辑分区。接好移动硬盘后,再用 fdisk –l 或 more /proc/partitions 查看系统

的硬盘和硬盘分区情况

[root at pldyrouter /]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

Disk /dev/sdc: 40.0 GB, 40007761920 bytes

255 heads, 63 sectors/track, 4864 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdc1 1 510 4096543+ 7 HPFS/NTFS

/dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)

/dev/sdc5 511 4864 34973473+ b Win95 FAT32

大家应该可以发现多了一个 SCSI 硬盘/dev/sdc 和它的两个磁盘分区/dev/sdc1?、/dev/sdc2,其中/dev/sdc5

是/dev/sdc2 分区的逻辑分区。我们可以使用下面的命令挂接/dev/sdc1 和/dev/sdc5。

#mkdir -p /mnt/usbhd1

#mkdir -p /mnt/usbhd2

注:建立目录用来作挂接点(mount point)

#mount -t ntfs /dev/sdc1 /mnt/usbhd1

#mount -t vfat /dev/sdc5 /mnt/usbhd2

注:对 ntfs 格式的磁盘分区应使用-t ntfs 参数,对 fat32 格式的磁盘分区应使用-t vfat 参数。若汉字

文件名显示为乱码或不显示,可以使用下面的命令格式。

#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1

#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

linux 系统下使用 fdisk 分区命令和 mkfs 文件系统创建命令可以将移动硬盘的分区制作成 linux 系统所特

有的 ext2、ext3 格式。这样,在 linux 下使用就更方便了。使用下面的命令直接挂接即可。

#mount /dev/sdc1 /mnt/usbhd1

挂接U盘

和 USB 接口的移动硬盘一样对 linux 系统而言 U 盘也是当作 SCSI 设备对待的。使用方法和移动硬盘完全

一样。插入 U 盘之前,应先用 fdisk –l 或 more /proc/partitions 查看系统的硬盘和硬盘分区情况。

[root at pldyrouter root]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

插入 U 盘后,再用 fdisk –l 或 more /proc/partitions 查看系统的硬盘和硬盘分区情况。

[root at pldyrouter root]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes 255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

Disk /dev/sdd: 131 MB, 131072000 bytes

9 heads, 32 sectors/track, 888 cylinders

Units = cylinders of 288 * 512 = 147456 bytes

Device Boot Start End Blocks Id System

/dev/sdd1 * 1 889 127983+ b Win95 FAT32

Partition 1 has different physical/logical endings:

phys=(1000, 8, 32) logical=(888, 7, 31)

系统多了一个 SCSI 硬盘/dev/sdd 和一个磁盘分区/dev/sdd1,/dev/sdd1 就是我们要挂接的 U 盘。

#mkdir -p /mnt/usb

注:建立一个目录用来作挂接点(mount point)

#mount -t vfat /dev/sdd1 /mnt/usb

注:现在可以通过/mnt/usb 来访问 U 盘了, 若汉字文件名显示为乱码或不显示,可以使用下面的命令。

#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb

挂接Windows文件共享

Windows 网络共享的核心是 SMB/CIFS,在 linux 下要挂接(mount)windows 的磁盘共享,就必须安装和使

用 samba 软件包。现在流行的 linux 发行版绝大多数已经包含了 samba 软件包,如果安装 linux 系统时未安

装 samba 请首先安装 samba。当然也可以到 www.samba.org 网站下载......新的版本是 3.0.10 版。

当 windows 系统共享设置好以后,就可以在 linux 客户端挂接(mount)了,具体操作如下:

# mkdir –p /mnt/samba

注:建立一个目录用来作挂接点(mount point)

# mount -t smbfs -o username=administrator,password=pldy123 //10.140.133.23/c$ /mnt/samba

注:administrator 和 pldy123 是 ip 地址为 10.140.133.23 windows 计算机的一个用户名和密码,c$是这

台计算机的一个磁盘共享

如此就可以在 linux 系统上通过/mnt/samba 来访问 windows 系统磁盘上的文件了。以上操作在 redhat as

server 3、redflag server 4.1、suse server 9 以及 windows NT 4.0、windows 2000、windows xp、windows 2003

环境下测试通过。

挂接UNIX系统NFS文件共享

类似于 windows 的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是 NFS(网络文件系统),下面

我们就以 SUN Solaris2.8 和 REDHAT as server 3 为例简单介绍一下在 linux 下如何 mount nfs 网络共享。

在 linux 客户端挂接(mount)NFS 磁盘共享之前,必须先配置好 NFS 服务端。

1、Solaris 系统 NFS 服务端配置方法如下:

(1)修改 /etc/dfs/dfstab, 增加共享目录

share -F nfs -o rw /export/home/sunky

(2)启动 nfs 服务

# /etc/init.d/nfs.server start (3)NFS 服务启动以后,也可以使用下面的命令增加新的共享

# share /export/home/sunky1

# share /export/home/sunky2

注:/export/home/sunky 和/export/home/sunky1 是准备共享的目录

2、linux 系统 NFS 服务端配置方法如下:

(1)修改 /etc/exports,增加共享目录

/export/home/sunky 10.140.133.23(rw)

/export/home/sunky1 *(rw)

/export/home/sunky2 linux-client(rw)

注:/export/home/目录下的 sunky、sunky1、sunky2 是准备共享的目录,10.140.133.23、*、

linux-client

是被允许挂接此共享 linux 客户机的 IP 地址或主机名。如果要使用主机名 linux-client 必须在服务端主机

/etc/hosts 文件里增加 linux-client 主机 ip 定义。格式如下:

10.140.133.23 linux-client

(2)启动与停止 NFS 服务

/etc/rc.d/init.d/portmap start (在 REDHAT 中 PORTMAP 是默认启动的)

/etc/rc.d/init.d/nfs start 启动 NFS 服务

/etc/rc.d/init.d/nfs stop 停止 NFS 服务

注:若修改/etc/export 文件增加新的共享,应先停止 NFS 服务,再启动 NFS 服务方能使新增加的共享

起作用。使用命令 exportfs -rv 也可以达到同样的效果。

3、linux 客户端挂接(mount)其他 linux 系统或 UNIX 系统的 NFS 共享

# mkdir –p /mnt/nfs

注:建立一个目录用来作挂接点(mount point)

#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs

注:这里我们假设 10.140.133.9 是 NFS 服务端的主机 IP 地址,当然这里也可以使用主机名,但必须

在本机/etc/hosts 文件里增加服务端 ip 定义。/export/home/sunky 为服务端共享的目录。

如此就可以在 linux 客户端通过/mnt/nfs 来访问其它 linux 系统或 UNIX 系统以 NFS 方式共享出来的文件

了。以上操作在 redhat as server 3、redflag server4.1、suse server 9 以及 Solaris 7、Solaris 8、Solaris 9 for

x86&sparc 环境下测试通过。

权限问题:

假设 server 端的使用者 jack, user id 为 1818, gid 为 1818, client 端也有一个使用者 jack,但是 uid 及 gid

是 1818。client 端的 jack 希望能完全读写 server 端的 /home/jack 这个目录。server 端的 /etc/exports

这样写的:

/home/jack *(rw,all_squash,anonuid=1818,anongid=1818)

这个的配置文件的意思是,所有 client 端的使用者存取 server 端 /home/jack 这

目录时,都会 map 成 server 端的 jack (uid,gid=1818)。我 mount 的结果是

1. client 端的 root 可以完全存取该目录, 包括读、写、杀……等

2. client 端的 jack (uid,gid=1818) 我可以做:

rm -rf server_jack/*

cp something server_jack/

mkdir server_jack/a

umount:将文件设备卸载

[root@centos57 ~]# umount /dev/hda1

用设备文件名来卸载

[root@centos57 ~]# umount /aixi

用挂载点来卸载umount: /aixi: device is busy

如果提示设备忙,不急可以使用如下命令卸载

#umount -l /mnt/hda1

选项 –l 并不是马上 umount,而是在该目录空闲后再 umount。

如果比较急,可用如下命令:

#umount -f /mnt/hda1

-f 代表强制卸载

如果还不行,可使用 fuser -m –v /dev/hda1 来查询是哪些程序在占用,结束这些程序进程即可卸载

[root@centos57 aixi]# sync && fuser -m /dev/hda1 –k

使用这条命令后一定可以卸载

交换分区

交换分区最大容量为 64G,最多只能建 32 个,

创建交换分区

#fdisk /dev/hdan+容量pt(修改系统 ID)分区号82pw

#mkswap /dev/hda2(以上划分的分区号)

构建 swap 格式

#swapon /dev/hda2

加载即完成增加 swap

#swapon –s

显示目前使用的 Swap 设备

创建交换文件

# dd if=/dev/hda1 of=/aixi/swap bs=1M count=64

创建大文件

#mkswap /aixi/swap

#swapon /aixi/swap

完成

取消交换分区或者交换文件

#swapon –s

显示目前使用的 Swap 设备

#swapoff /aixi/swap

#swapoff /dev/hda2

#free –m 查看

你可能感兴趣的:(磁盘管理02)