背景;之前windows情况下,直接用MobaXterm可以用旁边的ssh简单的拖动实现文件的传输。但是macOS完全新的环境,可能需要重新更改文件传输的实现。
目的:实现macOS与CentOS之间的文件互传。
目录
一、scp命令传文件
http://www.runoob.com/linux/linux-comm-scp.html
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
scp [可选参数] file_source file_target
-r: 递归复制整个目录。
1.1从本地复制到远程
命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
- 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
- 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
例如:
scp -r /home/space/music/ [email protected]:/home/root/others/
scp -r /home/space/music/ www.runoob.com:/home/root/others/
表示复制整个文件夹过去。
2.2从远程复制到本地
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例
应用实例:
scp [email protected]:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/
二、运用更方便的iTerm2加rzsz
https://segmentfault.com/a/1190000012166969
2.1 安装iTerm2
建议去官网下载 http://www.iterm2.com/
我们暂时没搞明白,CentOS服务器与macOS之间到底如何装lszrz,可能双端都需要装这个软件。所以我们先在服务器装szrz
2.2 服务器安装szrz(可能不需要)
linux下的yum install lrzsz
r与s以远程服务器为视角进行receive与send
sz: 服务器将选定的文件发送(send)到本地机器
rz:服务器receive本地来的文件。运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器
直接 sudo yum install lrzsz
这时直接输入rz就会给出报错:
*B0100000023be50ive.**B0100000023be50
因为sz和rz需要终端来实现。
终端就是你用来连接远程服务器的客户端,像是 XShell、SecureCRT、rxvt、putty,而不是macOS自带的终端,所以我们需要安装iTerm2
2.3 macOS端安装szrz
安装brew
brew 是 Mac 下的一个包管理工具,类似于 centos 下的 yum,可以很方便地进行安装/卸载/更新各种软件包
进入mac端,输入下面命令行
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
再次输入brew就会出现很多提示信息,表明安装成功。
用brew安装lrzsz
brew install lrzsz
安装成功后,我们需要对相应的文件进行配置。
2.4 配置lrzsz
进入文件夹下,
cd /usr/local/bin
此目录下配置两个文件:
- github网址: https://github.com/mmastrac/i...
- 也可以自己创建两个文件 并把内容粘贴进去
我们用第一种方法
从git上下载响应代码: git clone https://github.com/mmastrac/iterm2-zmodem.git
进入文件夹 cd iterm2-zmodem/
删除无用的指示文件 rm README.md
把两个文件移动入上级目录 mv * ../
回到上面 cd ..
删除文件夹 rm -rf iterm2-zmodem/
更改权限为777 : chmod 777 iterm2-*
2.5 iTerm2 配置添加rz sz 功能
点进iTerm2,
iTerm2 的设置界面 Perference-> Profiles -> Default -> Advanced -> Triggers 的 Edit
加入信息如下:
Regular expression: rz waiting to receive.\*\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Regular expression: \*\*B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
三、rzsz使用方法
rz上传到服务器
在bash中,也就是iTerm2终端输入rz 就会弹出文件选择框,选择文件 choose 就开始上传,会上传到当前目录
sz从服务器下载到本地
- sz fileName(你要下载的文件的名字) 回车
- 会弹出窗体 我们选择要保存的地方即可。
上传进度查看
有的rz和sz可以看到相应的文件大小,但是我们的rz和sz不知道什么原因看不到。因此下载时候可以点击文件查看属性command+i
服务器上可以另开一个终端不时地 ls -h -l 查看
四、samba
https://baike.baidu.com/item/samba/455025?fr=aladdin
https://www.jianshu.com/p/fe7fd0286c4e
samba应该为最方便的传输方法,并且可以传输大文件。
在finder界面或者桌面输入command+k、或者桌面-前往-链接服务器
其中输入samba地址即可。但是我们因为权限问题,暂时不用此方法。
后续若是使用,再回来更新。