經常使用基本命令十(linux壓縮和解壓縮) - 黑猴子

一、gzip/gunzip壓縮

    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

 

二、zip/unzip壓縮

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

 

三、tar打包

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解壓後文件夾權限不是root

使用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,因此之後解壓文件必定要注意這個狀況呀

相關文章
相關標籤/搜索