Chinaunix首页 | 论坛 | 博客
  • 博客访问: 297299
  • 博文数量: 87
  • 博客积分: 1206
  • 博客等级: 少尉
  • 技术积分: 725
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-16 00:12
个人简介

do the right things the right ways

文章分类

全部博文(87)

文章存档

2017年(5)

2016年(6)

2015年(1)

2012年(11)

2011年(64)

分类:

2012-03-19 12:31:04

Linux系统磁盘基本管理命令 ――mount

mount命令语法:

mount [参数] [设备名称] [目录]

实例1:挂载光盘镜像文件mydisk.iso。

本例中在执行mount命令之前,可以先执行mkisofs命令将用户sheriff的主目录/home/sheriff下的资料建立成一个mydisk.iso的光盘镜像文件。

[root@localhost ~]# mkisofs –r –J –V mydisk –o /root /mydisk.iso /home/sheriff

然后,可以执行mount命令将已创建好的光盘镜像文件mydisk.iso挂载到新建的挂载点/mnt/vcdrom目录下。

[root@localhost ~]# mount –o loop –t iso9660 /root/myd isk.iso /mnt/vcdrom

最后查看/mnt/vcdrom目录下资料,证实挂载操作成功完成。

实例2:挂载移动磁盘。

第1步:对Linux系统而言,USB接口的移动磁盘被识别为SCSI设备。插入移动磁盘之前,应先用fdisk –l或more /proc/partitions查看系统的磁盘和磁盘分区情况。

第2步:接好移动磁盘后,再用fdisk –l或more /proc/partitions查看系统的磁盘和磁盘分区情况。

第3步:对比两次磁盘分区情况查看结果,应该可以发现多了一个SCSI磁盘/dev/sdb和它的三个磁盘分区/dev/sdb1,/dev/sdb2。其中/dev/sdb5是/dev/sdb2分区的逻辑分区。可以使用下面的命令挂载/dev/sdb1和/dev/sdb5。

[root@localhost ~]# mkdir –p /mnt/usbhd1

[root@localhost ~]# mkdir –p /mnt/usbhd2

[root@localhost ~]# mount –t ntfs /dev/sdb1 /mnt/usbhd1

[root@localhost ~]# mount –t vfat /dev/sdb5 /mnt/usbhd2

对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。

[root@localhost ~]# mount –t ntfs –o iocharset=cp936 /dev/sdc1 /mnt/usbhd1

[root@localhost ~]# mount –t vfat –o iocharset=cp936 /dev/sdc5 /mnt/usbhd2

实例3:挂载U盘。

第1步:和USB接口的移动磁盘一样,在Linux系统中U盘也被当作SCSI设备。插入U磁盘之前,应先用fdisk –l或more /proc/partitions查看系统的磁盘和磁盘分区情况。

第2步:接好U磁盘后,再用fdisk –l 或 more /proc/partitions查看系统的磁盘和磁盘分区情况。

第3步:对比两次磁盘分区情况查看结果,应该可以发现多了一个SCSI磁盘/dev/sdd和它的一个磁盘分区/dev/sdb1,/dev/sdb1就是要挂载的U盘。

[root@localhost ~]# mkdir –p /mnt/usb

[root@localhost ~]# mount –t vfat /dev/sdd1 /mnt/usb

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

[root@localhost ~]# mount –t vfat –o iocharset=cp936 /dev/sdd1 /mnt/usb

实例4:挂载Windows文件共享。

Windows网络共享的核心是SMB/CIFS,在Linux下要挂载Windows的磁盘共享,就必须安装和使用samba软件包。现在流行的Linux发行版绝大多数已经包含了Samba软件包,如果安装Linux系统时未安装Samba,请首先安装Samba。

当Windows系统共享设置好以后,就可以在Linux客户端挂载了,具体操作步骤如下:

第1步,建立一个目录用来作挂载点(mount point)。

[root@localhost ~]# mkdir –p /mnt/samba

第2步,挂载。

[root@localhost ~]# mount -t smbfs -o username=adm inistrator, password=BEIBEI //192.168.1.100/c$ /mnt/samba

第3步,访问测试。

[root@localhost ~]# cd /mnt/samba

[root@localhost ~]# ls

实例5:挂载UNIX系统的NFS文件共享。

类似于Windows的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统)。下面就以Red Hat Enterprise Linux 5为例,简单介绍一下在Linux下如何mount nfs网络共享。

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

第1步,Linux系统NFS服务端配置方法如下:

修改/etc/exports,增加共享目录。

/export/home/test 192.168.1.102(rw)

192.168.1.102 linux-client

启动与停止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服务

第2步 Linux客户端挂载(mount)其他Linux系统或UNIX系统的NFS共享

[root@localhost ~]# mkdir –p /mnt/nfs

[root@localhost ~]# mount –t nfs –o rw 192.168.1.10 2:/export/home/test /mnt/nfs

这里假设192.168.1.102是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/export/home/test为服务端共享的目录。

这样,就可以在Linux客户端通过/mnt/nfs来访问其他Linux系统或UNIX系统以NFS方式共享出来的文件了。

实例6:虚拟挂载/dev/sdb1磁盘的vfat文件系统。

[root@localhost ~]# mount –fv –t vfat /dev/sdb1 /mnt/usb

参数-f表示虚拟挂载文件系统,实际上并未真实挂载文件系统。通过执行”ls /mnt/usb”命令,可以看到加载点下没有什么内容显示。

实例7:列出当前已挂载的vfat文件系统。

[root@localhost ~]# mount–t vfat

――umount

umount命令语法:

umount [参数] [设备或目录]

实例1:卸载一个已经挂载的光盘镜像文件mydisk.iso。

[root@localhost ~]# umount /mnt/vcdrom/

实例2:卸载/etc/mtab文件中登记的类型为vfat的文件系统。

[root@localhost ~]# umount /mnt/vcdrom/

实例3:卸载已挂接在/mnt/usb的U盘,若无法卸载,则尝试以只读方式重新挂载。

为了展示该效果,首先在已挂载U盘的前提下,在一个控制台中将当前工作目录切换至/mnt/sub目录。

接下来打开另外一个控制台,在控制台中执行umount命令卸载已挂接在/mnt/usb的U盘,若无法卸载便尝试以只读方式重新挂载U盘。

[root@localhost ~]# umount –r /mnt/usb

――df

df命令语法:

df [参数] [文件或磁盘设备]

实例1:报告所有已安装文件系统上剩余磁盘空间使用信息。

[root@localhost ~]# df

该命令报告了所有已安装文件系统的磁盘总块数、已用空间、可用空间、已用百分比以及挂载点等信息。

实例2:报告设备/dev/sda1上的文件系统上剩余磁盘空间信息。

[root@localhost ~]# df /dev/sda1

实例3:报告索引节点inode的使用信息。

[root@localhost ~]# df –i

实例4:报告所有文件系统的使用情况。

[root@localhost ~]# df –a

在此可以看到很多空间为0的文件系统也都纷纷列表出来了。

实例5:以可读性较强的方式报告文件系统的使用情况。

[root@localhost ~]# df –h

在此可以看到很文件系统的容量、已用空间、可用空间等信息不再已块为单位描述了,而是以可读性比较好的M、G等为单位。

――du

du命令语法:

du [参数][目录或文件]

实例1查看当前目录下的所有文件占用磁盘空间大小。

[root@localhost ~]# du –abh *

实例2以可读性较强的方式报告当前目录占用磁盘空间大小的总和信息(不包括子目录占用的磁盘空间)。

[root@localhost ~]# du –sSh

实例3以可读性较强的方式报告目录/usr,/bin,/var等占用磁盘空间的大小。

[root@localhost ~]# du –sh /usr /bin /var

实例4以可读性较强的方式报告当前目录的直接子目录占用磁盘空间的大小。

[root@localhost ~]# du –h --max-depth=1

――repquota

repquota命令语法:

repquota [参数] [文件系统...]

实例1显示所有分区中所有用户磁盘限额状况信息。

[root@localhost ~]# repquota -a

实例2以可读性较好的方式报告所有分区中群组的磁盘限额状况信息。

[root@localhost ~]# repquota –ags

实例3报告文件系统“/home/sheriff/sdb1”的用户和群组的磁盘限额状况信息。

[root@localhost ~]# repquota –ugs /home/sheriff/sdb1

――quota

quota命令语法:

quota [参数][-u 用户...][ -g 群组...][ -f 文件系统...]

实例1:查看用户root的磁盘限额及其使用情况。

[root@localhost ~]# quota –u root

实例2:以可读性较好的方式查看root用户的磁盘限额及其使用情况。

[root@localhost ~]# quota -s -u root

实例3:查看群组sheriff的磁盘限额及其使用情况。

[root@localhost ~]# quota –g sheriff

――quotacheck

quotacheck命令语法:

quotacheck [参数][文件系统]

实例1:创建文件系统/home/sheriff/test下的磁盘限额文件。

第1步,挂载磁盘分区/dev/sdb1到挂载点/home/sheriff/test。

[root@localhost ~]# mkdir /home/sheriff/test

[root@localhost ~]# mount –t vfat /dev/sdb1 /home/sheriff/test/

第2步,开启磁盘分区文件系统/dev/sdb1的quota功能,即编辑配置文件/etc/fstab,使得准备要开放quota功能的磁盘分区可以支持quota。目前/home/sheriff/test是一个独立的分区的挂载点,挂载了磁盘分区/dev/sdb1。为了开启指定磁盘分区/dev/sdb1的quota功能,用vi来编辑配置文件/etc/fstab。只要在/etc/fstab里头增加usrquota,grpquota即可。

[root@localhost ~]# df

[root@localhost ~]# vi /etc/fstab

[root@localhost ~]# umount /dev/sdb1

[root@localhost ~]# mount -a

[root@localhost ~]# more /etc/mtab

第3步,扫瞄磁盘分区文件系统/dev/sdb1的使用者使用状况,并产生重要的aquota.group与aquota.user磁盘限额文件。

[root@localhost ~]# quotacheck –avug

[root@localhost ~]# ll /home/sheriff/test/

实例2:依据/etc/fstab文件,除根分区外,建立所有分区的磁盘限额文件(即文件aquota.user和aquota.group)。

第1步,挂载磁盘分区/dev/sdb1到挂载点/home/sheriff/sdb1,磁盘分区/dev/sdb5到挂载点/home/sheriff/sdb5。

[root@localhost ~]# mkdir /home/sheriff/sdb1

[root@localhost ~]# mkdir /home/sheriff/sdb5

[root@localhost ~]# mount –t ext3 /dev/sdb1 /home/sherif f/sdb1/

[root@localhost ~]# mount –t ext3 /dev/sdb5 /home/sheri ff/sdb5/

第2步,开启磁盘分区文件系统/dev/sdb1、/dev/sdb5的quota功能,即编辑配置文件/etc/fstab,使得准备要开放quota功能的磁盘分区可以支持quota。目前/home/sheriff/sdb1,/home/sheriff/sdb5均是独立的分区的挂载点,分别挂载了磁盘分区/dev/sdb1,/dev/sdb5。为了开启指定磁盘分区/dev/sdb1,/dev/sdb5的quota功能, vi来编辑配置文件/etc/fstab。只要在/etc/fstab里头增加了usrquota和grpquota即可。

[root@localhost ~]# df

[root@localhost ~]# vi /etc/fstab

[root@localhost ~]# ll /home/sheriff/sdb1 /home/she riff/sdb5

[root@localhost ~]# umount /dev/sdb1 /dev/sdb5

[root@localhost ~]# mount -a

[root@localhost ~]# more /etc/mtab

第3步,扫描除根分区外,建立的所有分区(即扫瞄磁盘分区文件系统/dev/sdb1,/dev/sdb5)的使用者使用状况,并产生重要的aquota.group与aquota.user磁盘限额文件。

[root@localhost ~]# quotacheck -aRvug

[root@localhost ~]# ll /home/sheriff/sdb1 /home/she riff/sdb5

执行quotacheck命令后,在/home/sheriff/sdb1,/home/sheriff/sdb5目录下分别创建了两个文件aquota.user和aquota.group。

――quotaon

quotaon命令语法:

/sbin/quotaon [参数] [文件系统...]

实例1:启动所有分区文件系统的配额限制。

通过执行下面的more命令,可以知道当前系统中进行配额限制的分区是/dev/sdb1,/dev/sdb5。

[root@localhost ~]# more /etc/mtab

接下来执行quotaon命令,启动当前系统中进行配额限制的分区(分区/dev/sdb1和/dev/sdb5)的配额限制功能。

[root@localhost ~]# quotaon –av

实例2:启动目录/home/sheriff/sdb1所在分区用户的磁盘空间限制。

通过执行下面的quotaoff命令,关闭当前系统中进行配额限制的分区(分区/dev/sdb1和/dev/sdb5)的配额限制功能(包括对用户和群组的配额限制)。接下来,执行下面的quotaon命令,启动目录/home/sheriff/sdb1所在分区用户的磁盘空间限制。

[root@localhost ~]# quotaoff –av

[root@localhost ~]# quotaon –uv /home/sheriff/sdb1

――quotaoff

quotaoff命令语法:

quotaoff [参数][文件系统...]

实例:关闭所有文件系统的配额限制。

[root@localhost ~]# quotaoff –av

――edquota

edquota命令语法:

edquota [参数][用户或群组...]

实例1:修改用户sheriff的quota用量。

[root@localhost ~]# edquota -u sheriff

实例2:将用户sheriff的quota配置应用到用户cjacker上。

首先创建一个用户cjacker,然后使用如下命令将用户sheriff的quota配置应用到用户cjacker上。

[root@localhost ~]# edquota -p sheriff -u cjacker

——mformat

mformat命令语法:

mformat [参数][驱动器代号]

实例:格式化分区C盘,其中C盘是SCSI磁盘/dev/sdb的第一个主分区/dev/sdb1。

首先在确保已经用fdisk,mfdisk或parted工具对SCSI磁盘进行了分区,且第一个主分区为fat16分区。

接下来修改配置文件/etc/mtools.conf,取消对drive C的注释,同时将file修改为”/dev/sdb1”。

然后使用mmount命令挂载分区/dev/sdb1(即驱动器C)到挂载点/mnt/hdc,然后即可执行mformat命令对驱动器C进行格式化工作。

[root@localhost ~]# mmount C: -t msdos /dev/sdb1 /mnt/hdc

[root@localhost ~]# mformat C:

[root@localhost ~]# mdir C:

——minfo

minfo命令语法:

minfo [-v][驱动器代号]

实例:显示C盘(即SCSI磁盘/dev/sdb的第一个主分区/dev/sdb1)MS-DOS文件系统的信息。

[root@localhost ~]# minfo C:

FAT记录——mshowfat

mshowfat命令语法:

mshowfat [文件...]

实例:显示在C盘(即SCSI磁盘/dev/sdb的第一个主分区/dev/sdb1)中创建的文件demoiso.log和install.log。

[root@localhost ~]# mshowfat C:/demoiso.log C:/test/I nstall.log

MS-DOS文件系统——mmount

mmount命令语法:

mmount [驱动器代号][mount参数]

实例1:挂载SCSI磁盘/dev/sdb的第一个fat16格式的主分区/dev/sdb1到挂载点/mnt/hdc,并设置其驱动器代号为C。

首先在确保已经用fdisk,mfdisk或parted工具对SCSI磁盘进行了分区,且第一个主分区为fat16分区。

接下来修改配置文件/etc/mtools.conf,取消对drive C的注释,同时将file修改为”/dev/sdb1”。

然后使用mmount命令挂载分区/dev/sdb1(即驱动器C)到挂载点/mnt/hdc。

[root@localhost ~]# mmount C: -t msdos /dev/sdb1 /mnt/hdc

实例2:挂载U盘/dev/sdc的第一个fat32格式的主分区/dev/sdc1到挂载点/mnt/usb,并设置其驱动器代号为D。

首先在确保的U磁盘是fat32格式分区。

接下来修改配置文件/etc/mtools.conf,将U盘当作SCSI设备处理,添加对drive D的描述,同时将file修改为”/dev/sdc1”。

然后使用mmount命令挂载分区/dev/sdc1(即驱动器D)到挂载点/mnt/usb。

[root@localhost ~]# mmount D: -t msdos /dev/sdc1 /mnt/usb

[root@localhost ~]# mdir D:

MS-DOS磁盘卷标——mlabel

mlabel命令语法:

mlabel [参数][-N 序列号][驱动器代号]

实例:将前述示例中C盘的标签更改为SYS_DISK。

[root@localhost ~]# mlabel C:

——mcd

mcd命令语法:

mcd [目录名称...]

实例:使用mcd切换目录到C盘下的demo目录。

[root@localhost ~]# mcd C:/demo

使用命令不带参数的mcd命令可切换回原来的工作目录。

——mdir

mdir命令语法:

mdir [参数] [目录...]

实例1:列表所有在C盘中以字母“m”打头的文件。

[root@localhost ~]# mdir C:/m*.*

实例2:列表所有在C盘中的文件(包括隐藏文件)。

[root@localhost ~]# mdir –a C:

实例3:以横排的方式列表在C盘中的文件。

[root@localhost ~]# mdir –w C:

——mdu

mdu命令语法:

mdu [参数] [目录...]

实例1:显示C盘中demo目录所占用的磁盘空间。

[root@localhost ~]# mdu C:/demo

实例2:显示C盘中所有文件及目录所占用的磁盘空间。

[root@localhost ~]# mdu –a C:

——mmd

mmd命令语法:

mmd [目录...]

实例1:在C盘中创建一个demox目录。

[root@localhost ~]# mmd C:/demox

实例2:在C盘中创建一个testx和一个user目录。

[root@localhost ~]# mmd C:/testx C:/user

——mrd

mrd命令语法:

mrd [目录...]

实例:在C盘中删除一个空目录demo。

[root@localhost ~]# mrd C:/user

——mdeltree

mdeltree命令语法:

mdeltree [目录...]

实例:在C盘中删除一个目录demo,其中demo目录下又有很多子目录和一些文件。

[root@localhost ~]# mdeltree C:/demo

mtools支持命令——mtools

mtools命令语法:

mtools

实例:列出mtools的所有命令。

[root@localhost ~]# mtools

mtools相关设置——mtoolstest

mtoolstest命令语法:

mtoolstest

实例:测试mtools的相关设置。

[root@localhost ~]# mtoolstest

——hdparm

hdparm命令语法:

hdparm [参数] [设备]

实例1:评估磁盘的读取效率。

[root@localhost ~]# hdparm –t /dev/sda2

实例2:激活磁盘的DMA模式。

[root@localhost ~]# hdparm –d 1 /dev/sda2

实例3:检查IDE磁盘电源管理模式。

[root@localhost ~]# hdparm –C /dev/sda2

——losetup

losetup命令语法:

losetup [参数][设备][文件]

实例:通过设置loop设备的方式,将文件虚拟成块设备。

首先创建loop设备,通过执行dd命令创建一个容量为50 MB的空文件cryptoloop.img,然后执行losetup命令将创建好的文件cryptoloop.img虚拟成块设备/dev/loop0。

[root@localhost ~]# dd if=/dev/zero of=cryptoloop.img bs=1M count=50

[root@localhost ~]# losetup /dev/loop0 cryptoloop.img

接下来为当前的loop设备建立文件系统并挂载的Linux中。

[root@localhost ~]# mkfs.ext3 /dev/loop0

[root@localhost ~]# mkdir /mnt/crypto

[root@localhost ~]# mount -t ext3 /root/ cryptoloop.img /mnt/crypto –o loop

最后卸载loop设备。

[root@localhost ~]# umount /mnt/crypto

[root@localhost ~]# losetup –d /dev/loop0

若在需要的时候希望重新加密挂载时,执行如下命令。

[root@localhost ~]# losetup -e des /dev/loop0 cryptolo op.img

[root@localhost ~]# mount -t ext3 /root/ cryptoloop.img /mnt/crypto -o encryption=des

——eject

eject命令语法:

eject [参数][设备]

实例1:弹出光盘。

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom

[root@localhost ~]# eject –v /mnt/cdrom

实例2:关闭光盘的托盘。

[root@localhost ~]# eject –t

实例3:弹出第二台光驱。

假设第二台光驱挂载在/mnt/vcdrom上,则使用一下命令:

[root@localhost ~]# eject /mnt/vcdrom

实例4:显示预设的设备。

[root@localhost ~]# eject –d

inode内容——stat

stat命令语法:

stat[参数][文件或目录]

实例1:显示/root/demo目录inode的信息。

[root@localhost ~]# stat /root/demo

实例2:显示/root/demo目录所在的文件系统inode的信息。

[root@localhost ~]# stat –f /root/demo

——rmt

rmt命令语法:

rmt

——sync

sync命令语法:

sync [参数]

实例:将缓冲区数据写入磁盘。

[root@localhost ~]# sync

阅读(646) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~