文件打包压缩与远程传输
2017-08-18 19:20
253 查看
在文件的传输以及文件的整理过程中我们经常会用到压缩。虽然linux下文件名与文件的属性没有多大关系,但是为了辅助我们人脑的记忆方式,通常在压缩文件时会以不同的扩展名来命名压缩文件。常见的扩展名有:
linux上最常见的压缩命令就是gzip与bzip2了,不管是compress还是gzip或是bzip2这些压缩命令都只能针对一个文件来压缩与解压缩,这样一来每次压缩与解压缩都要一大堆文件,非常的不方便。
tar可以将很多文件打包成一个文件,甚至可以是目录。单纯的tar功能仅仅是”打包”,就是将文件集结成一个文件,事实上并没有提供压缩的功能。将tar和压缩命令结合起来使用实现强大的打包压缩功能。
compress命令
这是一个非常老旧的命令现在已经很少用了,而且gzip也可以解开compress压缩的文件。但是我们还是来学习一下这个命令的使用。
yum intsall ncompress -y 安装这个命令
可以看到压缩后文件明显变小了,源文件会不见,新压缩文件生成,而且扩展名是.Z,用uncompress再解压就行了,-c这个参数会将压缩过程写入到标准输出,而不是写入成为.Z的压缩文件。所以我们可以通过输出重定向将数据输出成为另一个文件名。
2.gzip与zcat
gzip可以解开compress,zip与gzip等软件所压缩的文件
zcat 会将gzip压缩的文件解压之后的内容读出来显示到屏幕上,(cat可以读取纯文本文件,zcat可以读取纯文本被压缩后的压缩文件)
相比compress gzip提供了更好的压缩比,而且gzip也能解压compress压缩的文件,从而取代了compress,使用gzip压缩的文件还可以被windows下的WRAR解压
3 . bzip2,bzcat
这个命令的压缩比要比gzip更好,用法几乎和gzip相同
bzcat可以将压缩文件的内容读出来,如果我们仅想读取文件的内容,那我们大可不必解压缩,直接用bzcat来查看文件的内容就可以了。
注意:不管是gzip还是bzip2解压都不仅可以使用-d参数还可以使用
gunzip 和bunzip2来进行比如:
4.tar打包
如前所述,打包就是将很多文件整合成一个文件,虽然gzip与bzip2也能对目录进行压缩,但是,这两个命令也只不过是对目录下的所有文件分别进行压缩,而不像在windows下我们可以用WinRAR,7zip等软件将好多文件打包成一个文件。在linux下,我们用tar这个命令可以将多个目录或文件打包成一个大文件,同时支持gzip/bzip2将该文件进行压缩。由于这个命令使用广泛,目前windows的WinRAR也支持tar.gz文件名的解压缩。
示例:
远程文件传输
1.scp远程复制,scp是基于ssh的登陆进行安全的远程文件拷贝命令。
2.rsync
是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好.
3.sftp 常用于文件推送
(安全文件传输协议)与ftp 有着几乎一样的语法和功能。但是与lftp不同的是它并不使用ftp的守护进程进行连接。sftp本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作。使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。
*.Z #compress程序压缩的文件 *.gz #gzip程序压缩的文件 *.bz2 #bzip2程序压缩的文件 *.zip #zip程序压缩的文件 *.xz #xz程序压缩的文件 *.tar #tar程序打包的数据,并没有压缩过 *.tar.gz #tar程序打包的文件,经过gzip的压缩 *.tar.bz2 #tar程序打包的文件,经过bzip2的压缩
linux上最常见的压缩命令就是gzip与bzip2了,不管是compress还是gzip或是bzip2这些压缩命令都只能针对一个文件来压缩与解压缩,这样一来每次压缩与解压缩都要一大堆文件,非常的不方便。
tar可以将很多文件打包成一个文件,甚至可以是目录。单纯的tar功能仅仅是”打包”,就是将文件集结成一个文件,事实上并没有提供压缩的功能。将tar和压缩命令结合起来使用实现强大的打包压缩功能。
compress命令
这是一个非常老旧的命令现在已经很少用了,而且gzip也可以解开compress压缩的文件。但是我们还是来学习一下这个命令的使用。
yum intsall ncompress -y 安装这个命令
compress [-rcv] 文件或者目录 -r : 连同目录下的文件也同时给与压缩 -c : 将压缩数据标准输出(打印屏幕) -v : 可以显示出压缩后的文件信息以及压缩过程中的一些文件名的变化
可以看到压缩后文件明显变小了,源文件会不见,新压缩文件生成,而且扩展名是.Z,用uncompress再解压就行了,-c这个参数会将压缩过程写入到标准输出,而不是写入成为.Z的压缩文件。所以我们可以通过输出重定向将数据输出成为另一个文件名。
2.gzip与zcat
gzip可以解开compress,zip与gzip等软件所压缩的文件
gzip [-vdtv] 文件名 zcat 文件名.gz 参数: -c : 将压缩的数据输出到屏幕上,可通过数据流重定向来处理 -d :解压缩的参数 -t :可以用来检验一个压缩文件的一致性,看看文件有无错误 -v :可以显示出原文件/压缩文件的压缩比等信息 -# :压缩等级,-1最快,但是压缩比差,-9最慢,压缩比最好默认是-6
zcat 会将gzip压缩的文件解压之后的内容读出来显示到屏幕上,(cat可以读取纯文本文件,zcat可以读取纯文本被压缩后的压缩文件)
相比compress gzip提供了更好的压缩比,而且gzip也能解压compress压缩的文件,从而取代了compress,使用gzip压缩的文件还可以被windows下的WRAR解压
3 . bzip2,bzcat
这个命令的压缩比要比gzip更好,用法几乎和gzip相同
命令格式:bzip2 [-cdkzv#] 文件名 bzcat 文件名.bz2 参数: -c : 将压缩的数据输出到屏幕上,可通过数据流重定向来处理 -d : 解压缩的参数 -k : 保留源文件,而不会删除 b4d0 原始的文件 -z :压缩的参数(与-d相对应) -v : 可以显示出原文件/压缩文件的压缩比等信息 -# : 与gzip一样
bzcat可以将压缩文件的内容读出来,如果我们仅想读取文件的内容,那我们大可不必解压缩,直接用bzcat来查看文件的内容就可以了。
注意:不管是gzip还是bzip2解压都不仅可以使用-d参数还可以使用
gunzip 和bunzip2来进行比如:
4.tar打包
如前所述,打包就是将很多文件整合成一个文件,虽然gzip与bzip2也能对目录进行压缩,但是,这两个命令也只不过是对目录下的所有文件分别进行压缩,而不像在windows下我们可以用WinRAR,7zip等软件将好多文件打包成一个文件。在linux下,我们用tar这个命令可以将多个目录或文件打包成一个大文件,同时支持gzip/bzip2将该文件进行压缩。由于这个命令使用广泛,目前windows的WinRAR也支持tar.gz文件名的解压缩。
tar [-j][-z][cvf] 指定生成的文件名 需要打包压缩的文件名或目录 参数: -f ##指定生成包的名字 -c ##创建包 -v ##显示创建过程 -t ##查看包中内容 -x ##解包 -r ##添加文件到包中 --delete filename ##删除包中指定文件 --get filename ##取出包中指定文件
示例:
gzip gzip xxxx.tar ##压缩=====>xxxx.gz gunzip xxxx.tar.gz ##解压=====>xxxx.tar tar zcvf xxxx.tar.gz 目标文件 ##打包压缩文件 tar zxvf xxxx.tar.gz ##解包解压缩xxxx.tar.gz===>xxxx bz2 bzip2 xxxx.tar ##压缩=====>xxxx.bz2 bunzip2 xxxx.tar.bz2 ##解压=====>xxxx.tar tar jcvf xxxx.tar.bz2 目标文件 ##打包压缩文件 tar jxvf xxxx.tar.bz2 ##解包解压缩xxxx.tar.bz2===>xxxx xz xz xxxx.tar ##压缩=====>xxxx.xz unxz xxxx.tar.xz ##解压=====>xxxx.tar tar Jcvf xxxx.tar.xz 目标文件 ##打包压缩文件 tar Jxvf xxxx.tar.xz ##解包解压缩xxxx.tar.xz===>xxxx zip zip -r xxx.tar.zip ##压缩=====> unzip xxx.tar.zip ##解压=====>
远程文件传输
1.scp远程复制,scp是基于ssh的登陆进行安全的远程文件拷贝命令。
scp file user@ip:/directory ##上传文件 scp -r dir user@ip:/directory ##上传目录 scp user@ip:/filename /direcotry ##下载文件 scp -r user@ip:/directory /direcotry ##下载目录
2.rsync
是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好.
rsync file|direcotry user@ip:/directory rsync user@ip:/directory /directory -r ##同步目录 -l ##不忽略链接 ##新建连接:ln -s 原文件 链接文件 -t ##不忽略时间戳 -p ##不忽略特殊权限 -g ##不忽略组id信息 -o ##不忽略用户id信息 -D ##不忽略设备文件
3.sftp 常用于文件推送
(安全文件传输协议)与ftp 有着几乎一样的语法和功能。但是与lftp不同的是它并不使用ftp的守护进程进行连接。sftp本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作。使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。
sftp root@172.25.20.1:/root/test.sh #直接将172.25.20.1主机上的文件复制到本地 sftp root@172.25.20.1:/root #直接连接到172的root目录下,这样就可以使用getput等命令了
相关文章推荐
- 文件的打包压缩和远程传输
- 打包压缩及远程传输
- RH124-第十节-文件打包压缩,以及rsync传输
- unit 9 文件归档压缩 远程传输
- 不同系统间的文件传输和打包压缩
- 文件系统操作命令(打包,压缩,传输)
- 文件打包、压缩及传输
- 第十一章练习 压缩和远程传输文件
- 不同系统间的文件传输与打包压缩
- 无压缩的打包文件
- Ubuntu+TensorFlow(cpu)学习探寻之旅(三)Ubuntu下连接远程服务器并传输文件
- 将文件夹下面的文件打包成zip压缩文件
- 5、linux文件打包与压缩
- 自动打包下载远程文件
- Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接
- 第九章、文件与文件系统的压缩与打包
- 文件压缩打包
- RHCE7学习笔记10――压缩、归档和系统间的文件传输
- Linux学习6:文件打包与压缩
- Linux SSH远程文件/目录传输命令scp