[转帖]Linux tar压缩命令 排除某个目录 && 排除某种格式后缀文件

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
复制代码
posted @ 2024-04-12 07:04  济南小老虎  阅读(21)  评论(0编辑  收藏  举报