本节实验需要两台虚拟机,ip与主机在同一网段,可实现ssh连接!
因为之前实验已存在一台虚拟机westosa,因此还需创建一台虚拟机westosb!
使用# westos-vmctl create westosb 创建虚拟机出错,如下所示,还未解决!
只能用原始方法创建westos虚拟机! 详细步骤如下:
选择镜像!首先保证镜像存在!路径正确!
选择虚拟机内存大小和cpu个数,默认就可以!
选择第一个,下载系统!
接着配置系统特性!
注意:最小是无图形的系统,如果需要图形,选择最后一个 GUI!
到此虚拟机westosb创建成功!
首先配置westosb的网络!添加ip:172.25.254.80,跟上次实验配置一致!
# nm-connection-editor
利用 # ifconfig 查看ip是否添加成功!出现ip即成功!
利用ping测试ip配置,真机和westosa都能ping通!成功!
修改westosa westosb虚拟机名,做实验方便!
# hostnamectl set-hostname westosa.westos.org
westosa--->westosa.westos.org
westosb---->westosb.westos.org
真机ssh连接westosa,westoab!成功!
在两台虚拟机上清空.ssh/文件,方便实验!
# rm -fr .ssh/
scp (secure copy:安全复制) 可以实现远程主机之间的文件/目录复制!具体命令如下:
# scp [email protected]:/mnt/* /mnt :以root用户的身份复制172.25.254.80主机的/mnt目录下的所有文件到本机的/mnt目录下
# scp -q [email protected]: /mnt/* /mnt : 传输文件时不显示进度
# scp -r [email protected]: /mnt/* /mnt : 传输文件和目录
# scp hgxfile{1..3} [email protected]: /mnt : 把本地的文件传输到80主机的/mnt目录下
# scp -r hgxdir/ [email protected] : /mnt :上传目录
# scp -q hgxfile{1..3} [email protected]:/mnt :不显示传输进度
利用 rm 命令即可,但是清空westosa时遇到了问题!root用户也无法删除,
后来想起是上次实验设置了attr权限,关闭权限即可!
首先在westosb上/mnt目录下建立一些文件
在westosa主机上如何获取这些文件?利用scp命令,将远程文件复制到本地
ps:第一次传输文件需要认证,后面就不需要了!
在westosb中mnt目录建立一个目录
此时在westosa再次利用上次的命令下载文件,显示目录无法下载!文件仍然可以下载!
因此传输目录时,必须加 -r ,表示递归的意思!
如果 不想显示传输进度,加-q 即可!
在westosa上建立一些文件,上传到westosb上!
上传文件到westosb!
westosb收到文件!
上传目录到westosb!
westosb收到目录!
不显示传输进度!
rsync(Remote synchronization:远程同步)作用是远程文件/目录同步,与scp的不同是rsync会检测已存在的文件,不再传输,只会传输不存在的文件!因此所用时间短!
# rsync 文件 远程用户@远程主机ip:远程主机目录 :上传文件
# rsync 远程用户@远程主机ip:远程主机目录 文件路径 :下载文件
参数 | 含义 |
-r | 复制目录 |
-l | 复制链接 |
-p | 复制权限 |
-t | 复制时间戳 |
-o | 复制拥有者 |
-g | 复制拥有组 |
-D | 复制设备文件 |
# rsync -r [email protected]:/mnt /mnt/ :下载整个mnt目录
#rsync -r [email protected]:/mnt/ /mnt/ :下载mnt目录里面的内容不包括mnt目录本身
ps:默认情况 不复制链接。
# rsync -lr [email protected]:/mnt/ /mnt/ : -l 复制链接
# rsync -plr [email protected]:/mnt/ /mnt/ :-p复制权限
# rsync -oplr [email protected]:/mnt/ /mnt/ : -o 复制文件的所有者
# rsync -goplr [email protected]:/mnt/ /mnt/ : -g 复制文件的所有组
# rsync -tgoplr [email protected]:/mnt/ /mnt/ : -t 复制时间戳
# rsync -r [email protected]:/dev/pts/ /mnt/ :默认情况无法复制字符设备
# rsync -Dr [email protected]:/dev/pts/ /mnt/ :-D复制字符设备
归档,把多个文件整和在一起,常常用在备份上面,本身不具备压缩功能,但是可以指定其他压缩功能去压缩。
命令 | 含义 |
c | 创建归档文件 |
f | 指定文件 |
x | 解档 |
v | 显示过程 |
t | 查看归档文件 |
r | 向归档文件中添加文件 |
P | 不把绝对路径转换为相对路径,慎用!! |
--get | 解档指定文件 |
--delete | 删除指定文件 |
-C | 指定解档路径 |
当传输文件比较大时,scp传输时间就会很慢!
# scp -r [email protected]:/etc/ /mnt
ps:传输的太慢了,因此可以利用归档tar,先归档在传输
# tar cf etc.tar /etc/ :将/etc/文件归档
# tar tf etc.tar :查看归档文件
# scp -r [email protected]:/mnt/etc.tar /mnt
归档文件传输后,解档即可获得原文件!
# tar xf etc.tar : 解档文件
归档和解档都不显示过程,如果想显示过程需要加v
# tar cfv etc.tar /etc/ :显示归档过程
# tar rf etc.tar westos :将westos文件添加到归档文件中
查看归档文件,westos文件添加成功!
当归档文件含有多种文件,解档时会分开全部解开,此时可以利用--get解档指定文件
# tar f etc.tar --get westos : 只解档westos文件!
# tar f etc.tar --delete westos :删除westos文件
默认文件解档时在当前目录,-C可以指定解档目录
# tar xf etc.tar -C /opt/ : 指定解档目录为opt
一般默认解档在当前目录,所以用的是相对路径!自动把路径前的 " / " 号去掉!!
加了 P后,不再把绝对路径转换为相对路径,所以会解档在绝对路径中,会覆盖原本的内容,慎用!!!
# tar Pxf opt.tar :将文件解档在/opt目录中,而不是/mnt/opt
# du -sh /mnt/etc.tar : 查看归档文件大小
# du -sh /etc :查看原文件大小
ps: 两者相差的是重复文件,tar没有压缩能力
Linux 系统中经常用来对文件进行压缩和解压缩的命令:zip, gzip, bzip2, xz!
ps: 必须先将文件归档在进行压缩!
首先将/etc文件归档,归档后利用zip压缩!
# zip etc.tar.zip etc.tar :将归档文件etc.tar压缩为zip文件
# du -sh etc.tar.zip :查看压缩文件的大小
# unzip etc.tar.zip : 解压文件
# gzip etc.tar : 压缩归档文件
# gunzip etc.tar.gz:解压文件
# bzip2 etc.tar : 压缩文件
# bunzip2 etc.tar.bz2 :解压文件
# xz etc.tar:压缩文件
# unxz etc.tar.xz :解压文件
上节介绍了四种压缩命令,但是必须先归档再压缩,很麻烦!
因此我们可以归档压缩一步完成,支持一步完成的命令只有3种:
tar zcf etc.tar.gz /etc : 归档压缩
tar zxf etc.tar.gz :解压
tar jcf etc.tar.bz2 /etc : 归档压缩
tar jxf etc.tar.bz2 :解压
tar Jcf etc.tar.xz /etc :归档压缩
tar Jxf etc.tar.xz:解压