像cd命令一样使用scp命令

还在到处查scp命令的使用?
花5分钟读完本篇文章你会有不一样的想法

痛点

  • scp命令很简单,但是大多数人要用的时候才去查
  • 忘记传输端口号,又要查半天
  • 如果要递归复制,又要回去查命令参数
  • 即便你没有忘记命令,但是每次都写这么大一长串显得很不方便

虽然查起来也很快,但是作为一个技术人,每次都Google or 百度显得很low。如果你肯花10分钟写一个shell脚本,能带来的不止是时间上的节约,还带来精神上的快感。

先展示下最终结果吧

$ down filename  # 下载文件
$ upload filename   # 上传文件

非常简洁,我想只要还是个正常的技术人都应该不会忘记这种使用方法吧。

代码实现

其实有很多种实现方法,比如:

  • 使用Linux的alias命令
  • 使用shell脚本函数

我这里使用最难的方案吧,使用shell脚本函数传参,颇显装X。

  • 在本地随便一个目录创建一个shell脚本,随便取个名(我叫myscp.sh),编写两个函数
#!/bin/bash
# download from server or upload file to server

server=zhangsan@192.168.1.1  # your server account and ip
down_path=/Users/zhangsan/Desktop/ # local download path
upload_path=download/             # server upload path

down() {
  echo 'starting downlaod from server'
  scp -P 22 -r $server:$1 $down_path
  echo 'download finished'
}

upload() {
  echo 'starting upload to server'
  scp -P 22 -r $1 $server:$upload_path
  echo 'upload finfished'
} 
  • 最重要的一步:在.bash_profile文件中添加该shell脚本的初始化命令。其实也就是每次启动一个新的shell会话时自动把该脚本里的两个函数加载到环境变量里。这样你就可以在任何地方直接使用上面定义的down和upload函数了。
    行执行下面命令即可。注意:你要换成你自己放脚本所在的路径。
echo 'source ~/myscp.sh' >> ~/.bash_profile
  • 完活
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值