linux学习29 Linux磁盘使用及文件系统管理企业级实战

一、文件系统的使用

  1、首先要"挂载":mount命令和umount命令

  2、根文件系统之外的其它文件系统要想能够被访问,都必须通过关联至根文件系统上的某个目录来实现。此关联操作即为“挂载”,此目录即为“挂载点”。

    挂载点:mount_point,用于作为另一个文件系统的访问入口

      (1)、事先存在

      (2)、应该使用未被或不会被其它进程使用到的目录

      (3)、挂载点下原有的文件将会被隐藏

  3、mount命令

    mount [-fnrsvw] [-t vfstype] [-o options] device dir

    a、显示当前挂载的所有文件系统直接使用mount命令

[root@localhost ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=1007264k,nr_inodes=251816,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12872)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=203912k,mode=700)

    b、命令选项

      -r:readonly,只读挂载;光驱就只能只读

      -w:read and write,读写挂载,默认就是读写挂载的

      -n:默认情况下,当前文件系统上的挂载和卸载等操作都是会被写入/etc/mtab上去的。-n用于禁止此特性。

      -t vfstype:指明要挂载的设备上的文件系统的类型,多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型。

      -L LABEL:挂载时以卷标的方式指明设备。

        mount -L LABEL dir

      -U UUID:挂载时以UUID的方式指明设备

        mount -U UUID dir

      -o options:挂载选项

        sync/async:同步/异步操作;

        atime/noatime:文件或目录在被访问时是否更新其访问时间戳

        diratime/nodiratime:目录在被访问时是否更新其访问时间戳

        remount:重新挂载

        acl:支持使用facl功能。

[root@localhost ~]# mount -o remount,acl /dev/sdb1 /mnt/
[root@localhost ~]# mount|grep "sdb1"
/dev/sdb1 on /mnt type ext4 (rw,relatime,data=ordered)

          也可以tune2fs -o acl device

        ro:只读

        rw:读写

        /dev/nodev:此设备上是否允许创建设备文件

        exec/noexec:是否允许运行此设备上的程序文件

        auto/noauto:

        user/nouser:是否允许普通用户挂载此文件系统

        suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效

        defaults:Use default options: rw, suid, dev, exec, auto, nouser, and async.

    c、一个使用技巧

      可以实现将目录绑定至另一个目录上,作为其临时访问入口

      mount --bind 源目录  目标目录

[root@localhost ~]# mount --bind /etc/ /mnt
[root@localhost /]# umount /mnt/

    d、查看当前系统所有已挂载的设备

      mount

      cat /etc/mtab

      cat /proc/mounts

    e、挂载光盘

      mount -r /dev/cdrom   mount_point

      光盘设备文件:/dev/cdrom,/dev/dvd,或/dev/sr0

    f、挂载U盘

      事先识别U盘的设备文件;

  4、umount 命令

    a、umount device|dir

      注意:正在被进程访问到的挂载点无法被卸载

    b、查看路径被哪个进程占用:

      lsof  MOUNT_POINT

      fuser -v MOUNT_POINT

[root@localhost /]# mount /dev/sdb2 /mnt/
[root@localhost /]# cd /mnt/
[root@localhost mnt]# umount /mnt/
umount: /mnt: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@localhost mnt]# lsof /mnt/
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    1301 root  cwd(表示将其设置为了当前工作目录)    DIR   8,18     4096    2 /mnt
lsof    2467 root  cwd    DIR   8,18     4096    2 /mnt
lsof    2468 root  cwd    DIR   8,18     4096    2 /mnt

      

猜你喜欢

转载自www.cnblogs.com/Presley-lpc/p/12129476.html