Windows下有WINRAR可以打包文件,Linux下怎么把一个目录里所有文件打包呢?用tar命令:
tar -cvzf des.tar.gz scr
就可以把scr目录里的所有文件都用gzip压缩打包到des.tar.gz文件里了。不加v可以不显示压缩过程中的文件信息。
解压缩:
tar -xzf des.tar.gz
tar的其他参数可以查看其帮助,当然zip和rar也有linux版本。没用过linux的图形界面压缩工具,只用过Ubuntu的归档管理器查看过压缩文件,大的压缩文件查看也很慢。
如果要忽略掉某个目录,例如压缩temp,忽略temp下a目录:
tar -cvzf temp.tar.gz temp --exclude temp/a
注意,目录名a后面不能有“/”!
如果还要忽略temp下的b目录:
tar -cvzf temp.tar.gz temp --exclude temp/a --exclude temp/b
如果要忽略的目录或文件多,可以把要忽略文件名和路径名写入一个文件,用-X调用:
tar -cvzf temp.tar.gz temp -X temp_x.txt
写到temp_x.txt里的目录应该如下:
temp/a
temp/b
注意目录形式,如果
tar -cvzf temp.tar.gz ./temp -X temp_x.txt
写到temp_x.txt里的目录应该如下:
./temp/a
./temp/b
建议用 ./temp 目录形式,如果用temp,temp/xxx/temp/a
目录也会被过滤掉,可能不符合你的本意。