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


一. 掛載存儲媒體

     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個。如下圖所示 :
      

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

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

    

  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文件包中,方便把數據遷移到另一個系統上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM