文件系统的挂载、usb设备光盘的使用

一、     文件系统的挂载mount:

1.       挂载命令mount使用:

(1)挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为,挂载点下原有文件在挂载完成后会被临时隐藏

(2) 卸载:为解除此关联关系的过程,可使用设备,也可以使用挂载点

(3) 用法:

         mount 设备 挂载点

    设备类型:

        1) 可以使用设备文件如/dev/sda;

        2) 可以使用卷标如SDA_LABEL;

        3) 可以使用UUID;

        4) 伪文件系统;proc,sysfs……

        5) dd创建的image文件使用loop选项

        6) 目录挂载至目录,使用bind或-B,fstab配置文件分区类型为none

(4) mount 常用选项:

         -t  指定文件系统类型

         -r  只读挂载

         -w 读写挂载

         -n 不更新/etc/mtab,通过mount看不到挂载的文件系统,只有cat /proc/mounts

                   才可以看到

         -a 自动挂载所有支持自动挂载的设备。定义在/etc/fstab中且支持auto功能

         -L 以卷标指定的设备挂载

         -U 以UUID指定的挂载设备

         -B –bind 绑定一个目录到另一个目录

[root@centos7 mnt]# mount -B /root/ /mnt/root

配置文件写法:

[root@centos7 smb]# tail -n1 /etc/fstab
/root/        /mnt/root      none      bind,defaults   0 0
[root@centos7 mnt]# mount |grep "root"
/dev/sda2 on /mnt/root type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

挂载windows的共享文件夹:

[root@centos7 mnt]# mount -o username=administrator,password=admin -t cifs  //10.1.1.88/f   /mnt/smb

挂载loop设备:

[root@cnode6_8 /]# dd if=/dev/zero of=/testdir/loopdev bs=1M count=50 //dd创建一个文件
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 2.04763 s, 25.6 MB/s
[root@cnode6_8 /]# mkfs.ext4 /testdir/loopdev //将改文件格式化为ext4
mke2fs 1.41.12 (17-May-2010)
/testdir/loopdev is not a block special device.
Proceed anyway? (y,n) y   ====> 回答y开始格式化
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
12824 inodes, 51200 blocks
2560 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=52428800
7 block groups
8192 blocks per group, 8192 fragments per group
1832 inodes per group
Superblock backups stored on blocks:
         8193, 24577, 40961
 
Writing inode tables: done                           
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@cnode6_8 /]# mkdir /mnt/loopdev //创建挂载点
[root@cnode6_8 /]# mount  -o loop /testdir/loopdev /mnt/loopdev //手动挂载
[root@cnode6_8 /]# mount |grep loop //检验是否成功
/testdir/loopdev on /mnt/loopdev type ext4 (rw,loop=/dev/loop0)
[root@cnode6_8 /]# umount /mnt/loopdev //卸载,尝试写入文件永久挂载
[root@cnode6_8 /]# vim /etc/fstab
[root@cnode6_8 /]# tail -n1 /etc/fstab //配置文件添加的部分
/testdir/loopdev       /mnt/loopdev             ext4      loop,defaults  0 0
 [root@cnode6_8 /]# mount -a
[root@cnode6_8 /]# mount |grep loop //配置文件生效
/testdir/loopdev on /mnt/loopdev type ext4 (rw,loop=/dev/loop0)
[root@cnode6_8 /]# losetup -a 
/dev/loop0: [0803]:11 (/testdir/loopdev)

注释:通过losetup查看loop设备与分区的关联情况,也可以手工指定哪一个loop设备关联某一个分区,losetup   /dev/loop2 /testdir/partfile就是关联loop2和分区关联。可以写loop设备到目录的挂载,分区其实是关联了一个loop设备,在rhel6中有8个loop设备,在rhel7中是动态建立的

使用mknod创建block或者字符设备其中b是指block,7是loop设备的编号,67是第多少个loop设备,可以先查看一下系统的loop设备编号到多少

[root@cnode6_8 testdir]# mknod loopd b 7 67
[root@cnode6_8 testdir]# ll loopd
brw-r--r--. 1 root root 7, 67 Jul 27 19:46 loopd

-o 常用选项(多个选项之间用逗号分割,在配置文件/etc/fstabdefaults的位置写)

       async:异步模式,加载到内存的文件修改之后不会立即同步到硬盘,能提高性能

       sync:同步模式,内存更改立即保存至文件,提高文件可靠性

       atime/moatime: 目录访问时间戳,例如web的目录时间戳没必要更新时可禁用

       auto/noauto: 是否支持自动挂载,automount -a 自动可挂载

       exec/noexec: 是否支持在文件系统上运行应用程序

       dev/nodev: 因为设备文件也是文件,dev表示支持在此目录上建立dev设备

suid/nosuid: 是否支持suidsgid权限

remount :重新挂载

ro:只读

rw:读写模式

user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载设备

defaults:相当于rwsuiddevexecautonouserasync

2.        查看与卸载命令:因为一个文件系统有可能不止一个用户访问,所以有可能不能卸载

findmnt 查看挂载情况;

[root@cnode6_8 ~]# findmnt /
TARGET SOURCE    FSTYPE OPTIONS
/      /dev/sda2 ext4   rw,relatime,seclabel,barrier=1,data=ordered
[root@cnode6_8 ~]# findmnt /dev/sda1
TARGET SOURCE    FSTYPE OPTIONS
/boot  /dev/sda1 ext4   rw,relatime,seclabel,barrier=1,data=ordered

 

lsof 或fuser -v 查看访问指定文件系统的进程

[root@cnode6_8 ~]# [root@cnode6_8 ~]# lsof /root
014657 /root
lsof    3440 root  cwd    DIR    8,2     4096 3014657 /root
[root@cnode6_8 ~]# fuser -v /root
                     USER        PID ACCESS COMMAND
/root:               root       2292 ..c.. bash
                     root       3357 ..c.. bash


终止所有正在访问指定文件系统的进程:fuser -km MOUNT_POINT

[root@cnode6_8 ~]# umount /testdir  //设备忙,无法卸载
umount: /testdir: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@cnode6_8 ~]# fuser -v /testdir //查看到user jack在使用
                     USER        PID ACCESS COMMAND
/testdir:            jack       3535 ..c.. bash
[root@cnode6_8 ~]# fuser -km /testdir //强制杀掉在使用分区的进程
/testdir:             3535c
[root@cnode6_8 ~]# umount /testdir
[root@cnode6_8 ~]#     //再次卸载已经成功

 

3.   永久挂载的配置文件/etc/fstab

/etc/fstab配置文件是在系统重启时文件系统挂载要读的配置文件,一旦写错可能致使操作系统无法启动,所以操作一定要小心!!!如在rhel6中挂载的设备名字写错,在检测的选项又设置了开机检测文件系统,那么此时在开机时将一直卡在输入ctrl+D或者输入root密码继续,此时可以输入密码重新挂载 / 文件系统,因为此时的 / 文件系统是只读的,需要重新挂载为可读可写的,然后编辑/etc/fstab 文件修改开机检测项为0,即不检测,然后继续,最后继续(ctrl +D)继续开机,等到开机检查哪一项除了问题,修改即可。rhel7不需要重新挂载 / 文件系统,可以直接编辑文件过程与rhel6类似,如果任然无法启动可以输入root密码,重新启动(systemctl reboot

  /etc/fstab 文件格式:

fstab.bmp

(1)要挂载的设备或伪文件系统:可以是设备名,UUIDLABEL,伪文件系统,目录等

(2) 挂载点:设备要挂载的目录,一般要放在/mnt下面

(3)  文件系统类型:一般的文件系统类型,还有none(目录)

(4)挂载选项default-o指定的各种项

(5)  转储频率0表示不备份,1表示每天转储,2表示隔天转储

(6) 自检次序0表示不自检,1一般用来表示根文件系统自检顺序

4.       挂载的文件系统的查看:

df :查看文件系统的挂载情况,可以加-T选项,在设备名比较长可以对其显示,方便编写脚本对数据进行处理

du:查看目录的大小情况

mount:可以查看到包括目录等的挂载情况,但是在挂载时加-n就查看不到了

cat  /proc/mounts  可以看到系统实时文件系统生效的挂载项

free :可以看到所有内存交换分区信息

cat  /proc/swaps 可以看到交换分区信息,包括使用哪个分作作为交换分区

二、 usb设备和CD-ROM的使用

1. usb设备的使用:

usb设备使用时可事先查看当前系统的分区和磁盘信息,方便知道插入usb设备后多了那些设备便于管理,usb设备同其它分区一样也需要挂载和卸载,数据写完后可以多次输入sync保证数据确实已经全部保存至usb设备

2. CD-ROM设备使用:

使用eject可以弹出光驱,eject -t弹入。linux中自带打包iso后缀文件的工具,如果是文件可以直接使用cp命令目标文件带有iso后缀即可,如果是目录,可以使用mkisofs 打包。iso文件挂载后可以使用

[root@cnode6_8 image]# touch {a..f}.txt
[root@cnode6_8 image]# ls
a.txt  b.txt  c.txt  d.txt  e.txt  f.txt
[root@cnode6_8 image]# cd ..
[root@cnode6_8 ~]# mkisofs -r -o img.iso  image  //给image目录建立镜像文件,-r递归,-o是输入文件
I: -input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 631
Total directory bytes: 946
Path table size(bytes): 10
Max brk space used 0
175 extents written (0 MB)
[root@cnode6_8 ~]# ls
img.iso    image

原创文章,作者:jack_cui,如若转载,请注明出处:http://www.178linux.com/41311

(0)
jack_cuijack_cui
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • kickstart+ftp+dhcp+tftp实现centos6的无人值守安装

    环境IP : 172.16.0.32 centos 6.6 一.安装相关包 安装图形界面 [root@localhost ~]# yum groupinstall “Desktop” “X Window System” “Chinese Support” [root@localhost ~]# yum -y install dhcp tftp-server …

    Linux干货 2017-06-03
  • 文本过滤、文本查找工具应用示例

    文本过滤、文本查找工具应用示例 1.显示当前系统上root、fedora或user1用户的默认shell [root@localhost ~]# cat /etc/passwd|grep “^root\>\|^fedora\>\|^user1\>”|cut -d: -f7 /bin/bash /bin/bash /bin/bash 2.找出…

    Linux干货 2017-07-30
  • 文本处理三剑客之sed

    概述     经过上篇对正则表达式和grep相关内容的学习,我们对文本处理有了一个初步的认识,本篇将简要介绍一下文本处理三剑客之sed。具体分为以下几个部分:     1、sed原理概述     2、sed命令详解 第一部分 &n…

    Linux干货 2016-08-10
  • MySQL主从复制: MHA

                    MySQL主从复制: MHA 前言 MHA的架构 环境部署 实验步骤 总结 前言 上篇文章我们实现了MySQL的主从复制, 但是我们之前就说过, 主从复制是有很多问题的…

    Linux干货 2016-04-28
  • rsyslog学习

    一、rsyslog日志服务简介 二、rsyslog的配置详解 三、实现日志服务器收集日志及last、lastb、dmseg命令的使用 四、实现日志存储在mysql中 一、rsyslog日志服务简介 日志的概念好理解,日志作用可用于排障和追溯审计的等 1、rsyslog是一个C/S架构的服务,可监听于某套接字,帮其它主机记录日志信息,在linux系统中可以分类…

    Linux干货 2016-10-24
  • 马哥教育网络21期+第八周练习博客

    马哥教育网络21期+第八周练习博客 # 1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器:工作于ISO模型的物理层,防止由于距离远,信号衰减; 网桥:用来连接不同网段,隔离冲突域; 二层交换机:二层交换机一般做为了三层交换机以下,利用设备mac地址进行通信,可以划分vlan,隔离广播域; 三层交换机:用于核心数据转发,不…

    Linux干货 2016-09-05