使用iterm2 连接远程SSH时,有时有一些小文件(比如:配置文件,图片素材之类)需要下载,如果专门找个sftp软件下载感觉又太麻烦了。这时可以使用iterm提供的Base64文件下载方法。
创建download.sh
在你远程的ssh服务器中创建这个文件。
内容如下:
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: download.sh file ..."
exit 1
fi
for fn in "$@"
do
if [ -r "$fn" ] ; then
printf '\033]1337;File=name='`echo -n "$fn" | base64`";"
wc -c "$fn" | awk '{printf "size=%d",$1}'
printf ":"
base64 < "$fn"
printf '\a'
else
echo File $fn does not exist or is not readable.
fi
done
加上可执行权限
chmod +x download.sh
下载文件
比如:我要下载当前目录下的的readme.md文件,执行以下命令即可
./download.sh readme.md
这样readme.md文件就下载成功了。
下载小于10MB的文件,这种方式非常方便,如果文件过大还是建议使用sftp方式下载吧。
如下:实测下载36MB的文件。
这种下载文件相对比较慢,不是不能用,只是不推荐。
别名
上面的./download.sh readme.md
感觉命令太长了不方便,而且切换目录后不好用了,那就在环境变量里加个别名吧。
我使用的是zsh,则vim ~/.zshrc
增加下面一行
alias dl='~/.soft/download.sh '
source ~/.zshrc
这样就可以在任意目录下载文件了,运行
dl xxx.xx
就可以完成下载。