1.将文件夹压缩成.tar.gz文件:
安装7-Zip,选择要压缩的文件夹--右键--“7-Zip”--“添加到压缩包...”,压缩格式选择“tar”,
在此目下就生成了“文件夹名.tar”文件,
选择“文件夹名.tar”文件--右键--“7-Zip”--“添加到压缩包...”,压缩格式选择“gzip”,
在此目下就生成了“文件夹名.tar.gz”文件。
.tar与.tar.gz区别:
.tar是只打包不压缩。
tar -cvf test.tar test.txt 将“123.txt”文件打包成“test.tar”
tar -xvf test.tar 解包test.tar
.tar.gz是既打包又压缩 。
tar -zcvf test.tar.gz test.txt
tar -zxvf test.tar.gz
2.sftp命令put到linux
lcd 路径 更改本地目录到“路径”
lls 显示本地目录列表
put 文件名 上传文件
3.将压缩文件解压到指定目录
tar -zxvf test.tar.gz -C /home/apache-tomcat-6.0.51/webapps/Test/WEB-INF/pages
修改了原项目pages下的几个jsp文件(压缩包内容),所以放到pages目录下
成功解压会展示压缩包内容:
tar指令——包含每个字母参数详解
转载自:
tar指令,应该是很常用的指令了,最常用于打包和解包,但在使用过程中还是经常敲错,因此记录一下注意事项。
在虚拟机中模拟一下,/home/alex/test下有多个文件和文件夹。本文中都是在/home/alex目录进行操作。
最常用的打包压缩功能:tar -zcvf xxx.tar.gz test。结果会在当前路径下产生一个xxx.tar.gz文件,内容就是 /home/alex/test目录及目录下的内容压缩包,即前缀路径/home/alex也会被包含进来。
相应的解包解压缩功能: tar -zxvf xxx.tar.gz,结果会在当前路径下产生一个路径,内容为 /home/alex/test目录及该目录下的内容。
其中的参数作用分别为:
-c, --create create a new archive,创建一个新的归档文件
-v, --verbose verbosely list files processed,显式地列出处理的文件。即正在打包或解包的文件名称会在当前控制台输出
-f, --file=ARCHIVE use archive file or device ARCHIVE,使用归档文件或设备(进行解包或打包)。该参数后续必须跟上打包或解包的包名,指定使用的归档文件
-x, --extract, --get extract files from an archive,从归档文件中解出文件
-z, --gzip, --gunzip, --ungzip filter the archive through gzip, 通过gzip压缩方式过滤归档文件,即使用gzip进行压缩或解压缩( 注:旧版tar无法识别压缩包的压缩格式,因此解包时必须增加-z参数指定压缩方式,新版tar可以自动识别,可以不加该参数)
-C, --directory=DIR change to directory DIR,切换到DIR目录。该参数可以用于打包时去除前缀路径
eg: tar -C /home/alex -zcvf xxx.tar.gz test ,则在当前路径会出现一个xxx.tar.gz,且其内容只有test文件夹及其中的内容,不会包含 /home/alex路径
--exclude=filename/dirname 打包时不包含某些目录下的文件或文件夹。注意exclude跟着的文件或文件夹,是根据当前路径或-C参数切换到的路径的相对路径(+_+自己读得都绕。。)
eg:tar -zcvf xxx.tar.gz test --exclude=test/hello.txt,则打包压缩后的内容不包含 /home/alex/test/hello.txt这个文件。
eg2:tar -zcvf xxx.tar.gz test --exclude=/home/alex/test/hello.txt,则打包后的内容还是有/home/alex/test/hello.txt这个文件,因为我们执行的当前路径是/home/alex, 系统执行exclude会以当前路径作为前缀路径加上exclude后续的路基,所以会去除/home/alex/home/alex/test/hello.txt的内容,但是这个路径的内容并不存在。
eg3:tar -C /home -zcvf xxx.tar.gz alex/test --exclude=alex/test/world.txt ,则打包后的内容不包含/home/alex/test/world.txt。因为-C参数切换到了 /home路径,则exclude去除了 /home+alex/test/world.txt的内容。