code: def put(from, to, overwrite = false, raise = true)
        ls_items = ls to, false
        if !overwrite && !ls_items.empty?
          raise Client::RuntimeError, "File [#{to}] already exist"
        end
        from = '"' + from + '"' if from.include? ' '
        to = '"' + to + '"' if to.include? ' '
        exec 'put ' + from + ' ' + to
        true
      rescue Client::RuntimeError => e
        raise e if raise
        false
      end
docs: Upload a local file
   @param [String] from The source file path (on local machine)
   @param [String] to The destination file path
   @param [Boolean] overwrite Overwrite if exist on server?
   @param [Boolean] raise raise Error or just return +false+
   @return [Boolean] true on success