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