一、文件的远程传输
- scp
scp file user@ip:dir ##文件的上传
scp user@ip:/file dir ##文件的下载
示例一:将客户端的daydayup文件上传到服务器
scp daydayup [email protected]:/root/Desktop ##上传
示例二:将服务端的文件下载到客户端
scp [email protected]:/root/Desktop/* . ##下载
注意:我们通过scp命令对文件进行传输,当文件特别大时,传输速度特别缓慢,为了提高传输效率,我们通过一个新的传输命令rsync同步传输,以下是对它的用法介绍。
2. rsync
rsync相比scp传输,rsync远程同步,速度快,但是它默认会忽略文件属性、链接文件和设备文件等。那么我们该怎样将文件完整一致的传输过来。
命令 | 说明 |
---|---|
rsync -r | 同步目录 |
rsync -p | 同步权限 |
rsync -o | 同步文件所有人 |
rsync -g | 同步文件所有组 |
rsync -l | 同步链接 |
rsync -D | 同步设备文件 |
rsync -t | 同步文件时间戳 |
示例一:将服务端 /etc/文件同步到客户端的 /westos目录下
注意:同步文件时 /etc/同步的是文件的内容,/etc 同步的是目录本身,不包含目录中的内容。
示例二:将服务端中的文件完全一致(包括文件的权限、所有人、所有组、时间戳和连接)的同步到客户端
(1)准备工作
创建文件,修改文件的权限,修改文件的所有人和所有组。由于客户端和服务端的所有人和所有组都是root,因此我们需要对服务端进行修改,以达到明显的实验效果。
(2)实验相关操作
rsync -r /mnt/ [email protected]:/mnt ##同步目录中的文件
我们可以看到文件虽然同步到了客户端,但是文件的权限、所有人、所有组和时间戳并未改变。
rsync -rp /mnt/ [email protected]:/mnt ##同步文件的权限
rsync -rpo /mnt/ [email protected]:/mnt ##同步文件的所有人
rsync -rpog /mnt/ [email protected]:/mnt ##同步文件的所有组
rsync -rpogt /mnt/ [email protected]:/mnt ##同步文件的时间戳
rsync -rpogtl /mnt/ [email protected]:/mnt/ ##同步文件的链接
注意:链接文件file1与file1是两个不同的文件
二、文件的归档
tar命令用来归档文件,将很多文件打包变成1个文件
命令 | 说明 |
---|---|
tar -c | 创建 |
tar -v | 显示过程 |
tar -f | 指定归档文件名称 |
tar -x | 解档 |
tar -t | 查看归档文件内容 |
tar -r | 添加文件到归档中 |
tar --get | 解档指定文件 |
tar --delete | 删除归档中的指定文件 |
tar -C | 指定解档目录 |
注意:使用tar命令,其中的属性需要配对使用
示例:
tar cf etc.tar /etc/ ##将/etc/打包为etc.tar
tar cvf etc.tar /etc/ ##将/etc/打包为etc.tar,并显示归档过程
tar tf etc.tar ##查看名为etc.tar文件的归档内容
tar xf etc.tar ##解档文件
tar rf etc.tar file file1 ##添加file文件到etc.tar归档
tar f etc.tar --get etc ##解档etc.tar中的etc文件
tar f etc.tar --delete file ##删除归档中指定的file文件
tar f etc.tar -C /mnt/ ##将etc.tar解档到指定目录/mnt/
三、文件的压缩
- zip压缩
zip -r xxx.tar.zip xxx.tar ##压缩文件,格式为.zip
unzip xxx.tar.zip ##解压指定压缩包
注意:
在压缩文件前,需要将要压缩的文件归档,不然会报错。
示例一:将/etc/文件进行归档,并通过zip命令压缩归档文件
示例二:通过unzip命令实现对压缩文件的解压
2. gzip压缩
gzip xxx.tar ##压缩文件,格式为.gz
gunzip xxx.tar.gz ##解压文件
或者是:
tar zcf xxx.tar.gz /xxx
tar zxf xxx.tar.gz
示例一:在归档的同时压缩文件
示例二:解压并解档文件
3. bzip2压缩
bzip2 xxx.tar ##压缩文件,格式为.bz2
bunzip2 xxx.tar.bz2 ##解压文件
或者是:
tar jcf xxx.tar.bz2 /xxx
tar jxf xxx.tar.bz2
- xz压缩
xz xxx.tar ##压缩文件,格式为.xz
unxz xxx.tar.xz ##解压文件
或者是:
tar Jcf xxx.tar.xz /xxx
tar Jxf xxx.tar.xz
由于bzip2压缩、xz压缩与gzip压缩方式和解压方式一致,在这里我们不做相同的示例。
注意1:gzip, bzip2, xz压缩xxx.tar后,生成xxx.tar.gz/bz2/xz会将原来的xxx.tar替换掉。
注意2:我们可以使用du -sh * 或者是du -sh 压缩/解压文件名称,来查看压缩文件或解压文件的大小。