1)基本語法:java
gzip+文件 (功能描述:壓縮文件,只能將文件壓縮爲*.gz文件)linux
gunzip+文件.gz (功能描述:解壓縮文件命令)oop
2)特色:命令行
(1)只能壓縮文件不能壓縮目錄ip
(2)不保留原來的文件hadoop
3)案例test
(1)gzip壓縮打包
[root@hadoop101 opt]# ls權限
test.java語法
[root@hadoop101 opt]# gzip test.java
[root@hadoop101 opt]# ls
test.java.gz
(2)gunzip解壓縮文件
[root@hadoop101 opt]# gunzip test.java.gz
[root@hadoop101 opt]# ls
test.java
1)基本語法:
zip + 參數 + XXX.zip + 將要壓縮的內容 (功能描述:壓縮文件和目錄的命令,window/linux通用且能夠壓縮目錄且保留源文件)
參數:
-r 壓縮目錄
2)案例:
(1)壓縮 1.txt 和2.txt,壓縮後的名稱爲mypackage.zip
[root@hadoop101 opt]# zip test.zip test1.java test.java
adding: test1.java (stored 0%)
adding: test.java (stored 0%)
[root@hadoop101 opt]# ls
test1.java test.java test.zip
(2)解壓 mypackage.zip
[root@hadoop101 opt]# unzip test.zip
Archive: test.zip
extracting: test1.java
extracting: test.java
[root@hadoop101 opt]# ls
test1.java test.java test.zip
1)基本語法:
tar + 參數 + XXX.tar.gz + 將要打包進去的內容 (功能描述:打包目錄,壓縮後的文件格式.tar.gz)
參數:
-c 產生.tar打包文件
-v 顯示詳細信息
-f 指定壓縮後的文件名
-z 打包同時壓縮
-x 解包.tar文件
2)案例
(1)壓縮:tar -zcvf XXX.tar.gz n1.txt n2.txt
壓縮多個文件
[root@hadoop101 opt]# tar -zcvf test.tar.gz test1.java test.java
test1.java
test.java
[root@hadoop101 opt]# ls
test1.java test.java test.tar.gz
壓縮目錄
[root@hadoop101 opt]# tar -zcvf test.java.tar.gz test1
test1/
test1/hello
test1/test1.java
test1/test/
test1/test/test.java
[root@hadoop106 opt]# ls
test1 test.java.tar.gz
(2)解壓:tar -zxvf XXX.tar.gz
解壓到當前目錄
[root@hadoop101 opt]# tar -zxvf test.tar.gz
tar --no-same-owner -xzvf test.tar.gz -C /opt
解壓到/opt目錄
[root@hadoop101 opt]# tar -zxvf test.tar.gz -C /opt
使用root解壓文件 tar -zxvf xxx.tar.gz 解壓後,使用ll命令查看時候發現,文件的全部者不是root, userid 和groupid都是1000
根據id,gid找到用戶信息,須要root權限,到/etc/passwd文件下查詢對應的用戶信息,在當前用戶命令行使用 ID 命令 查詢
userid,gid信息,結果不是root用戶
這個和參數設置有關,使用 tar --no-same-owner -zxf 指定 --no-same-owner能夠解決這個問題:
使用 --no-same-owner 會指定操做用戶做爲解壓後文件的全部者
若是解壓的時候,想要更改所屬的用戶,例如用戶mt ,能夠加上 --owner=mt,
不選擇參數,就是默認指定參數--same-owner,壓包的時候是誰的,就解壓給誰
tar命令在解壓時會默認指定參數--same-owner,因此之後解壓文件必定要注意這個狀況呀