文件在系统中的传输

远程复制

1.scp

scp file [email protected]:dir     ##上传
scp [email protected]:file dir     ##下载

例如:
下载服务器端的文件:
文件在系统中的传输
把客户端的照片传到服务器端:
文件在系统中的传输
注意:因为在前面设置过登陆的key认证,所以此处不用输入密码就可以直接操作。

2.rsync 远程同步,有速度快的优点,默认会忽略:文件属性,链接文件,设备文件等。

rsync -r 同步目录
rsync -p 同步权限
rsync -o 同步文件所有人
rsync -g 同步文件所有组
rsync -l 同步链接
rsync -D 同步设备文件
rsync -t 同步文件的时间戳

例如:

rsync -r /mnt/ [email protected]:/mnt/    ##将/mnt下的文件传输到服务器端

文件在系统中的传输
可以发现传输成功,但文件的权限,所有人,时间戳均发生了改变。

rsync -rp /mnt/ [email protected]:/mnt/    ##同步文件的权限

文件在系统中的传输

rsync -rpo /mnt/ [email protected]:/mnt/    ##同步文件的权限,所有人

文件在系统中的传输

rsync -rpot /mnt/ [email protected]:/mnt/    ##同步文件的权限,所有人,时间戳

文件在系统中的传输

ln -s /mnt/file1 /mnt/file   ##建立链接
rsync -rpotl /mnt/ [email protected]:/mnt/    ##同步文件的权限,所有人,时间戳,链接

文件在系统中的传输

rsync -rD /dev/pts [email protected]:/mnt/    ##同步设备文件

文件在系统中的传输
注意:
路径/mnt是传mnt目录以及mnt下的文件,而/mnt/只是传mnt中的文件。

打包

tar 归档文件,即把很多文件变成1个文件,可以加快上传速度。

tar -c 创建
tar -v 显示过程
tar -f 指定归档文件的名称
tar -x 解档
tar -t 查看归档文件内容
tar -r 添加文件到归档中
tar - -get 解档指定文件
tar - -delete 删除归档文件中的指定文件
-C 指定解档目录

例如:

tar cf etc.tar /etc/        ##归档/etc/文件

文件在系统中的传输

tar cf etc.tar /etc file        ##归档目录/etc和文件file

文件在系统中的传输

tar cfv etc.tar /etc file      ##归档并显示过程

文件在系统中的传输

tar tf etc.tar     ##查看归档文件内容

文件在系统中的传输

tar rf etc.tar file1      ##添加file1到归档etc.tar中

文件在系统中的传输

tar f etc.tar --delete file1 file      ##删除归档文件etc.tar中的file1,file

文件在系统中的传输

tar xf etc.tar       ##解档etc.tar

文件在系统中的传输

tar f etc.tar --get etc      ##解档指定文件

文件在系统中的传输

tar xf etc.tar -C /mnt      ##指定解档到目录/mnt中

文件在系统中的传输

压缩

压缩有下面四种形式:

  1. zip
zip -r xxx.tar.zip   xxx.tar     ##压缩
unzip xxx.tar.zip     ##解压
  1. gz
gzip xxx.tar       ##压缩
gunzip xxx.tar.gz     ##解压

tar zcf xxx.tar.gz /xxx    ##打包并压缩
tar zxf xxx.tar.gz        ##解档
  1. bz2
bzip2 xxx.tar      ##压缩
bunzip2 xxx.tar.bz2     ##解压
 
tar jcf xxx.tar.bz2 /xxx      ##打包并压缩
tar jxf xxx.tar.bz2             ##解档
  1. xz
xz xxx.tar     ##压缩
unxz xxx.tar.xz    ##解压

tar Jcf xxx.tar.xz /xxx     ##打包并压缩
tar Jxf xxx.tar.xz            ##解档

例如,以/bin目录为例:
文件在系统中的传输
文件在系统中的传输
文件在系统中的传输
文件在系统中的传输