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