[Linux Shell学习系列四]Shell命令进阶-检测和管理磁盘

1. mount、unmount命令

mount命令用于挂载一个文件系统,或是显示已挂载的文件系统的信息。

1)显示信息

$ mount #显示所有当前挂载的文件系统,默认包括各种虚拟文件系统
#输出信息格式:device on derectory type type (options)
#设备名 文件系统信息 挂载到的目录 挂载选项等

$ mount -t ext3 #使用-t选项,只显示当前挂载的文件系统类型为指定类型的文件系统

2)挂载

语法:mount [OPTION]... [DEVICE] [DIRECTORY] #挂载某个文件系统

DEVICE:
可以是块设备的全路径,如/dev/sda3;
或是一个通用唯一标识符,如UUID=*;
或是一个卷标,如LABEL="home";
或是NFS共享目录的路径,如hostname:/local

# mount -t iso9660 -o ro /dev/cdrom /mnt #挂载一个CD-ROM设备到/mnt目录,-o ro表示以只读访问的模式被挂载

# mkdir /mnt/dvd
# mount -t iso9660 -o loop RHEL6.iso /mnt/dvd #挂载一个iso文件到/mnt/dvd目录

$ mount /dev/sda5 /mydata #挂载一个磁盘分区到/mydata目录

$ mkdir /mnt/local
$ mount -t nfs hostname:/local /mnt/local #挂载一个远程NFS共享目录到/mnt/local下

当使用mount命令挂载但没有指定所有需要的信息时,将读取配置文件/etc/fstab中的内容,检查指定的文件系统是否列在其中。/etc/fstab中包含了系统应该被挂载的设备名、目标目录,以及文件系统类型和挂载选项的列表。当挂载指定在这个配置文件中的文件系统时,可以仅指定设备名,或是目标目录。

# mount -t ext3 /grubfile #单独挂载/grupfile目录

# mount -t ext3 UUID="*" #*为标识符

# mount -t nfs -o remount, ro nasstore:/vol/volume_share/share #以只读方式挂载NAS存储设备上的目录/vol/volume_share/share

# mount -a #使用-a选项,将挂载配置文件/etc/fstab中的所有条目

所有已挂载的文件系统在系统重启或关闭时通常自动卸载。当文件系统被卸载时,任何缓存在内存中的文件系统数据被快速写入磁盘。

umount命令用于手动卸载文件系统,只需指定要卸载的设备名或挂载点(即挂载时的目标目录)。

#卸载挂载点/opt/share的两种方式:
$ umount /opt/share 
$ umount nasstore:/vol/volume_share/share

#卸载前要确定此挂载点没有被任何进程占用,否则将得到:
$ umount /opt/share 
umount: /opt/share: device is busy
#使用lsof或fuser命令可查看某一挂载的文件系统被哪些进程占用

注:上述命令未尝试

 

2. df命令

df命令用于显示文件系统的可用的磁盘空间的数量。如果没有具体的挂载点,df命令将显示所有当前挂载的文件系统的可用空间的信息。默认以1k块大小为单位。

语法:df [OPTION]... [FILES]...

$ df 
Filesystem     1K-blocks     Used Available Use% Mounted on
#输出信息格式:设备名、总计块数量、已使用的磁盘空间、可用的磁盘空间、磁盘的使用率和挂载点

$ df -a #使用-a选项,显示所有文件系统的信息,包括虚拟文件系统

$ df -h #使用-h选项,以可读的格式(Size、Avail为MB/GB)显示结果
Filesystem      Size  Used Avail Use% Mounted on

$ df -h /dev/vda1 #显示指定的文件系统信息
Filesystem      Size  Used Avail Use% Mounted on

$ df -T #使用-T选项,显示文件系统类型的信息
Filesystem     Type     1K-blocks     Used Available Use% Mounted on

$ df -t ext4 #使用-t选项,显示某一指定文件系统类型的文件系统信息
Filesystem     1K-blocks     Used Available Use% Mounted on

$ df -x ext4 #使用-x选项,显示除某一文件系统类型以外的文件系统信息
Filesystem     1K-blocks   Used Available Use% Mounted on

$ df -m #使用-m选项,以MB(兆字节)为块大小单位,显示文件系统信息
Filesystem     1M-blocks  Used Available Use% Mounted on

 

3. du命令

du命令用于概述每个文件和目录所占磁盘空间的大小。

语法:du [OPTION]... [FILE]...

$ du #直接使用,以1024字节为大小单位显示当前目录下所有目录的大小
16      ./test
44      .

$ du test #显示指定具体目录下各目录的大小
16      test

$ du d.txt #显示指定具体文件的大小
4       d.txt

$ du -a #使用-a选项,递归地显示目录中各文件和目录的大小
4       ./test.tar.gz
4       ./test.tar.bz2
4       ./test/a.txt
4       ./test/b.txt
4       ./test/c.txt
16      ./test
12      ./test.tar
4       ./d.txt
44      .

$ du -h #使用-h选项,以可读形式显示大小
16K     ./test
44K     .

$ du -sh #使用-s选项,进现实当前目录或是某一指定目录的总大小
44K     .

$ du -h -0 #使用-0选项,以不换行的形式将输出结果显示为一行
16K     ./test44K       .

$ du -ah --exclude="*.txt" #使用--exclude选项,排除统计指定模式的文件的大小,与上面的du -a比较
4.0K    ./test.tar.gz
4.0K    ./test.tar.bz2
4.0K    ./test
12K     ./test.tar
28K     .

$ du -h --time  #使用--time选项,同时列出各条目的修改时间
16K     2020-05-15 10:49        ./test
44K     2020-05-15 10:49        .

 

本节结束

posted @ 2020-05-15 10:57  workingdiary  阅读(540)  评论(0)    收藏  举报