Linux系统中的文件传输及其优化方法
scp远程复制
1.上传格式:scp 本地文件 远程主机用户@远程主机 IP: 远程主机目录
如果要远程复制目录的话,则需要加上 -r 参数
操作示例:
将 westos1 文件上传到了 ip地址为172.25.80.200的/mnt 目录下了,到172.25.80.200的/mnt 目录下进行查看:
上传/mnt目录到 ip地址为172.25.80.200的/mnt 目录下:
然后到172.25.80.200的/mnt 目录下进行查看:
2.下载
格式: scp 远程主机用户@远程主机 IP: 远程主机目录 本地目录
同样如果要远程复制目录的话,则需要加上 -r 参数
示例:
先将本地的/mnt目录中的内容全部清空,然后把ip为172.25.80.200的/mnt 目录下载到本地来:
可以看到成功下载到了本地。
rsync远程同步
rsync的用法和scp的类似格式: rsync 本地文件 远程主机用户@远程主机 IP: 远程主机目录
需要注意的是:scp是一个复制的过程,包括文件的所有属性,而rsync只是单纯的同步文件,文件的属性并不会被同步过去,并且某些格式文件会被忽略掉。
操作示例:
在/mnt目录下创建几个文件,并且修改文件的某些属性,如下:
再创建一个软链接格式的文件:
下面我们用 rsync 远程同步到 ip地址为172.25.80.200的/mnt 目录下:
然后到172.25.80.200的/mnt 目录下查看:
可以看到软链接文件被忽略掉了,并且所有的文件的属性都发生了变化,都不是传输之前的属性了。
因此 rsync 还需要加一些参数,从而使传输文件的属性和之前的一样,一般有以下参数:
- -r 复制目录
- -l 不忽略软链接
- -p 不忽略文件权限
- -t 不忽略时间戳
- -g 不忽略用户
- -o 不忽略组
- -D 不忽略块设备
把上面的参数加上之后,再进行远程同步操作:
然后再到172.25.80.200的/mnt 目录下查看:
文件的所有属性以及软链接格式都没有被忽略掉。
针对D参数的实验,需要找块设备来进行操作,/dev/pts/目录下存放的是块设备,将这个目录远程同步:
可以看到把块设备忽略掉了,再到172.25.80.200的/mnt 目录下查看,收到的是空目录:
下面再加上 -D 参数,再次进行远程同步:
再到172.25.80.200的/mnt 目录下查看,这一次就传输成功了:
文件归档(打包)
打包表示把一堆文件变成一个文件。命令: tar
tar命令有很多参数,一般常用的参数总结如下:
- tar f 指定生成包的名字
- tar c 创建包
- tar v 显示创建过程
- tar t 查看包中内容
- tar x 解包
- tar r 添加文件到包中
- tar -C 解包到指定的位置(和x配合使用)
- tar P 可以使用绝对路径来压缩
- tar --delete filename 删除包中指定文件
- tar --get filename 取出包中指定文件
操作示例:
(1).把/usr/bin 打包到桌面上,用c 创建包,用f指定包的名字:
打包之后就会出现如下的图标:
(2). 用 t 参数查看包中的内容:
(3). 先创建一个文件,然后用r 参数把指定文件添加到已有的包中:
添加进去之后可以打开包查看:
(4). 用 --delete filename删除包中指定的文件,把刚才添加的 westos 文件删除掉:
删除之后可以打开包看到刚才的文件被删除掉了:
(5). 通过 --get filname 取出包中指定的文件:
(6). 通过 x 参数进行解包:
(7). 通过 P 参数使用绝对路径进行打包,如下:
(8). 通过 -C 参数指定解包的位置:
可以看到把包中的文件放到了指定的 /opt目录中了。
文件的压缩及解压
压缩是一种通过特定的算法来减小计算机文件大小的机制。这种机制是一种很方便的发明 , 尤其是对网络用户,因为它可以减小文件的字节总数,使文件能够通过较慢的互联网连接实现更快传输 , 此外还可以减少文件的磁盘占用空间。压缩方法一:通过tar命令的参数进行压缩
tar命令中有三个参数是直接对文件打包后压缩的,它们分别是:
- j 通过bzip2的压缩方式对文件进行压缩
- J 通过xz的的压缩方式对文件进行压缩
- z 通过gzip的压缩方式对文件进行压缩
操作示例:
解压方法一:通过tar命令的参数进行解压
解压时就是把上面压缩的参数 c 换成 x 就可以实现解压了。
操作示例:
压缩方法二:通过特定压缩命令进行压缩
一般有四种压缩方式,相对应有四种压缩的命令,并且对应有四种解压的命令,它们分别如下表:
压缩方式 | 压缩命令 | 解压命令 |
---|---|---|
zip | zip | unzip |
gzip | gzip | gunzip |
bz2 | bzip2 | bunzip2 |
xz | xz | unxz |
它们都是对文件打包之后的 tar文件进行压缩的,操作示例如下:
(1). zip压缩
unzip解压:
(2). gzip压缩
gunzip解压:
(3). bzip2压缩
bunzip2解压:
(4). xz压缩
unxz解压: