一、tarzcvf基本用法
tar -zcvf filename.tar.gz dir
以上命令將會壓縮文件夾dir成為一個名為filename.tar.gz的壓縮包,其中參數說明:
- z表示進行gzip壓縮;
- c表示創建一個壓縮文件;
- v表示在創建過程中顯示詳細信息,方便調試;
- f表示生成的壓縮文件名後面跟著一個文件名,即filename.tar.gz。
在上述示例中,壓縮文件名後綴為.tar.gz,這是因為先經過tar打包成為.tar文件,再經過gzip壓縮成為.gz文件。
二、壓縮多個文件和文件夾
tar -zcvf filename.tar.gz dir1 file.txt dir2
以上命令將會壓縮文件夾dir1、文件file.txt和文件夾dir2生成一個名為filename.tar.gz的壓縮包。
如果要同時打包多個文件和文件夾,只需將多個文件和文件夾按照順序放在tar命令後面即可。
三、使用通配符壓縮文件
tar -zcvf filename.tar.gz dir/*
以上命令將會壓縮文件夾dir下的所有文件和子文件夾,生成一個名為filename.tar.gz的壓縮包。使用通配符可以方便地打包某個文件夾下的所有文件和子文件夾。
四、壓縮時排除文件或文件夾
tar -zcvf filename.tar.gz --exclude=file_or_dir_to_exclude dir
以上命令將會壓縮文件夾dir,但是排除名為file_or_dir_to_exclude的文件或文件夾。在實際操作中,有時候需要在壓縮時排除某些文件或文件夾,這個時候就可以使用–exclude選項。
需要注意的是,這個選項只能排除名字匹配的文件或文件夾,不支持通配符。
五、使用tarzcvf解壓文件
tar -zxvf filename.tar.gz
以上命令將會解壓名為filename.tar.gz的壓縮包,其中參數說明:
- z表示進行gzip解壓縮;
- x表示解壓縮;
- v表示在解壓的過程中顯示詳細信息,方便調試;
- f表示後面跟著要解壓的文件名,即filename.tar.gz。
在解壓之後,將會得到壓縮包中包含的所有文件和文件夾。
六、使用tarzcvf壓縮遠程主機上的文件
ssh user@remote_host "tar -zcvf - /remote_dir" > local_filename.tar.gz
以上命令將會在遠程主機上壓縮指定文件夾,並將壓縮文件傳輸到本地。其中參數說明:
- user是遠程主機的用戶名;
- remote_host是遠程主機的地址;
- remote_dir是要壓縮的文件夾在遠程主機上的路徑;
- local_filename.tar.gz是本地生成的壓縮文件名。
需要注意的是,這個命令會先在遠程主機上執行tar命令將要壓縮的文件夾打包,然後將打包後的數據以STDOUT的方式輸出到管道中,最後通過ssh傳輸到本地並保存為一個本地文件。
七、使用tarzcvf解壓遠程主機上的文件
ssh user@remote_host "cat remote_filename.tar.gz" > local_filename.tar.gz tar -zxvf local_filename.tar.gz
以上命令將會在遠程主機上解壓指定文件,並將解壓後的文件傳輸到本地。其中參數說明:
- user是遠程主機的用戶名;
- remote_host是遠程主機的地址;
- remote_filename.tar.gz是要在遠程主機上解壓的文件名;
- local_filename.tar.gz是解壓後傳輸到本地的文件名。
需要注意的是,這個命令會先在遠程主機上執行cat命令將指定的文件讀取到STDOUT中,然後通過ssh傳輸到本地並保存為一個本地文件。之後再使用tar命令解壓該文件。
八、總結
tarzcvf是Linux中非常常用的打包和壓縮工具,掌握了tarzcvf的使用技巧可以非常方便地管理文件和數據。在實際的Linux運維中,我們經常需要使用tarzcvf打包和壓縮文件,同時也需要掌握在遠程主機上使用tarzcvf進行文件打包和傳輸的技巧。
原創文章,作者:SYKE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/138865.html