1. 程式人生 > >Linux編程 8 (掛載mount,查看磁盤df du,搜索grep,壓縮zgip,歸檔tar)

Linux編程 8 (掛載mount,查看磁盤df du,搜索grep,壓縮zgip,歸檔tar)

工具包 很好 function x86 很多 del table 廣泛 3.1

一. 掛載存儲媒體

  linux文件系統將所有的磁盤都並入一個虛擬目錄下,當使用新的存儲媒體之前,需要把它放到虛擬目錄下,這項工作稱為掛載(mounting)

  1.1 mount 命令
    在linux上用來掛載媒體的命令叫做mount. 默認情況下,mount命令會輸出當前系統上的掛載的設備列表。

  1.2 umont
    要除移可移動設備時,不能直接從系統上移除,應該先卸載。使用umont命令(以後在演示)。

二. 查看磁盤空間

  在linux系統中,監測系統磁盤使用情況很重要。知道還有多少空間供程序使用。下面介紹磁盤管理常用的命令。

  2.1 df 命令
    使用df -h參數會輸出系統磁盤空間信息,已易讀形式顯示,如下圖所示:
      技術分享圖片

  2.2 du 命令
    使用du -h命令將顯示當前目錄的磁盤使用情況,確定占用了多少存儲空間,是否有超大文件。如下圖所示,顯示mysql 的數據目錄磁盤占用情況。
      技術分享圖片

三 數據處理

  3.1 搜索數據 grep
    在前面章節介紹ps 命令查看進程時有說過grep命令。下面演示在mysql錯誤日誌文件中,找出含有Warning關鍵詞的信息。如下圖所示:
      技術分享圖片
    使用grep -c參數顯示匹配數,下面匹配Warning關鍵詞數有50個。如下圖所示 :
      技術分享圖片

  3.2 壓縮數據 gzip
    在windows中經常有用壓縮文件,比如zip文件,壓縮成占用更少空間的小文件。在linux中壓縮工具包括:bzip1擴展名為.bz2; compress擴展名為.Z; gzip擴展名為.gz; zip擴展名為.zip。常用的壓縮工具是gzip工具。
    gzip:用來壓縮文件,gzcat:用來查看壓縮過的文本文件內容。gunzip:用來解壓文件。
    下面使用gzip壓縮mariadb.log文件, 註意壓縮完後,原文件不存在了,如下圖所示:
      技術分享圖片


    下面使用gunzip解壓mariadb.log.gz包,如下圖所示:
      技術分享圖片

    面對比壓縮前和壓縮後的字節占用情況,如下圖所示:
      技術分享圖片

  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中,如下圖所示:
      技術分享圖片
    (2) 使用tar -tf命令來查看歸檔文件包中的內容,如下圖所示:
      技術分享圖片
    (3) 使用tar -xvf命令來提取歸檔文件包中的內容,下面演示先將mariadb2.log刪除,再從mariadb.tar中取出到當前目錄下(註意如果歸檔的不是文件,而是一個目錄時,提取將是把歸根的目錄,在當前目錄下重新創建)。
      技術分享圖片
      下面在列出當前目錄文件,可以看到mariadb2.log從歸檔中提取出來了。
      技術分享圖片

    (4) 使用tar -zxvf來解壓提取文件名以.tgz結尾的文件(下載了開源軟件,一般都是以.tgz結尾的文件)。比如我們下載的mysql二進制包就是tar.gz文件,它是經過gzip壓縮過的tar文件。如下圖所示:
      技術分享圖片

       一般都使用tar -zxvf命令來解壓並提取文件
        [root@hsr tool]# tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gzcf 

    總結:對於tar的功能和選項還有很多組合,例如上面可以再將mariadb.log也歸檔到mariadb.tar中,這樣mariadb.tar文件中就包含了mariadb.log和mariadb2.log。例如使用-d功能參數從tar歸檔包中刪除一個文件。 使用tar可以輕松將整個目錄都歸檔到單個tar文件包中,方便把數據遷移到另一個系統上。

Linux編程 8 (掛載mount,查看磁盤df du,搜索grep,壓縮zgip,歸檔tar)