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