Linux下使用SSH命令行传输文件到远程服务器

目标:CentOS 7 调整 home分区 扩大 root分区 总体过程:

把/home内容备份,然后将/home文件系统所在的逻辑卷删除,扩大/root文件系统,新建/home ,恢复/home内容

1.查看分区 df -h 2.备份home分区文件 tar cvf /tmp/home.tar /home 3.卸载/home,如果无法卸载,先终止使用/home文件系统的进程 fuser -km /home/
umount /home
4.删除/home所在的lv
lvremove /dev/mapper/centos-home
5.扩展/root所在的lv,增加800G
lvextend -L +800G /dev/mapper/centos-root
6.扩展/root文件系统
xfs_growfs /dev/mapper/centos-root
7.重新创建home lv
lvcreate -L 73G -n /dev/mapper/centos-home
8. 创建文件系统
mkfs.xfs /dev/mapper/centos-home
9.挂载home
mount /dev/mapper/centos-home
10.home文件恢复
tar xvf /tmp/home.tar -C /home/
cd /home/home/
mv * ../

以前一直在windows下用SSH Secure Shell连接远程服务器,它自带了一个可视化的文件传输工具,跟ftp差不多

但是它也存在一个缺陷,不支持编码的选择,遇到utf8就自动乱码了,另外mac下也没有这个工具

在mac下我用终端登录上去之后,想传个文件上去就犯愁了,难不成要开个ftp?

搜了一下,果然有直接的命令行工具,名字叫SCP

使用方式如下:

1、上传本地文件到服务器 scp/path/filenameusername@servername:/path/

例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

2、从服务器上下载文件

下载文件我们经常使用wget,但是如果没有http服务,如何从服务器上下载文件呢?

scpusername@servername:/path/filename/var/www/local_dir(本地目录)

例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)

3、从服务器下载整个目录 scp-rusername@servername:/var/www/remote_dir/(远程目录)/var/www/local_dir(本地目录)

例如:scp -r root@192.168.0.101:/var/www/test /var/www/

4、上传目录到服务器 scp-rlocal_dirusername@servername:remote_dir

上一篇:php学习日志(5)-解决Windows Live Writer错误:WindowsLive.Writer.CoreServices.HttpRequestHelper的类型初始值设定发生异常


下一篇:使用SSH命令行传输文件到远程服务器