Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

时间:2022-05-22 14:39:32

一. 挂载存储媒体

  linux文件系统将所有的磁盘都并入一个虚拟目录下,当使用新的存储媒体之前,需要把它放到虚拟目录下,这项工作称为挂载(mounting)

  1.1 mount 命令
    在linux上用来挂载媒体的命令叫做mount. 默认情况下,mount命令会输出当前系统上的挂载的设备列表。

  1.2 umont
    要除移可移动设备时,不能直接从系统上移除,应该先卸载。使用umont命令(以后在演示)。

二. 查看磁盘空间

  在linux系统中,监测系统磁盘使用情况很重要。知道还有多少空间供程序使用。下面介绍磁盘管理常用的命令。

  2.1 df 命令
    使用df -h参数会输出系统磁盘空间信息,已易读形式显示,如下图所示:
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

  2.2 du 命令
    使用du -h命令将显示当前目录的磁盘使用情况,确定占用了多少存储空间,是否有超大文件。如下图所示,显示mysql 的数据目录磁盘占用情况。
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

三 数据处理

  3.1  搜索数据 grep
    在前面章节介绍ps 命令查看进程时有说过grep命令。下面演示在mysql错误日志文件中,找出含有Warning关键词的信息。如下图所示:
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)
    使用grep -c参数显示匹配数,下面匹配Warning关键词数有50个。如下图所示 :
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

    下面使用grep在整个系统中搜索一某字符串,下面查找my.cnf 的字符串,如下所示:

    find .|xargs grep -ri "my.cnf"

    Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

  3.2  压缩数据 gzip
    在windows中经常有用压缩文件,比如zip文件,压缩成占用更少空间的小文件。在linux中压缩工具包括:bzip1扩展名为.bz2; compress扩展名为.Z; gzip扩展名为.gz; zip扩展名为.zip。常用的压缩工具是gzip工具。
    gzip:用来压缩文件,gzcat:用来查看压缩过的文本文件内容。gunzip:用来解压文件。
    下面使用gzip压缩mariadb.log文件, 注意压缩完后,原文件不存在了,如下图所示:
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)
    下面使用gunzip解压mariadb.log.gz包,如下图所示:
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

    面对比压缩前和压缩后的字节占用情况,如下图所示:
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

  3.3 归档数据 tar
    上面介绍的 zip命令可以很好地将数据压缩和归档进单个文件,但在linux中有最广泛使用的归档工具是tar命令。

    下面来看下tar命令的格式:
tar function [options] object1 object2 ..

    在tar命令中包括功能参数和选项参数二部份。在使用时,通常是功能参数和选项参数一起使用。

功能

描述

-A  --concatenate

将一个已有的tar归档文件追加到另一个已有tar归档文件

-c  --create

创建一个新的tar归档文件

-d  --delete

从已有的tar归档文件中删除

-r  --append

追加文件到已有tar归档文件末尾

-t  --list

列出已有tar归档文件的内容

-u  --update

将比tar归档文件中已有的同名文件新的文件追加到该tar归档文件中

-x  --extract

从已有tar归档文件中提取文件

选项

描述

-C   dir

切换到指定目录

-f   file

输出结果到文件

-j

将输出重定向给bzip2命令来压缩内容

-p

保留所有文件权限

-v

在处理文件时显示文件

-z

将输出重定向给gzip命令来压缩内容

    下面来演示tar命令以及参数(功能和选项)的组合,以/var/log/mariadb下的mariadb.log和mariadb.log2为例。

    (1) 使用 tar -cvf 组合创建一个名为mariadb.tar的归档空文件包,将mariadb2.log文件添加到mariadb.tar中,如下图所示:
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)
    (2) 使用tar -tf命令来查看归档文件包中的内容,如下图所示:
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)
    (3) 使用tar -xvf命令来提取归档文件包中的内容,下面演示先将mariadb2.log删除,再从mariadb.tar中取出到当前目录下(注意如果归档的不是文件,而是一个目录时,提取将是把归根的目录,在当前目录下重新创建)。
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)
      下面在列出当前目录文件,可以看到mariadb2.log从归档中提取出来了。
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

    (4) 使用tar -zxvf来解压提取文件名以.tgz结尾的文件(下载了开源软件,一般都是以.tgz结尾的文件)。比如我们下载的mysql二进制包就是tar.gz文件,它是经过gzip压缩过的tar文件。如下图所示:
      Linux编程 8 (挂载mount,查看磁盘df du,搜索grep,压缩zgip,归档tar)

       一般都使用tar -zxvf命令来解压并提取文件
[root@hsr tool]# tar -zxvf mysql-5.7.-linux-glibc2.-x86_64.tar.gzcf

    总结:对于tar的功能和选项还有很多组合,例如上面可以再将mariadb.log也归档到mariadb.tar中,这样mariadb.tar文件中就包含了mariadb.log和mariadb2.log。例如使用-d功能参数从tar归档包中删除一个文件。 使用tar可以轻松将整个目录都归档到单个tar文件包中,方便把数据迁移到另一个系统上。