[轉帖]Linux tar壓縮命令 排除某個目錄 && 排除某種格式字尾檔案

济南小老虎發表於2024-04-12
https://www.cnblogs.com/boundless-sky/p/7083293.html

一般直接用tar命令打包很簡單,直接使用 tar -zcvf test.tar.gz test 即可。

在很多時候,我們要對某一個目錄打包,而這個目錄下有幾十個子目錄和子檔案,我們需要在打包的時候排除其中1、2個目錄或檔案。

這時候我們在用tar命令打包的時候,增加引數 --exclude 就能達到目的。

例如:

我們以tomcat 為例,打包的時候我們要排除 tomcat/logs 目錄,命令如下:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat

如果要排除多個目錄,增加 --exclude 即可,如下命令排除logs和libs兩個目錄及檔案xiaoshan.txt:

tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat

* 排除某一個字尾的檔案

tar -zcvf backup.tar.gz --exclude='*.log' --exclude='*.png' --exclude='*.jpg' --exclude='*.jpeg' /www/wwwroot/project

* rsync (遠端 -->本地)

rsync -ra --progress --exclude='*.log' --exclude='*.png' --exclude='*.jpg' --exclude='*.tar.gz' --exclude='*.zip' --exclude='*.jpeg' --exclude='*.gif' --exclude='*.json' root@129.226.126.194:/www/wwwroot/remote_project_dir /Users/sui/Documents

ssh埠不是預設22埠: rsync -ra --progress --exclude='*.log' --exclude='*.png' --exclude='*.jpg' --exclude='*.jpeg' --exclude='*.gif' --exclude='*.json' -e 'ssh -p 22000' root@129.226.126.194:/www/wwwroot/remote_project_dir /Users/sui/Documents

* du -sh uploads 檢視某一目錄磁碟空間大小

* Linux 複製貼上檔案新辦法:

:9,15 copy 16  或 :9,15 co 16
由此可有:
:9,15 move 16  或 :9,15 m 16 將第9行到第15行的文字內容到第16行的後面  

* 檔案壓縮排除字尾檔案

tar -zcvf backup.tar.gz --exclude-from=tarexclude.txt /www/project-dir

tarexclude.txt:

複製程式碼
*.htm
*.HTM
*.html
*.HTML
*.doc
*.DOC
*.docx
*.DOCX
*.sep
*.SEP
*.gd
*.GD
*.gw
*.GW
*.xls
*.xlsx
*.ppt
*.PPT
*.pptx
*.PPTX
*.pdf
*.PDF
*.tif
*.TIF
*.gif
*.GIF
*.bmp
*.BMP
*.jpg
*.JPG
*.jpeg
*.JPEG
*.png
*.PNG
*.swf
*.SWF
*.avi
*.rar
*.tgz
*.gz
*.zip
*.avi
*.AVI
*.rmvb
*.flv
*.FLV
*.mpg
*.MPG
*.mpeg
*.wmv
*.WMV
*.exe
*.EXE
*.wav
*.WAV
*.tmp
*.txt
*.TXT
*.log
複製程式碼

相關文章