一、linux之文件传输
1、scp命令
- 作用:文件传输(速度较慢)
1 scp file user@ip:/dir | 把当前主机文件上传到ip为xxx主机的/dir目录下
2 scp user@ip:/file dir | 把主机ip为xxx的/file文件下载到当前主机dir目录下
2、rsync命令
- 作用:文件传输(速度快),但是会默认忽略文件属性、链接文件、设备文件
1 rsync -r | 递归同步目录
- 注意:
rsync有不同文件可以复制,相同文件就不可以,会检测目标主机是否已有目标文件;
scp都可以,不看原来主机是否已有,全部复制或者覆盖,原原本本的拷贝。
2 rsync -p | 同步权限
3 rsync -o | 同步文件所有人
4 rsync -g | 同步文件所有组
5 rsync -l | 同步链接
6 rsync -t | 同步文件时间戳
注意以下两种传输的区别:
/mnt/忽略目录本身的内容;/mnt不忽略目录本身的内容
(1) rsync -r /dir user@id:/dir/ | 文件会在服务端dir目录下的dir目录中
(2)rsync -r /dir user@id:/dir/ | 文件会在服务端dir目录下的dir目录中
3、文件的归档与压缩
3.1 tar命令
- 作用:打包文件,把多个文件变成一个文件,增快传输速率
tar -c |创建打包文件
tar -v |显示打包过程
tar -f |指定归档文件名称
tar -x |解档打包文件
tar -t |查看打包文件内容
tar -r |添加文件到打包文件中
tar --get filename |解压指定文件出来(如果同时有好多文件的话)
tar --delete filename |从档中删除指定文件
tar xf -C |解档路径到指定文件目录
tar Pcf |打包文件到指定文件的绝对路径目录
tar cf tar rf tar f tar xf tar Pcf
常用组合:
tar -cf xxx.tar /xxx | 创建并命名归档文件xxx
tar -cvf xxx.tar /xxx | 创建、命名并显示归档过程
tar -xf xxx.tar | 解档文件
tar -tf xxx.tar | 查看xxx.tar归档文件中的内容
tar -rf xxx.tar file | 添加文件file到归档文件xxx.tar中
tar -f xxx.tar --get file | 添加文件file进入归档文件xxx.tar中
tar -f xxx.tar --delete file | 删除归档文件xx.tar中的文件file
tar xf xxx.tar -C /dir | 把文件xxx.tar解档到dir目录中
3.2文件压缩命令
- 作用:压缩打包文件,节省空间
压缩格式:zip 、 gz、 bz2、 xz
(1)zip
zip -r xxx.tar.zip xxx.tar
unzip xxx.tar.zip
(2)gz
gzip xxx.tar
gunzip xxx.tar.gz
(3)bz2
bzip2 xxx.tar
bunzip2 xxx.tar.bz2
(4)xz
xz xxx.tar
unxz xxx.tar.xz
3.3用一条命令创建打包压缩文件
- 打包压缩:
tar zcf xxx.tar.gz /dir
tar jcf xxx.tar.bz2 /dir
tar Jcf xxx/tar.xz /dir
解压解档:
tar zxf xxx.tar.gz
tar jxf xxx.tar.bz2
tar Jxf xxx.tar.xz
- 注意: ar打包并不会使文件容量变小
zip压缩文件会使文件大小变小
du -sh /// 查看文件大小