一、光盘挂载、卸载
在挂载外围设备时一般习惯性地将挂载点放在/mnt目录下,光盘对应的设备文件通常为“/dev/cdrom”
[root@justin ~]# mkdir /mnt/cdroom [root@justin ~]# mount /dev/cdrom /mnt/cdroom/ mount: block device /dev/sr0 is write-protected, mounting read-only [root@justin ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 ext4 9.9G 2.8G 6.6G 30% / tmpfs tmpfs 504M 0 504M 0% /dev/shm /dev/sda1 ext4 194M 27M 158M 15% /boot /dev/sda5 ext4 7.7G 146M 7.2G 2% /home /dev/sr0 iso9660 2.9G 2.9G 0 100% /mnt/cdroom [root@justin ~]#
由于光盘是只读的存储介质,因此在挂载时系统会出现“mounting read-only”的提示信息。另外,在df命令显示的结果中可以发现,光盘(光驱)的实际设备文件是/dev/sr0,/dev/cdrom其实只是一个符号链接,光盘的文件系统iso9660,如果在图形界面下系统会将光盘自动挂载到“/media/RHEL_6.3 x86_64 Disc 1”目录下,Linux允许同一个存储设备同时被挂载到多个挂载点,并不影响使用。
通过/mnt/cdroom就可以查看或者使用光盘内容,在卸载的时候需要退出所在目录,否则会提示设备在繁忙的信息
[root@justin ~]# cd /mnt/cdroom/ && ls EULA RELEASE-NOTES-es-ES.html RELEASE-NOTES-ru-RU.html GPL RELEASE-NOTES-fr-FR.html RELEASE-NOTES-si-LK.html HighAvailability RELEASE-NOTES-gu-IN.html RELEASE-NOTES-ta-IN.html images RELEASE-NOTES-hi-IN.html RELEASE-NOTES-te-IN.html isolinux RELEASE-NOTES-it-IT.html RELEASE-NOTES-zh-CN.html LoadBalancer RELEASE-NOTES-ja-JP.html RELEASE-NOTES-zh-TW.html media.repo RELEASE-NOTES-kn-IN.html repodata Packages RELEASE-NOTES-ko-KR.html ResilientStorage README RELEASE-NOTES-ml-IN.html RPM-GPG-KEY-redhat-beta RELEASE-NOTES-as-IN.html RELEASE-NOTES-mr-IN.html RPM-GPG-KEY-redhat-release RELEASE-NOTES-bn-IN.html RELEASE-NOTES-or-IN.html Server RELEASE-NOTES-de-DE.html RELEASE-NOTES-pa-IN.html TRANS.TBL RELEASE-NOTES-en-US.html RELEASE-NOTES-pt-BR.html [root@justin cdroom]# umount /mnt/cdroom/ umount: /mnt/cdroom: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) [root@justin cdroom]# cd [root@justin ~]# umount /mnt/cdroom/ [root@justin ~]#
参数-o
-o ro:用唯读模式挂上
-o rw:用可读写模式挂上
-o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统
-o remount:将一个已经挂下的档案系统重新用不同的方式挂上
[root@justin ~]# mount -o remount,ro /dev/ops/databases [root@justin ~]# mount -o loop /tmp/image.iso /mnt/cdrom
如果发现有提示“device is busy”,找到是什么进程使得他busy
[root@justin ~]# fuser -m /mnt/cdrom 将会显示使用这个模块的pid [root@justin ~]# fuser -mk /mnt/cdrom 将会直接kill那个pid
二、挂载iso镜像文件
由于系统里没有iso镜像文件,这里把/home目录制作成光盘镜像文件
[root@justin ~]# mkisofs -r -J -V cdiso -o /usr/local/src/cdiso.iso /home I: -input-charset not specified, using utf-8 (detected in locale settings) Using _____000 for /home/justin/桌面 (图片) Using _____001 for /home/justin/图片 (视频) Using _____002 for /home/justin/视频 (音乐) Using _____003 for /home/justin/音乐 (模板) Using _____004 for /home/justin/模板 (文档) Using _____005 for /home/justin/文档 (下载) Using PREFE000.DES;1 for /home/justin/.local/share/applications/preferred-mail-reader.desktop (preferred-web-browser.desktop) Using 8665C000.;1 for /home/justin/.pulse/8665cfcff9c76f94fac16e0000000022-default-source (8665cfcff9c76f94fac16e0000000022-default-sink) Using 8665C001.;1 for /home/justin/.pulse/8665cfcff9c76f94fac16e0000000022-default-sink (8665cfcff9c76f94fac16e0000000022-runtime) Using 8665C000.TDB;1 for /home/justin/.pulse/8665cfcff9c76f94fac16e0000000022-card-database.tdb (8665cfcff9c76f94fac16e0000000022-stream-volumes.tdb) Using 8665C001.TDB;1 for /home/justin/.pulse/8665cfcff9c76f94fac16e0000000022-stream-volumes.tdb (8665cfcff9c76f94fac16e0000000022-device-volumes.tdb) Total translation table size: 0 Total rockridge attributes bytes: 28589 Total directory bytes: 202000 Path table size(bytes): 1456 Max brk space used 6b000 825 extents written (1 MB) [root@justin ~]# mkdir /mnt/cdroom [root@justin ~]# mount -o loop -t iso9660 /usr/local/src/cdiso.iso /mnt/cdroom/ [root@justin ~]# cd /mnt/cdroom/ [root@justin cdroom]# ll 总用量 49 dr-xr-xr-x 3 root root 2048 10月 11 15:21 default dr-xr-xr-x 3 root root 2048 10月 11 10:46 file -r--r--r-- 1 root root 4 9月 24 13:50 i dr-xr-xr-x 28 root root 6144 10月 14 22:12 justin dr-xr-xr-x 4 root root 2048 10月 14 22:12 justin1 dr-xr-xr-x 2 root root 2048 9月 18 15:30 lost+found dr-xr-xr-x 4 root root 2048 10月 10 11:08 study6 -r-xr-xr-x 1 root root 17 10月 11 15:14 test -r--r--r-- 1 root root 31991 10月 22 18:45 top1 [root@justin cdroom]#
三、移动硬盘、U盘挂载
移动硬盘、U盘挂载和以上类似,各自的文件名可以通过[root@justin ~]# fdisk -l查看
对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,应使用-o iocharset=cp936参数
四、挂接Windows文件共享
在linux下要挂接(mount)windows的磁盘共享,就必须安装和使用samba 软件包。这里还没安装,以下为挂载的一个例子
[root@CHINFO8 ~]# rpm -qa|grep samba samba-client-3.0.33-3.37.el5 samba-common-3.0.33-3.37.el5 [root@CHINFO8 ~]# [root@justin ~]# mount -t smbfs -o username=administrator,password=123 //10.15.72.73/d$ /mnt/samba
使用smb协议挂载很难解决乱码问题,使用cifs则没乱码问题
[root@justin ~]# mount -t cifs -o username=admin,password=123 //10.15.23.73/dmpfile /data
自动挂载、fstab
以上挂载方式在重启机器会丢失,再次使用需重新挂载,可以通过修改/etc/fstab文件来完成文件系统的自动挂载。/etc/fstab称为文件系统数据表(File System Table),Linux在每次开机的时候都会按照这个文件中的配置来自动挂载相应的文件系统。
[root@justin ~]# tail -2 /etc/fstab sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 [root@justin ~]#
以第二行说明各项租用
第1字段proc:需要挂载的设备文件名。
第2字段/proc:挂载点,挂载点必须是一个目录,而且必须用绝对路径。对于交换分区,这个字段定义为swap。
第3字段proc:文件系统的类型。如果是ext4文件系统,则写成ext4;如果是FAT32文件系统,则写成vfat;如果是光盘,可以写成auto,由系统自动检测,或者是iso9660这种标准格式。
第4字段defaults:挂载选项。一般都是采用“defaults”。
第5字段0:文件系统是否需要dump备份(dump是一个备份工具),一般为1时表示需要,为0设表示忽略。
第6字段0:表示在系统启动时是否检查这个文件系统以及检查的顺序,设为0表示不检查,设为1表示优先检查,2表示其次检查。对于根分区应设为1,其他分区设为2或者是0
sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/cdrom /media iso9660 loop,ro 0 0 //10.15.23.73/dmpfile /data cifs username=admin,password=123,rw 0 0