文件在系统中的传输
远程复制
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中
压缩
压缩有下面四种形式:
- zip
zip -r xxx.tar.zip xxx.tar ##压缩
unzip xxx.tar.zip ##解压
- gz
gzip xxx.tar ##压缩
gunzip xxx.tar.gz ##解压
tar zcf xxx.tar.gz /xxx ##打包并压缩
tar zxf xxx.tar.gz ##解档
- bz2
bzip2 xxx.tar ##压缩
bunzip2 xxx.tar.bz2 ##解压
tar jcf xxx.tar.bz2 /xxx ##打包并压缩
tar jxf xxx.tar.bz2 ##解档
- xz
xz xxx.tar ##压缩
unxz xxx.tar.xz ##解压
tar Jcf xxx.tar.xz /xxx ##打包并压缩
tar Jxf xxx.tar.xz ##解档
例如,以/bin目录为例: